Returns the internal ISCL status when an error occurs.
#include "ltdic.h"
L_LTDIC_API L_UINT32 L_DicomGetStatusISCL(hNet)
Handle to an existing DICOM Network. This is the handle returned from the L_DicomCreateNet function.
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. |
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 an error occurred. For example, DICOM_ERROR_ISCL_LOCAL_ICCARD can occur during GetChallenge, InternalAuthenticate or ExternalAuthenticate.
Win32, x64.
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 Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document