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 une demande deIOCTL_STORAGE_CHECK_VERIFY2 à la place.
Pour plus d’informations, consultez prise en charge des supports amovibles.
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.SystemBu ffer pointe vers une mémoire tampon pour recevoir le nombre de modifications de média. Le pilote remplit cette mémoire tampon uniquement si Parameters.DeviceIoControl.OutputBufferLength n’a pas été zéro et que la valeur de retour est STATUS_SUCCESS. Le nombre de modifications multimédias est un ULONG indiquant combien de fois 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 à l’emplacement de la pile d’E/S de l’IRP indique la taille, en octets, d’une mémoire tampon, qui doit être >= taille de(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 pas d’entrée.
Bloc d’état
Si un disque ou un pilote CD-ROM n’a aucune indication que le support a changé, le pilote définit le champ État de sur STATUS_SUCCESS. En outre, si la mémoire tampon facultative de modification du support a été spécifiée, le pilote retourne le nombre de modifications multimédias dans la mémoire tampon à Irp->AssociatedIrp.SystemBuffer et définit le champ Information sur taille de(ULONG). Si la mémoire tampon facultative de modification du support n’a pas été spécifiée, le pilote définit Informations 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 Information sur zéro.
- Définissez d’état sur STATUS_VERIFY_REQUIRED.
- Définissez l’indicateur DO_VERIFY_VOLUME dans le DeviceObject.
- Appelez IoCompleteRequest avec l’IRP d’entrée.
- Définissez d’état sur STATUS_IO_DEVICE_ERROR.
- Définissez Information 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 d’état est défini sur STATUS_SUCCESS, ou éventuellement sur STATUS_VERIFY_REQUIRED.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | ntddstor.h (include Ntddstor.h) |