C#
C++/CLI
public void SetExtendedData(
byte id,
IntPtr data,
int dataLength
)
public:
void SetExtendedData(
byte id,
IntPtr data,
int dataLength
)
id
Presentation Context ID of the Presentation Context to which to set the extended data. The ID provides information about both the class type of the data and the Transfer Syntax to use when transferring the data. It also identifies a specific Presentation Context within an Associate.
data
Pointer to a buffer that contains the data to set.
dataLength
Length of the data.
To retrieve the length of the extended data associated with a Presentation Context, call GetExtendedDataLength. To get the extended data associated with a Presentation Context, call GetExtendedData or GetExtendedDataPtr.
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();
}