IOCTL_STORAGE_CHECK_VERIFY IOCTL (ntddstor.h)
Détermine si le média a changé sur un périphérique multimédia amovible que l’appelant a ouvert pour l’accès en lecture ou en écriture. Si l’accès en lecture ou en écriture à l’appareil n’est pas nécessaire, l’appelant peut améliorer les performances en ouvrant l’appareil avec FILE_READ_ATTRIBUTES et en émettant unedemande de IOCTL_STORAGE_CHECK_VERIFY2 à la place.
Pour plus d’informations, consultez Prise en charge du support amovible.
Code principal
Mémoire tampon d'entrée
Aucun.
Longueur de la mémoire tampon d’entrée
Aucun.
Mémoire tampon de sortie
Si vous le souhaitez, pour les appareils de disque et de CD-ROM, Irp-AssociatedIrp.SystemBuffer> pointe vers une mémoire tampon pour recevoir le nombre de modifications multimédias. Le pilote remplit cette mémoire tampon uniquement si Parameters.DeviceIoControl.OutputBufferLength était différent de zéro et si la valeur de retour est STATUS_SUCCESS. Le nombre de modifications de média est un ULONG indiquant le nombre de fois où le média a changé depuis le démarrage du pilote.
Sinon, cette requête n’a pas de sortie.
Longueur de la mémoire tampon de sortie
Si vous le souhaitez, pour les appareils de disque et de CD-ROM, Parameters.DeviceIoControl.OutputBufferLength dans l’emplacement de la pile d’E/S de l’IRP indique la taille, en octets, d’une mémoire tampon, qui doit être >= sizeof(ULONG). Ce champ est égal à zéro si la mémoire tampon facultative n’est pas spécifiée.
Sinon, cette requête n’a aucune entrée.
Bloc d’état
Si un pilote de disque ou de CD-ROM n’a aucune indication que le média a changé, le pilote définit le champ État sur STATUS_SUCCESS. En outre, si la mémoire tampon de modification de média facultative a été spécifiée, le pilote retourne le nombre de modifications de média dans la mémoire tampon sur Irp-AssociatedIrp.SystemBuffer> et définit le champ d’informations sur sizeof(ULONG). Si la mémoire tampon de modification de média facultative n’a pas été spécifiée, le pilote définit Information sur zéro.
Si le pilote détecte que le média a changé et que le volume est monté (VPB_MOUNTED est défini dans le VPB), il doit :
- Définissez Informations sur zéro.
- Définissez État sur STATUS_VERIFY_REQUIRED.
- Définissez l’indicateur DO_VERIFY_VOLUME dans DeviceObject.
- Appelez IoCompleteRequest avec l’IRP d’entrée.
- Définissez État sur STATUS_IO_DEVICE_ERROR.
- Définissez Informations sur zéro.
- Appelez IoCompleteRequest avec l’IRP.
Pour un pilote de bande, le champ Informations est défini sur zéro et le champ État est défini sur STATUS_SUCCESS, ou éventuellement sur STATUS_VERIFY_REQUIRED.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | ntddstor.h (inclure Ntddstor.h) |