NDK_FN_BIND回呼函式 (ndkpi.h)
NdkBind (NDK_FN_BIND) 函式會將記憶體視窗系結至記憶體區域的特定子區域, (MR) 。
語法
NDK_FN_BIND NdkFnBind;
NTSTATUS NdkFnBind(
[in] NDK_QP *pNdkQp,
[in, optional] PVOID RequestContext,
[in] NDK_MR *pMr,
[in] NDK_MW *pMw,
[in] PVOID VirtualAddress,
[in] SIZE_T Length,
[in] ULONG Flags
)
{...}
參數
[in] pNdkQp
NDK 佇列組的指標, (QP) 物件 (NDK_QP) 。
[in, optional] RequestContext
要在此要求之 NDK_RESULT 結構的 RequestContext 成員中傳回的內容值。
[in] pMr
NDK 記憶體區域的指標, (MR) 物件 (NDK_MR) 。
[in] pMw
NDK 記憶體視窗的指標 () (NDK_MW) 。
[in] VirtualAddress
虛擬地址必須大於或等於 MR 之 MDL 的虛擬位址,以及小於 MR 之 MDL 的虛擬位址加上 Length 參數中的值。
使用 MmGetMdlVirtualAddress 宏來取得 MR 之 MDL 的虛擬位址。
[in] Length
要系結至 SSL 的 MR 長度。
[in] Flags
旗標的位 OR,指定允許的作業。 支援下列旗標:
值 | 意義 |
---|---|
|
指出此要求成功完成不會在輸出完成佇列中產生完成事件。 不過,失敗的要求會在完成佇列中產生完成。 |
|
表示在硬體開始處理此要求之前,必須先完成所有先前的讀取要求。 |
|
針對任何已連線的對等,啟用記憶體視窗的讀取許可權。 若要存取記憶體視窗,連接的對等必須具有有效的令牌。 |
|
針對任何連接的對等啟用記憶體視窗的寫入許可權。 若要存取記憶體視窗,連接的對等必須具有有效的令牌。 |
|
向NDK提供者指出其可能會延遲,指出硬體要求進行處理。 如需此旗標的詳細資訊,請參閱 NDKPI 延遲處理配置。
注意只有 NDKPI 1.2 (Windows Server 2012 R2) 及更新版本才支援此旗標。 |
傳回值
NdkBind 函式會傳回下列其中一個NTSTATUS代碼。
傳回碼 | Description |
---|---|
|
要求已成功張貼。 完成專案會在工作要求完成時排入 CQ。 |
|
佇列組 (QP) 未連線。 |
|
記憶體區域不允許記憶體視窗所要求的存取類型。 NDK_OP_FLAG_ALLOW_WRITE旗標需要向 NDK_MR_FLAG_ALLOW_LOCAL_WRITE 旗標註冊的記憶體區域。 |
|
發生錯誤。 |
備註
NdkBind 會將記憶體視窗 ( () 系結至記憶體區域的特定子區域, (MR) 。
VirtualAddress 參數中的位址必須是虛擬連續區域內的位址,該位址是由記憶體註冊期間指定的 MDL 鏈結所描述。 提供者必須將地址視為記憶體區域中的索引。 提供者不得使用地址作為讀取或寫入緩衝區內容的有效虛擬位址。
此呼叫傳回之後, NdkGetRemotetokenFromMw 函式會提供遠端令牌 (NDK_FN_GET_REMOTE_TOKEN_FROM_MW) 。
此函式不支援以零起始的虛擬位址。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 不支援,NDIS 6.30 和更新版本中支援。 |
最低支援的伺服器 | Windows Server 2012 |
目標平台 | Windows |
標頭 | ndkpi.h (包括 Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |