LDicomNet::EnableOptimizedMemorySend

#include "ltdic.h"

L_VOID LDicomNet::EnableOptimizedMemorySend(bEnable)

L_BOOL bEnable;

flag

Enables or disables optimized memory sending.

Parameter Description
bEnable Flag that enables or disables optimized memory sending. Possible values are:
Value Meaning
L_TRUE Enables optimized memory sending.
L_FALSE Disables optimized memory sending.

Returns

0

SUCCESS

<> 0

An error occurred. Refer to Return Codes.

Comments

When sending a huge file to a server, the toolkit might allocate big memory buffers, use this function to optimize the memory usage to minimum possible. However, security mode should be set to DICOM_SECURE_NONE for this option to work.

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:

LDicomNet::LDicomNet; LDicomNet::Initialize; Class Members

Topics:

Working with DICOM Network Connections

Example

#define MAKE_IMAGE_PATH(pFileName) TEXT("C:\\Users\\Public\\Documents\\LEADTOOLS Images\\")pFileName 
L_INT LDicomNet__SendCStoreRequestExample(LMyDicomNet *m_pDicomNet) 
{ 
   //This example sends an C-Store Request to a server 
   //In this example: 
   // 
   //1. LMyDicomNet is a class derived from LDicomNet 
   //2. LMyDicomNet has the following member variables: 
   //       m_nClientOrServer:  can be (STATUS_NONE, STATUS_SERVER, STATUS_CLIENT) 
   //                           identifieds the LMyDicomNet object as a server or a client 
   //       m_nDataCommand:     can be (COMMAND_C_MOVE,COMMAND_C_GET) 
   //                           set so the server knows how a C-Store Response was generated 
   // 
   //3. m_pDicomNet points to a valid LMyDicomNet object 
   //      LMyDicomNet *m_pDicomNet 
   // 
   //4. A connection exists between client and server 
   //5. An association exists between the client and server 
   L_INT nRet; 
   pDICOMELEMENT pDicomElement; 
   CString strMsg= TEXT("C-Store\n"); 
   //Pick a dicom file to send as the data set 
   LDicomDS DicomDS; 
   nRet =DicomDS.LoadDS(MAKE_IMAGE_PATH(TEXT("IMAGE1.dcm")),0); 
   if(nRet > 0) 
      return nRet; 
   //Find element with TAG == TAG_SOP_INSTANCE_UID 
   pDicomElement = DicomDS.FindFirstElement(NULL, TAG_SOP_INSTANCE_UID, FALSE); 
   //Get first string in Value Field of dicom element 
   CString strInstanceUID = DicomDS.GetStringValue(pDicomElement,  //dicom element 
   0,              //index 
   1               //count 
   ); 
   //Get first element 
   pDicomElement = DicomDS.FindFirstElement(NULL, TAG_SOP_CLASS_UID, FALSE); 
   CString strClassUID = DicomDS.GetStringValue(pDicomElement, 0, 1); 
   //Get the associate object 
   LDicomAssociate *pDicomAssociate = m_pDicomNet->GetAssociate(); 
   //See if class is supported in the assocation 
   L_UCHAR nPresentationID = pDicomAssociate->FindAbstract((L_TCHAR *)(LPCTSTR)strClassUID); 
   //nPresentationID must be odd--0 indicates failure 
   if (nPresentationID==0) 
   { 
      CString strTmp; 
      strTmp.Format(TEXT("Abstract Syntax[%s] Not Included in the Association"), strClassUID); 
      strMsg = strMsg + strTmp; 
   } 
   else 
   { 
      L_UINT16 uUniqueID = 99; 
      m_pDicomNet->m_FileCount = 0;  //used for file name in OnReceiveCStoreRequest event 
      nRet =m_pDicomNet->SendCStoreRequest(  nPresentationID, 
      uUniqueID, 
      (L_TCHAR *)(LPCTSTR)strClassUID, 
      (L_TCHAR *)(LPCTSTR)strInstanceUID, 
      COMMAND_PRIORITY_MEDIUM, 
      TEXT(""), 
      0, 
      &DicomDS); 
      if(nRet > 0) 
         return nRet; 
   } 
   AfxMessageBox(strMsg); 
   return DICOM_SUCCESS; 
} 

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS DICOM C++ Class Library Help