GetExtendedDataPtr Method (original) (raw)

Summary

Gets the extended data associated with the specified Presentation Context.

Syntax

public IntPtr GetExtendedDataPtr( byte _id_ )

public: IntPtr GetExtendedDataPtr( byte _id_ )

Parameters

id
Presentation Context ID of the Presentation Context from which to retrieve 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.

Return Value

Pointer to a buffer that contains the extended data for the specified Presentation Context of the DICOM Associate.

Example

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(); }