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 |
---|---|
|
此例程所需的非分頁集區內存配置失敗。 |
|
根據指定的 Options,在 SendLength 參數中傳遞了無效的長度。 |
備註
在 RxCeSendDatagram 中使用的 Options 參數中所指出的異步和同步選項會區分兩種情況。 在異步案例中,當要求成功提交至基礎傳輸之後,控件就會返回呼叫端。 任何指定要求的結果會使用 SendCompletion 回 呼例程來傳回。 RxCeSendDatagram 中的 pCompletionContext 參數會在回呼例程中傳回,以協助呼叫端釐清要求。
在同步案例中,要求會提交至基礎傳輸,而且控件在要求完成之前不會返回呼叫端。 請注意,在同步案例中, 會忽略 pCompletionContext 參數,而傳回的狀態會對應至作業的完成狀態。
異步和同步選項的優點取決於基礎傳輸。 在虛擬線路環境中 (TCP,例如) ,同步選項表示控件在數據到達伺服器之前不會傳回。 另一方面,針對數據報導向傳輸 (UDP,例如) ,這兩個選項之間的差異很小。
請注意,同步 選項 會忽略傳送數據報,因為基礎傳輸不會封鎖數據報傳送。
RXCE_CONNECTION_INFORMATION 是 TDI_CONNECTION_INFORMATION 結構的 typedef。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | rxce.h (包括 Rxce.h、Tdi.h) |
IRQL | <= APC_LEVEL |