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