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 se trouvait au moment de l’acquisition. L’application transmet 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 la valeur 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 arrêter l’état de réinitialisation, envoyez IOCTL_KS_RESET_STATE avec la valeur 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 terminé, l’épingle peut à nouveau accepter de nouvelles données et transmettre des données à d’autres connexions.

Configuration requise

Condition requise Valeur
En-tête ks.h (inclure Ks.h)

Voir aussi

AVStrMiniFilterReset

AVStrMiniPinReset

KSFILTER_DISPATCH

KsAcquireResetValue