RxCeSendDatagram 函式 (rxce.h)

RxCeSendDatagram 會將傳輸服務數據單位 (TSDU) 沿著虛擬線路上的指定連線傳送。

語法

NTSTATUS RxCeSendDatagram(
       IN PRXCE_ADDRESS                hAddress,
  [in] IN PRXCE_CONNECTION_INFORMATION pConnectionInformation,
       IN ULONG                        SendOptions,
  [in] IN PMDL                         pMdl,
  [in] IN ULONG                        SendLength,
  [in] IN PVOID                        pCompletionContext
);

參數

hAddress

要傳送 TSDU 之傳輸的指標。

[in] pConnectionInformation

包含遠端位址之連接資訊的指標。

SendOptions

包含遠端位址之連接資訊的指標。

[in] pMdl

要傳送之緩衝區的指標。

[in] SendLength

要傳送的數據長度。

[in] pCompletionContext

SendCompletion 期間傳回給呼叫端的內容,以進行異步操作。 如果 Options 參數要求同步傳送作業,則不要忽略此參數。

傳回值

RxCeSendDatagram 會在成功時傳回STATUS_SUCCESS,或在失敗時傳回下列其中一個錯誤碼:

傳回碼 Description
STATUS_INSUFFICIENT_RESOURCES
此例程所需的非分頁集區內存配置失敗。
STATUS_INVALID_PARAMETER
根據指定的 Options在 SendLength 參數中傳遞了無效的長度。

備註

在 RxCeSendDatagram 中使用的 Options 參數中所指出的異步和同步選項會區分兩種情況。 在異步案例中,當要求成功提交至基礎傳輸之後,控件就會返回呼叫端。 任何指定要求的結果會使用 SendCompletion 回 呼例程來傳回。 RxCeSendDatagram 中的 pCompletionContext 參數會在回呼例程中傳回,以協助呼叫端釐清要求。

在同步案例中,要求會提交至基礎傳輸,而且控件在要求完成之前不會返回呼叫端。 請注意,在同步案例中, 會忽略 pCompletionContext 參數,而傳回的狀態會對應至作業的完成狀態。

異步和同步選項的優點取決於基礎傳輸。 在虛擬線路環境中 (TCP,例如) ,同步選項表示控件在數據到達伺服器之前不會傳回。 另一方面,針對數據報導向傳輸 (UDP,例如) ,這兩個選項之間的差異很小。

請注意,同步 選項 會忽略傳送數據報,因為基礎傳輸不會封鎖數據報傳送。

RXCE_CONNECTION_INFORMATIONTDI_CONNECTION_INFORMATION 結構的 typedef。

規格需求

需求
目標平台 桌面
標頭 rxce.h (包括 Rxce.h、Tdi.h)
IRQL <= APC_LEVEL

另請參閱

MDL

RxCeSend

TDI_CONNECTION_INFORMATION