L_DicomGetStatusISCL

#include "ltdic.h"

L_LTDIC_API L_UINT32 L_DicomGetStatusISCL(hNet)

Returns the internal ISCL status when an error occurs.

Parameters

HDICOMNET hNet

Handle to an existing DICOM Network. This is the handle returned from the L_DicomCreateNet function.

Returns

Returns a value that indicates the internal status. Possible values are:

Value Meaning
0 Not connected.
1 Wait for line connection check request.
2 Got a line connection check request.
3 Wait for mutual authentication request.
4 Got mutual authentication request.
5 Wait for mutual authentication pass 1.
6 Got mutual authentication pass 1.
7 Wait for mutual authentication pass 3.
8 Got mutual auth pass 3.
11 Wait for message transmission response.
12 Encrypt and send message.
14 Compute, encrypt and send MAC.
16 Wait for random number for generating session key response.
33 Wait for line disconnection response.
50 Wait for line connection response.
51 Got line connection response, sending mutual authentication request.
52 Wait for mutual authentication response.
53 Sending mutual authentication pass 1.
54 Wait for mutual authentication pass 2.
55 Got mutual authenticate pass 2, sending mutual authenticate pass 3.
56 Wait for mutual authentication completion.
57 Neutral status.
22 Wait for random number for generating key request.
23 Computing session key.
24 Wait for packets with data.
25 Received all data, wait for MAC code.

Comments

The current ISCL status is set to neutral if certain errors occur, and to 0 if other errors occur.

Use returned error codes with the ISCL internal status returned by this function, to find where a error occurred. For example, DICOM_ERROR_ISCL_LOCAL_ICCARD can occur during GetChallenge, InternalAuthenticate or ExternalAuthenticate.

Required DLLs and Libraries

Platforms

Win32, x64.

See Also

Functions

Topics

Example

In this example, assume an error occurs in RECEIVECALLBACK. The code to determine why this happened should look like this:

L_VOID EXT_CALLBACK myRECEIVECALLBACK(HDICOMNET hNet, L_INT nError, L_UCHAR nType, L_UCHAR *pBuffer, L_UINT32 nBytes, L_VOID *pUserData) 
{ 
   UNREFERENCED_PARAMETER(nType); 
   UNREFERENCED_PARAMETER(pBuffer); 
   UNREFERENCED_PARAMETER(pUserData); 
   UNREFERENCED_PARAMETER(nBytes); 
    
   // . . . . . .  
   if(nError == DICOM_ERROR_ISCL_DECRYPT) 
   { 
      if(L_DicomGetStatusISCL(hNet) == 24) 
      { 
         // error decrypting message data 
         MessageBox(NULL, TEXT("Error decrypting message"),TEXT( ""), MB_OK); 
      } 
      if(L_DicomGetStatusISCL(hNet) == 25) 
      { 
         // error decrypting MAC code 
         MessageBox(NULL, TEXT("Error decrypting MAC code"),TEXT( ""), MB_OK); 
      } 
   } 
   // . . . 
} 

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS DICOM C API Help