L_DicomGetPeerAuthDataISCL

#include "ltdic.h"

L_LTDIC_API L_UINT32 L_DicomGetPeerAuthDataISCL(hNet, pBuffer, nLength)

HDICOMNET hNet;

/* handle to an existing DICOM Network */

L_VOID *pBuffer;

/* pointer to a buffer */

L_UINT32 *nLength;

/* pointer to a 32-bit unsigned integer */

Gets the authentication data the peer computer sent during mutual authentication. This function is available in the PACS Imaging toolkits.

Parameter

Description

hNet

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

pBuffer

Pointer to a buffer to be updated with the authentication data of the peer computer. This buffer must be 128 bytes long to hold the longest possible authentication data.

nLength

Pointer to an integer variable. This variable contains initially the size of the pBuffer array. After this function returns, it is updated with the actual size of the peer authentication data.

Returns

DICOM_SUCCESS

Success. The peer authentication data were copied into pBuffer and the variable pointed to by nLength was updated with the length of the authentication data.

DICOM_ERROR_PARAMETER

A parameter error occurred. The authentication data could not be retrieved. (pBuffer is NULL, or the value pointed to by nLength is not large enough to contain the entire peer authentication data.). Refer to Return Codes.

Comments

If pBuffer is NULL or the value pointed to by nLength (size of pBuffer) is too small for the peer authentication data, the return value is DICOM_ERROR_PARAMETER and *nLength is updated with the required length of the peer authentication data. No other actions are performed.

The receiver of a message can only call this function, if the message is not successfully received.

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_DicomCreateNet, L_DicomStartUp, L_DicomGetPeerMACISCL, L_DicomGetPeerEncryptionISCL, L_DicomGetPeerRequestedMessageLengthISCL

Topics:

DICOM Net: Authentication Data, mode and process

 

Sending and Receiving Messages

 

General Integrated Secure Communication Layer (ISCL) Information

Example

#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName


L_INT DicomGetPeerAuthDataISCLExample(L_VOID)
{
   // After a successful connect
   HDICOMNET hNet = NULL;
   L_TCHAR peerAuthData[128];
   L_UINT32 n = 128;
   L_INT nRet;

   hNet = L_DicomCreateNetExt(MAKE_IMAGE_PATH(TEXT("")),DICOM_SECURE_ISCL, NULL);

   nRet = L_DicomGetPeerAuthDataISCL(hNet, peerAuthData, &n);
   if (nRet != DICOM_SUCCESS)
      return nRet;

   L_TCHAR strMsg[200];
   wsprintf(strMsg, TEXT("Connected with the peer identified by: %s\n"), peerAuthData);
   MessageBox(NULL, strMsg, TEXT(""), MB_OK);
   return DICOM_SUCCESS;
};