RZDCX - Fast Strike DICOM Toolkit  Release 2.0.8.7
DICOM Storage Commitment SCU

send a commit request. More...

Functions

HRESULT IDCXREQ::CommitFiles ([in] BSTR callingTitle, [in] BSTR calledTitle, [in] BSTR host, [in] unsigned short port, [in] BSTR fileList, [out, retval] BSTR *transactionUID)
 
HRESULT IDCXREQ::CommitFilesAndWaitForResult ([in] BSTR callingTitle, [in] BSTR calledTitle, [in] BSTR host, [in] unsigned short port, [in] BSTR fileList, [in] int timeToWaitForResult, [out] VARIANT_BOOL *nEventReportRecieved, [out] VARIANT_BOOL *nEventReportStatus, [out] BSTR *succeeded_instances, [out] BSTR *failed_instances, [out, retval] BSTR *transactionUID)
 Same as CommitFiles but waits for the N-EVENT-REPORT carring the result on the same association. More...
 
HRESULT IDCXREQ::CommitInstancesAndWaitForResult ([in] BSTR callingTitle, [in] BSTR calledTitle, [in] BSTR host, [in] unsigned short port, [in] BSTR instanceList, [in] int timeToWaitForResult, [out] VARIANT_BOOL *nEventReportRecieved, [out] VARIANT_BOOL *nEventReportStatus, [out] BSTR *succeeded_instances, [out] BSTR *failed_instances, [out, retval] BSTR *transactionUID)
 Same as CommitFilesAndWaitForResult but with instance UID's. More...
 
HRESULT rzdcxLib::IDCXACCEvents::OnCommitResult (VARIANT_BOOL status, BSTR transaction_uid, BSTR succeeded_instances, BSTR failed_instances)
 Called when a N-EVENT-REPORT of a Storage Commit result is recieved. The lists of succeeded and failed instances are strings with semicolon delimiter. See CommitFiles and CommitInstances for more info. More...
 

Detailed Description

send a commit request.

Function Documentation

◆ CommitFiles()

HRESULT IDCXREQ::CommitFiles ( [in] BSTR  callingTitle,
[in] BSTR  calledTitle,
[in] BSTR  host,
[in] unsigned short  port,
[in] BSTR  fileList,
[out, retval] BSTR *  transactionUID 
)

If the method fails either because association failed or the N-ACTION Response returned a non-success status, an exception is thrown. In this case we don't expect to recieve N-EVENT-REPORT.

DICOM Conformance:
  • Requested Presentation Contexts:
    • Verification SOP Class - 1.2.840.10008.1.1
    • Storage Commitment Push Model SOP Class - 1.2.840.10008.1.20.1
  • Proposed Transfer Syntaxes (for all verification and C-MOVE Model SOP Class):
    • Little Endian Implicit - 1.2.840.10008.1.2
Parameters
callingTitleCalling AE Title (us)
calledTitleCalled AE Title (them)
hostHost name or IP address (their)
portThe port number they are listening to
fileListA list of file (; separated) to commit
transactionUIDOutput Transaction UID. Use this UID to identify the Results when they arrive

◆ CommitFilesAndWaitForResult()

HRESULT IDCXREQ::CommitFilesAndWaitForResult ( [in] BSTR  callingTitle,
[in] BSTR  calledTitle,
[in] BSTR  host,
[in] unsigned short  port,
[in] BSTR  fileList,
[in] int  timeToWaitForResult,
[out] VARIANT_BOOL *  nEventReportRecieved,
[out] VARIANT_BOOL *  nEventReportStatus,
[out] BSTR *  succeeded_instances,
[out] BSTR *  failed_instances,
[out, retval] BSTR *  transactionUID 
)

Same as CommitFiles but waits for the N-EVENT-REPORT carring the result on the same association.

According to the DICOM standard, the SCU may hang up the association after recieving the N-ACTION RSP from the SCP. In this case the SCP should be capable of initiating an association to the SCU and sending the N-EVENT-REPORT. But the SCP is not required to attempt sending the result on the same association and may choose to initiate a new association even if the SCU didn't hang up. So users implementing SCM SCU are encouraged to implement a listener thread that waits for the result on a new association in any case.

Parameters
callingTitleCalling AE Title (us)
calledTitleCalled AE Title (them)
hostHost name or IP address (their)
portThe port number they are listening to
fileListA list of file (; separated) to commit
timeToWaitForResultTime in seconds to wait for the N-EVENT-REPORT to arrive on the same connection. Minimum value is 0, meaning just to check if arrived and process if did but not to wait.
nEventReportRecievedTrue if a N-EVENT-REPORT was sent on the same association by the SCP. The SCP may choose to send the N-EVENT-REPORT on a separate association.
nEventReportStatusThe N-EVENT-REPORT status. If true, all files were commited successfully. If false, either some files were not commited successfully or no N-EVENT-REPORT was recieved. Check the result files list.
succeeded_instancesSemi-colon (;) separated list constructed of pairs of sop-classes and instances UID's of the files that were found and commited by the SCP.
failed_instancesSemi-colon (;) separated list constructed of pairs of sop-classes and instances UID's of the files that were NOT found and NOT commited by the SCP.
transactionUIDOutput Transaction UID. Use this UID to identify the Results when they arrive if no N-EVENT-REPORT was recieved

◆ CommitInstancesAndWaitForResult()

HRESULT IDCXREQ::CommitInstancesAndWaitForResult ( [in] BSTR  callingTitle,
[in] BSTR  calledTitle,
[in] BSTR  host,
[in] unsigned short  port,
[in] BSTR  instanceList,
[in] int  timeToWaitForResult,
[out] VARIANT_BOOL *  nEventReportRecieved,
[out] VARIANT_BOOL *  nEventReportStatus,
[out] BSTR *  succeeded_instances,
[out] BSTR *  failed_instances,
[out, retval] BSTR *  transactionUID 
)

Same as CommitFilesAndWaitForResult but with instance UID's.

The list of instances should be constructed as follows: sop class of file 1;sop instance of file 1;sop class of file 2; ...

Parameters
callingTitleCalling AE Title (us)
calledTitleCalled AE Title (them)
hostHost name or IP address (their)
portThe port number they are listening to
instanceListSemi-colon (;) separated list constructed of pairs of sop-classes and instances UID's to commit
timeToWaitForResultTime in seconds to wait for the N-EVENT-REPORT to arrive on the same connection. Minimum value is 0, meaning just to check if arrived and process if did but not to wait.
nEventReportRecievedTrue if a N-EVENT-REPORT was sent on the same association by the SCP. The SCP may choose to send the N-EVENT-REPORT on a separate association.
nEventReportStatusThe N-EVENT-REPORT status. If true, all files were commited successfully. If false, either some files were not commited successfully or no N-EVENT-REPORT was recieved. Check the result files list.
succeeded_instancesSemi-colon (;) separated list constructed of pairs of sop-classes and instances UID's of the files that were found and commited by the SCP.
failed_instancesSemi-colon (;) separated list constructed of pairs of sop-classes and instances UID's of the files that were NOT found and NOT commited by the SCP.
transactionUIDOutput Transaction UID. Use this UID to identify the Results when they arrive if no N-EVENT-REPORT was recieved

◆ OnCommitResult()

HRESULT rzdcxLib::IDCXACCEvents::OnCommitResult ( VARIANT_BOOL  status,
BSTR  transaction_uid,
BSTR  succeeded_instances,
BSTR  failed_instances 
)

Called when a N-EVENT-REPORT of a Storage Commit result is recieved. The lists of succeeded and failed instances are strings with semicolon delimiter. See CommitFiles and CommitInstances for more info.

See also
IDCXREQ::CommitInstances