Freigeben über


NDK_RESULT_EX Struktur (ndkpi.h)

Die NDK_RESULT_EX Struktur gibt die Ergebnisse für einen NDK-Anforderungsvorgang zurück. Sie ist identisch mit der NDK_RESULT-Struktur, mit der Ausnahme, dass sie zusätzliche Type und TypeSpecificCompletionOutput-Member aufweist.

Syntax

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;

Angehörige

Status

Der NDK-Anforderungsabschlussstatus.

BytesTransferred

Die Anzahl der übertragenen Bytes. Der Wert dieses Elements ist nur für NdkReceive (NDK_FN_RECEIVE) Anforderungsabschluss gültig. Das Element ist für alle anderen NDK-Anforderungsabschlusse nicht definiert.

QPContext

Ein Kontextwert für alle Anforderungen, die über ein Warteschlangenpaar (QP) bereitgestellt werden. Der NDK-Consumer hat diesen Zeiger angegeben, wenn er die NdkCreateQp- (NDK_FN_CREATE_QP) -Funktion aufgerufen hat, um das NDK_QP-Objekt zu erstellen.

RequestContext

Ein anforderungskontextwert, der vom NDK-Consumer angegeben wird, wenn eine Anforderung gepostet wird.

Type

Ein NDK_OPERATION_TYPE Enumerationswert, der den Typ des Vorgangs angibt, der abgeschlossen wird.

ProviderErrorCode

Wenn Status STATUS_SUCCESS zurückgibt, muss ProviderErrorCodenullsein.

Wenn Status keine STATUS_SUCCESS zurückgibt, gibt Null an, dass der NDK-Anbieter die ProviderErrorCode- funktion noch nicht unterstützt oder keinen Fehlercode bereitgestellt hat. Ein Wert ungleich Null stellt zusätzliche Anbieterinformationen bereit, um den Status Code zu diagnostizieren.

ProviderErrorCode verwendet Abstand, der nur auf 64-Bit-Systemen verfügbar ist. Bei 32-Bit-Systemen ist dieser Abstand nicht verfügbar, und wenn ProviderErrorCodeNull-zurückgibt, kann dies Null- Zeiger verursachen. Dieses Problem tritt auf, wenn der Speicher falsch als Wert für den TypeSpecificCompletionOutput Zeiger umgeschrieben wird. Es ist wichtig zu beachten, dass der Schnittstellenvertrag unterbrochen wird, wenn der Anbieter ein NDK 2.1-Speicherlayout verwendet, das ProviderErrorCodeenthält, während der Consumer weiterhin ein NDK 2.0-Speicherlayout ohne dieses neue Feld verwendet. Daher ist diese Struktur nicht mehr abwärtskompatibel für 32-Bit-Systeme zwischen 2.1 und 2.1-Versionen.

TypeSpecificCompletionOutput

Die typspezifische Vervollständigungsausgabe( falls vorhanden). Wenn der Type Member NdkOperationTypeReceiveAndInvalidateist, ist dieses Element ein 32-Bit-Feld, das das Token enthält, das vor dem Signalisieren dieses Abschlusses ungültig wird. Andernfalls ist dieses Element nicht definiert.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.40 und höher.
mindestens unterstützte Server- Windows Server 2012 R2
Header- ndkpi.h (include Ndkpi.h)

Siehe auch

NDK_FN_CREATE_QP

NDK_OPERATION_TYPE

NDK_QP

NDK_RESULT