type
Type of the User-defined item.
data
Buffer that contains the data for the User-defined item.
User-defined items may be included in the DICOM Associate to provide any other data the user finds necessary when establishing a DICOM Associate connection. The basic structure of the User-defined item is
where the Type, Length and User Data are all determined by the user. The values shown are the lengths, in bytes, of the elements of the User-defined item.
using Leadtools;
using Leadtools.Dicom;
void BuildVerifyAssociate()
{
//Make sure to initialize the DICOM engine, this needs to be done only once
//In the whole application
DicomEngine.Startup();
using (DicomAssociate associate = new DicomAssociate(true))
{
//Role Select
associate.AddPresentationContext(1, 0, DicomUidType.VerificationClass);
associate.SetRoleSelect(1, true, DicomRoleSupport.Supported, DicomRoleSupport.Unsupported);
Debug.Assert(associate.IsRoleSelect(1) == true);
Debug.Assert(associate.GetUserRole(1) == DicomRoleSupport.Supported);
Debug.Assert(associate.GetProviderRole(1) == DicomRoleSupport.Unsupported);
//Extended Data
associate.SetExtendedData(1, new byte[] { 55 });
Debug.Assert(associate.GetExtendedDataLength(1) == 1);
byte[] extendedData = associate.GetExtendedData(1);
Debug.Assert(extendedData[0] == 55);
// We can also call GetExtendedDataPtr
//Asynchronous Operations
associate.SetAsynchronousOperations(true, 5, 5);
Debug.Assert(associate.IsAsynchronousOperations == true);
Debug.Assert(associate.InvokedOperationsCount == 5);
Debug.Assert(associate.PerformedOperationsCount == 5);
//User Information
associate.AddUserInformation(4, new byte[] { 88 });
Debug.Assert(associate.UserInformationCount == 1);
Debug.Assert(associate.GetUserInformationType(0) == 4);
Debug.Assert(associate.GetUserInformationDataLength(0) == 1);
Debug.Assert(associate.GetUserInformationDataPtr(0) != null);
byte[] userInformationData = associate.GetUserInformationData(0);
Debug.Assert(userInformationData[0] == 88);
associate.SetUserInformation(0, 3, new byte[] { 56 });
userInformationData = associate.GetUserInformationData(0);
Debug.Assert(userInformationData[0] == 56);
associate.DeleteUserInformation(0);
}
DicomEngine.Shutdown();
}
GetUserInformationDataLength Method
GetUserInformationDataPtr Method
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