Available in LEADTOOLS Medical Imaging toolkits. |
#include "ltdic.h"
L_LTDIC_API L_VOID L_DicomDelTransfer(hPDU, nID, nIndex)
HDICOMPDU hPDU; |
/* a DICOM Associate handle */ |
L_UCHAR nID; |
/* presentation ID */ |
L_INT nIndex; |
/* index */ |
Deletes a Transfer Syntax from the specified Presentation Context.
Parameter |
Description |
hPDU |
A DICOM Associate handle. |
nID |
Presentation ID. The presentation ID provides information about both the class type of the data and the transfer syntax to use when transferring the data. |
nIndex |
The index of the Transfer Syntax to delete. |
Returns
None.
Comments
A DICOM Associate (Request or Accept) can have multiple Presentation Contexts. A DICOM Associate Request can have multiple Transfer Syntax entries for each Presentation Context. A Transfer Syntax can be deleted by specifying the ID for the appropriate Presentation Context and the index for the appropriate Transfer Syntax.
Required DLLs and Libraries
LTDIC For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application |
Win32, x64
See Also
Functions: |
L_DicomGetTransfer, L_DicomSetTransfer, L_DicomGetTransferCount, L_DicomAddTransfer |
Topics: |
Example
L_INT DicomDelTransferExample(HDICOMPDU hPDU) { L_UCHAR i; L_TCHAR szOut[4000]; L_UCHAR nID ; L_INT nTransferSyntaxCount; L_TCHAR szTransfer[PDU_MAX_UID_SIZE+1]; L_INT nRet; /* display each Transfer Syntax for the first Presentation Context */ lstrcpy(szOut, TEXT("Transfer Syntax")); nID = L_DicomGetPresentation(hPDU, 0); nTransferSyntaxCount = L_DicomGetTransferCount(hPDU, nID); for(i = 0; i<nTransferSyntaxCount; i++) { lstrcat(szOut, TEXT("\n")); L_DicomGetTransfer(hPDU, nID, i, szTransfer, PDU_MAX_UID_SIZE+1); lstrcat(szOut, szTransfer); } MessageBox(NULL, szOut, TEXT("Test"), MB_OK); /* add a transfer syntax */ nRet = L_DicomAddTransfer(hPDU, nID, UID_IMPLICIT_VR_LITTLE_ENDIAN); if (nRet != DICOM_SUCCESS) return nRet; /* display each Transfer Syntax */ lstrcpy(szOut, TEXT("Transfer Syntax--add a transfer syntax")); nTransferSyntaxCount = L_DicomGetTransferCount(hPDU, nID); for(i = 0; i<nTransferSyntaxCount; i++) { lstrcat(szOut, TEXT("\n")); L_DicomGetTransfer(hPDU, nID, i, szTransfer, PDU_MAX_UID_SIZE+1); lstrcat(szOut, szTransfer); } MessageBox(NULL, szOut, TEXT("Test"), MB_OK); /* change them */ nTransferSyntaxCount = L_DicomGetTransferCount(hPDU, nID); for(i = 0; i<nTransferSyntaxCount; i++) { nRet = L_DicomSetTransfer(hPDU, nID, i, UID_EXPLICIT_VR_BIG_ENDIAN); if (nRet != DICOM_SUCCESS) return nRet; } /* display each Transfer Syntax */ lstrcpy(szOut, TEXT("Transfer Syntax--add a transfer syntax")); nTransferSyntaxCount = L_DicomGetTransferCount(hPDU, nID); for(i = 0; i<nTransferSyntaxCount; i++) { lstrcat(szOut, TEXT("\n")); L_DicomGetTransfer(hPDU, nID, i, szTransfer, PDU_MAX_UID_SIZE+1); lstrcat(szOut, szTransfer); } MessageBox(NULL, szOut, TEXT("Test"), MB_OK); /* delete the last one */ nTransferSyntaxCount = L_DicomGetTransferCount(hPDU, nID); L_DicomDelTransfer(hPDU, nID, nTransferSyntaxCount - 1); /* display each Transfer Syntax */ lstrcpy(szOut, TEXT("Transfer Syntax--add a transfer syntax")); nTransferSyntaxCount = L_DicomGetTransferCount(hPDU, nID); for(i = 0; i<nTransferSyntaxCount; i++) { lstrcat(szOut, TEXT("\n")); L_DicomGetTransfer(hPDU, nID, i, szTransfer, PDU_MAX_UID_SIZE+1); lstrcat(szOut, szTransfer); } MessageBox(NULL, szOut, TEXT("Test"), MB_OK); return DICOM_SUCCESS; }