#include "ltdic.h"
L_LTDIC_API L_UINT32 L_DicomGetStatusISCL(hNet)
Returns the internal ISCL status when an error occurs.
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 a error occurred. For example, DICOM_ERROR_ISCL_LOCAL_ICCARD can occur during GetChallenge, InternalAuthenticate or ExternalAuthenticate.
Required DLLs and Libraries
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