IOCTL_KS_HANDSHAKE IOCTL (ks.h)
Un client en mode noyau peut utiliser IOCTL_KS_HANDSHAKE pour négocier une interface entre des broches AVStream non connectées. Le client appelle KsSynchronousDeviceControl avec IOCTL_KS_HANDSHAKE et les paramètres décrits ci-dessous.
Pour tenter une liaison de protocole avec une broche déjà connectée, appelez KsPinHandshake.
Code principal
Mémoire tampon d'entrée
Le client place un pointeur vers une structure de type KSHANDSHAKE dans le paramètre InBuffer .
Longueur de la mémoire tampon d’entrée
InLength doit être égal à sizeof(KSHANDSHAKE).
Mémoire tampon de sortie
Le client place un pointeur vers une structure de type KSHANDSHAKE dans le paramètre OutBuffer . Si la demande réussit, les informations de négociation sont placées à cet emplacement.
Longueur de la mémoire tampon de sortie
OutLength doit être égal à sizeof(KSHANDSHAKE).
Bloc d’état
Si la demande réussit, IoStatus.Information est défini sur sizeof(KSHANDSHAKE).
Ce IOCTL peut être envoyé à partir du mode noyau uniquement. Si la demande est envoyée à partir du mode utilisateur, le membre Status est défini sur STATUS_INVALID_DEVICE_REQUEST.
Si les paramètres InLength et OutLength dans l’appel à KsSynchronousDeviceControl ne sont pas tous deux égaux à sizeof(KSHANDSHAKE), le membre Status est défini sur STATUS_INVALID_BUFFER_SIZE.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ks.h (inclure Ks.h) |