Partager via


IOCTL_KS_RESET_STATE IOCTL (ks.h)

Une application peut utiliser IOCTL_KS_RESET_STATE pour retourner une épingle à l’état dans lequel elle était dans Acquérir-time. L’application passe IOCTL_KS_RESET_STATE avec les paramètres décrits ci-dessous à la fonction KsSynchronousDeviceControl.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d’entrée

Un client fournit une mémoire tampon qui contient la valeur de réinitialisation (KSRESET_BEGIN, KSRESET_END) dans le paramètre InBuffer.

Longueur de la mémoire tampon d’entrée

InLength spécifie la taille, en octets, du contenu de la mémoire tampon d’entrée.

Mémoire tampon de sortie

Aucun.

Longueur de la mémoire tampon de sortie

Aucun.

Bloc d’état

Si la demande réussit, le membre Status est défini sur STATUS_SUCCESS.

Remarques

Lancez une réinitialisation sur une broche en envoyant IOCTL_KS_RESET_STATE avec une valeur de KSRESET_BEGIN dans le paramètre InBuffer de KsSynchronousDeviceControl.

Lorsque l’état de réinitialisation est lancé, les demandes de lecture et d’écriture existantes sont annulées. Dans l’état de réinitialisation, toutes les nouvelles demandes de lecture ou d’écriture sont rejetées avec STATUS_DEVICE_NOT_READY.

Pour terminer l’état de réinitialisation, envoyez IOCTL_KS_RESET_STATE avec une valeur de KSRESET_END.

Notez que l’état de réinitialisation n’est pas annulé en modifiant l’état de l’épingle.

Lorsque l’état de réinitialisation est arrêté, l’épingle peut à nouveau accepter de nouvelles données et transmettre des données à d’autres connexions.

Exigences

Exigence Valeur
d’en-tête ks.h (include Ks.h)

Voir aussi

AVStrMiniFilterReset

AVStrMiniPinReset

KSFILTER_DISPATCH

KsAcquireResetValue