Freigeben über


IOCTL_KS_HANDSHAKE IOCTL (ks.h)

Ein Kernelmodusclient kann IOCTL_KS_HANDSHAKE verwenden, um eine Schnittstelle zwischen nicht verbundenen AVStream-Pins auszuhandeln. Der Client ruft KsSynchronousDeviceControl mit IOCTL_KS_HANDSHAKE und den unten beschriebenen Parametern auf.

Rufen Sie KsPinHandshake auf, um einen Protokoll-Handshake mit einer Pin zu versuchen, die bereits verbunden ist.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Der Client platziert einen Zeiger auf eine Struktur vom Typ KSHANDSHAKE im InBuffer-Parameter .

Eingabepufferlänge

InLength muss gleich sizeof(KSHANDSHAKE) sein.

Ausgabepuffer

Der Client platziert einen Zeiger auf eine Struktur vom Typ KSHANDSHAKE im OutBuffer-Parameter . Wenn die Anforderung erfolgreich ist, werden Handshakeinformationen an diesem Speicherort platziert.

Länge des Ausgabepuffers

OutLength muss gleich sizeof(KSHANDSHAKE) sein.

Statusblock

Wenn die Anforderung erfolgreich ist, wird IoStatus.Information auf sizeof(KSHANDSHAKE) festgelegt.

Diese IOCTL kann nur aus dem Kernelmodus gesendet werden. Wenn die Anforderung aus dem Benutzermodus gesendet wird, wird das Statuselement auf STATUS_INVALID_DEVICE_REQUEST festgelegt.

Wenn die Parameter InLength und OutLength im Aufruf von KsSynchronousDeviceControl nicht gleich sizeof(KSHANDSHAKE) sind, wird das Statuselement auf STATUS_INVALID_BUFFER_SIZE festgelegt.

Anforderungen

Anforderung Wert
Header ks.h (einschließlich Ks.h)

Weitere Informationen

AVStrMiniPinHandshake

KSHANDSHAKE

KsPinHandshake

KsPinRegisterHandshakeCallback