GetExtendedDataLength Method (original) (raw)
Summary
Gets the length of the extended data associated with the specified Presentation Context.
Syntax
public int GetExtendedDataLength(
byte _id_
)
- (NSUInteger)lengthOfExtendedDataForID:(uint8_t)ID;
public:
int GetExtendedDataLength(
byte _id_
)
Parameters
id
Presentation Context ID of the Presentation Context from which to retrieve the length of 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
The length of the extended data of 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();
}