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) |