L_DicomGetStatusISCL
#include "ltdic.h"
L_LTDIC_API L_UINT32 L_DicomGetStatusISCL(hNet)
HDICOMNET hNet; |
/* handle to an existing DICOM Network */ |
Returns the internal ISCL status when an error occurs.
Parameter |
Description |
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
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 |
See Also
Functions: |
|
Topics: |
|
|
|
|
General Integrated Secure Communication Layer (ISCL) Information |
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); } } // . . . }