本文整理汇总了C#中Dicom.Network.RawPDU.Write方法的典型用法代码示例。如果您正苦于以下问题:C# RawPDU.Write方法的具体用法?C# RawPDU.Write怎么用?C# RawPDU.Write使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Dicom.Network.RawPDU
的用法示例。
在下文中一共展示了RawPDU.Write方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Write
/// <summary>
/// Writes A-ABORT to PDU buffer
/// </summary>
/// <returns>PDU buffer</returns>
public RawPDU Write() {
RawPDU pdu = new RawPDU((byte)0x07);
pdu.Write("Reserved", (byte)0x00);
pdu.Write("Reserved", (byte)0x00);
pdu.Write("Source", (byte)_s);
pdu.Write("Reason", (byte)_r);
return pdu;
}
示例2: Write
/// <summary>
/// Writes A-ASSOCIATE-RQ to PDU buffer
/// </summary>
/// <returns>PDU buffer</returns>
public RawPDU Write()
{
RawPDU pdu = new RawPDU((byte)0x01);
pdu.Write("Version", (ushort)0x0001);
pdu.Write("Reserved", 0x00, 2);
pdu.Write("Called AE", _assoc.CalledAE, 16, ' ');
pdu.Write("Calling AE", _assoc.CallingAE, 16, ' ');
pdu.Write("Reserved", 0x00, 32);
// Application Context
pdu.Write("Item-Type", (byte)0x10);
pdu.Write("Reserved", (byte)0x00);
pdu.MarkLength16("Item-Length");
pdu.Write("Application Context Name", DicomUID.DICOMApplicationContextName.UID);
pdu.WriteLength16();
foreach (var pc in _assoc.PresentationContexts)
{
// Presentation Context
pdu.Write("Item-Type", (byte)0x20);
pdu.Write("Reserved", (byte)0x00);
pdu.MarkLength16("Item-Length");
pdu.Write("Presentation Context ID", (byte)pc.ID);
pdu.Write("Reserved", (byte)0x00, 3);
// Abstract Syntax
pdu.Write("Item-Type", (byte)0x30);
pdu.Write("Reserved", (byte)0x00);
pdu.MarkLength16("Item-Length");
pdu.Write("Abstract Syntax UID", pc.AbstractSyntax.UID);
pdu.WriteLength16();
// Transfer Syntax
foreach (DicomTransferSyntax ts in pc.GetTransferSyntaxes())
{
pdu.Write("Item-Type", (byte)0x40);
pdu.Write("Reserved", (byte)0x00);
pdu.MarkLength16("Item-Length");
pdu.Write("Transfer Syntax UID", ts.UID.UID);
pdu.WriteLength16();
}
pdu.WriteLength16();
}
// User Data Fields
pdu.Write("Item-Type", (byte)0x50);
pdu.Write("Reserved", (byte)0x00);
pdu.MarkLength16("Item-Length");
// Maximum PDU
pdu.Write("Item-Type", (byte)0x51);
pdu.Write("Reserved", (byte)0x00);
pdu.Write("Item-Length", (ushort)0x0004);
pdu.Write("Max PDU Length", (uint)_assoc.MaximumPDULength);
// Implementation Class UID
pdu.Write("Item-Type", (byte)0x52);
pdu.Write("Reserved", (byte)0x00);
pdu.MarkLength16("Item-Length");
pdu.Write("Implementation Class UID", DicomImplementation.ClassUID.UID);
pdu.WriteLength16();
// Asynchronous Operations Negotiation
if (_assoc.MaxAsyncOpsInvoked != 1 || _assoc.MaxAsyncOpsPerformed != 1)
{
pdu.Write("Item-Type", (byte)0x53);
pdu.Write("Reserved", (byte)0x00);
pdu.Write("Item-Length", (ushort)0x0004);
pdu.Write("Asynchronous Operations Invoked", (ushort)_assoc.MaxAsyncOpsInvoked);
pdu.Write("Asynchronous Operations Performed", (ushort)_assoc.MaxAsyncOpsPerformed);
}
foreach (var pc in _assoc.PresentationContexts)
{
if (pc.UserRole.HasValue || pc.ProviderRole.HasValue)
{
pdu.Write("Item-Type", (byte)0x54);
pdu.Write("Reserved", (byte)0x00);
pdu.MarkLength16("Item-Length");
pdu.MarkLength16("UID-Length");
pdu.Write("Abstract Syntax UID", pc.AbstractSyntax.UID);
pdu.WriteLength16();
pdu.Write("SCU Role", pc.UserRole.GetValueOrDefault() ? (byte)1 : (byte)0);
pdu.Write("SCP Role", pc.ProviderRole.GetValueOrDefault() ? (byte)1 : (byte)0);
pdu.WriteLength16();
}
}
// Implementation Version
pdu.Write("Item-Type", (byte)0x55);
pdu.Write("Reserved", (byte)0x00);
pdu.MarkLength16("Item-Length");
pdu.Write("Implementation Version", DicomImplementation.Version);
pdu.WriteLength16();
//.........这里部分代码省略.........
示例3: Write
/// <summary>
/// Writes A-ASSOCIATE-RQ to PDU buffer
/// </summary>
/// <returns>PDU buffer</returns>
public RawPDU Write()
{
RawPDU pdu = new RawPDU((byte)0x01);
pdu.Write("Version", (ushort)0x0001);
pdu.Write("Reserved", 0x00, 2);
pdu.Write("Called AE", _assoc.CalledAE, 16, ' ');
pdu.Write("Calling AE", _assoc.CallingAE, 16, ' ');
pdu.Write("Reserved", 0x00, 32);
// Application Context
pdu.Write("Item-Type", (byte)0x10);
pdu.Write("Reserved", (byte)0x00);
pdu.MarkLength16("Item-Length");
pdu.Write("Application Context Name", DicomUID.DICOMApplicationContextName.UID);
pdu.WriteLength16();
foreach (DcmPresContext pc in _assoc.GetPresentationContexts()) {
// Presentation Context
pdu.Write("Item-Type", (byte)0x20);
pdu.Write("Reserved", (byte)0x00);
pdu.MarkLength16("Item-Length");
pdu.Write("Presentation Context ID", (byte)pc.ID);
pdu.Write("Reserved", (byte)0x00, 3);
// Abstract Syntax
pdu.Write("Item-Type", (byte)0x30);
pdu.Write("Reserved", (byte)0x00);
pdu.MarkLength16("Item-Length");
pdu.Write("Abstract Syntax UID", pc.AbstractSyntax.UID);
pdu.WriteLength16();
// Transfer Syntax
foreach (DicomTransferSyntax ts in pc.GetTransfers()) {
pdu.Write("Item-Type", (byte)0x40);
pdu.Write("Reserved", (byte)0x00);
pdu.MarkLength16("Item-Length");
pdu.Write("Transfer Syntax UID", ts.UID.UID);
pdu.WriteLength16();
}
pdu.WriteLength16();
}
// User Data Fields
pdu.Write("Item-Type", (byte)0x50);
pdu.Write("Reserved", (byte)0x00);
pdu.MarkLength16("Item-Length");
// Maximum PDU
pdu.Write("Item-Type", (byte)0x51);
pdu.Write("Reserved", (byte)0x00);
pdu.Write("Item-Length", (ushort)0x0004);
pdu.Write("Max PDU Length", (uint)_assoc.MaximumPduLength);
// Implementation Class UID
pdu.Write("Item-Type", (byte)0x52);
pdu.Write("Reserved", (byte)0x00);
pdu.MarkLength16("Item-Length");
pdu.Write("Implementation Class UID", Implementation.ClassUID.UID);
pdu.WriteLength16();
// Asynchronous Operations Negotiation
if (_assoc.NegotiateAsyncOps) {
pdu.Write("Item-Type", (byte)0x53);
pdu.Write("Reserved", (byte)0x00);
pdu.Write("Item-Length", (ushort)0x0004);
pdu.Write("Asynchronous Operations Invoked", (ushort)_assoc.AsyncOpsInvoked);
pdu.Write("Asynchronous Operations Performed", (ushort)_assoc.AsyncOpsPerformed);
}
// Implementation Version
pdu.Write("Item-Type", (byte)0x55);
pdu.Write("Reserved", (byte)0x00);
pdu.MarkLength16("Item-Length");
pdu.Write("Implementation Version", Implementation.Version);
pdu.WriteLength16();
pdu.WriteLength16();
return pdu;
}
示例4: Write
/// <summary>
/// Write PDU.
/// </summary>
/// <param name="pdu">PDU to write.</param>
public void Write(RawPDU pdu)
{
if (null != SubItem)
{
pdu.Write("Item-Type", (byte)0x56);
pdu.Write("Reserved", (byte)0x00);
pdu.MarkLength16("Item-Length");
pdu.Write("SOP Class UID Length", (ushort)(SopClassUid.UID.Length));
pdu.Write("SOP Class UID", SopClassUid.UID);
SubItem.Write(pdu);
pdu.WriteLength16();
}
}