共用方式為


NDK_RESULT_EX 結構 (ndkpi.h)

NDK_RESULT_EX 結構會傳回 NDK 要求作業的結果。 它與 NDK_RESULT 結構相同,不同之處在於它具有額外的 TypeTypeSpecificCompletionOutput 成員。

語法

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 傳回STATUS_SUCCESS, 則 ProviderErrorCode 必須為

如果 Status 未傳回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)

另請參閱

NDK_FN_CREATE_QP

NDK_OPERATION_TYPE

NDK_QP

NDK_RESULT