L_DicomDelTransfer

#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

Platforms

Win32, x64

See Also

Functions:

L_DicomGetTransfer, L_DicomSetTransfer, L_DicomGetTransferCount, L_DicomAddTransfer

Topics:

Working with DICOM Associate Connections

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;
}