L_DicomIsAsyncOperations

#include "ltdic.h"

L_LTDIC_API L_BOOL L_DicomIsAsyncOperations(hPDU)

HDICOMPDU hPDU;

/* a DICOM Associate handle */

Determines whether Asynchronous Operations are supported.

Parameter

Description

hPDU

A DICOM Associate handle.

Returns

TRUE

The specified DICOM Associate supports Asynchronous Operations.

FALSE

The specified DICOM Associate does not support Asynchronous Operations.

Comments

If a DICOM Associate connection does not support Asynchronous Operations, then an Application Entity must wait for the response from one message before sending another. If Asynchronous Operations are supported, multiple messages may be sent without waiting for a response. The number of messages that may be sent is set using L_DicomSetAsyncOperations.

To determine the number of Asynchronous Operations that may be invoked without a response, call L_DicomGetInvokedOperations. To determine the number of operations that have been completed, call L_DicomGetPerformedOperations.

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_DicomGetInvokedOperations, L_DicomGetPerformedOperations, L_DicomSetAsyncOperations

Topics:

Working with DICOM Associate Connections

Example

L_INT DicomIsAsyncOperationsExample(HDICOMPDU hPDU)
{
   L_TCHAR szOut[800];
   L_UINT32 lInvoked;
   L_UINT32 lPerformed;
   L_INT nRet;

   /* ...Assume association has been created */
   if(L_DicomIsAsyncOperations(hPDU))
   {
      /* get the operations counts */
      lInvoked = L_DicomGetInvokedOperations(hPDU);
      lPerformed = L_DicomGetPerformedOperations(hPDU);
      
      /* now disable it */
      nRet = L_DicomSetAsyncOperations(hPDU, FALSE, 0, 0);
      if (nRet != DICOM_SUCCESS)
         return nRet;

      wsprintf(szOut, TEXT("AsyncOperations Disabled:\n\tInvoked[%d]\n\tPerformed[%d]"), lInvoked, lPerformed);
      MessageBox(NULL, szOut, TEXT("Test"), MB_OK);
   }
   else
   {
      nRet = L_DicomSetAsyncOperations(hPDU, TRUE, 0, 0);
      if (nRet != DICOM_SUCCESS)
         return nRet;

      MessageBox(NULL, TEXT("AsyncOperations Enabled"), TEXT("Test"), MB_OK);
   }

   return DICOM_SUCCESS;
}