NDK_RESULT_EX結構 (ndkpi.h)
NDK_RESULT_EX 結構會傳回 NDK 要求作業的結果。 它與 NDK_RESULT 結構相同,不同之處在於它有額外的 Type 和 TypeSpecificCompletionOutput 成員。
語法
typedef struct _NDK_RESULT_EX {
NTSTATUS Status;
ULONG BytesTransferred;
PVOID QPContext;
PVOID RequestContext;
NDK_OPERATION_TYPE Type;
ULONG ProviderErrorCode;
ULONG_PTR TypeSpecificCompletionOutput;
} NDK_RESULT_EX;
成員
Status
NDK 要求完成狀態。
BytesTransferred
傳輸的位元元組數目。 這個成員的值只適用於 NdkReceive (NDK_FN_RECEIVE) 要求完成。 成員未定義所有其他 NDK 要求完成。
QPContext
透過佇列組 (QP) 張貼之所有要求的內容值。 NDK 取用者在呼叫 NdkCreateQp (NDK_FN_CREATE_QP) 函式來建立 NDK_QP 物件時,指定此指標。
RequestContext
NDK 取用者在張貼要求時所指定的要求內容值。
Type
NDK_OPERATION_TYPE 列舉值,指定正在完成的作業類型。
ProviderErrorCode
如果 狀態 傳回STATUS_SUCCESS,則 ProviderErrorCode必須為零。
如果 狀態 未傳回STATUS_SUCCESS,則 零 表示 NDK 提供者尚不支援 ProviderErrorCode 功能,或未提供錯誤碼。 非零 值會提供額外的提供者資訊來診斷 狀態 程序代碼。
ProviderErrorCode 只會使用 64 位系統上可用的填補。 在 32 位系統上,無法使用此填補,而且當 ProviderErrorCode 傳回 零時,可能會導致 null 指標。 當記憶體不正確地轉換成 TypeSpecificCompletionOutput 指標的值時,就會發生此問題。 請務必注意,如果提供者使用包含 ProviderErrorCode的 NDK 2.1 記憶體配置,則介面合約會中斷,而取用者仍使用沒有這個新欄位的 NDK 2.0 記憶體配置。 因此,此結構不再與 2.1 和 2.1 之前版本之間的 32 位系統回溯相容。
TypeSpecificCompletionOutput
型別特定的完成輸出,如果有的話。 如果 Type 成員 NdkOperationTypeReceiveAndInvalidate,則此成員是 32 位字段,其中包含在發出此完成訊號之前要失效的令牌。 否則,這個成員是未定義的。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | NDIS 6.40 和更新版本支援。 |
支援的最低伺服器 | Windows Server 2012 R2 |
標頭 | ndkpi.h (包括 Ndkpi.h) |