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 einem bereits verbundenen Pin zu versuchen.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

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

Eingabepufferlänge

InLength-muss der Größe (KSHANDSHAKE) entsprechen.

Ausgabepuffer

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

Länge des Ausgabepuffers

OutLength-muss der Größe (KSHANDSHAKE) entsprechen.

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 (enthalten Ks.h)

Siehe auch

AVStrMiniPinHandshake

KSHANDSHAKE

KsPinHandshake

KsPinRegisterHandshakeCallback-