IOCTL_STORAGE_CHECK_VERIFY IOCTL (ntddstor.h)
Determina se il supporto è cambiato in un dispositivo multimediale rimovibile aperto dal chiamante per l'accesso in lettura o scrittura. Se l'accesso in lettura o scrittura al dispositivo non è necessario, il chiamante può migliorare le prestazioni aprendo il dispositivo con FILE_READ_ATTRIBUTES e rilasciando invece una richiestadi IOCTL_STORAGE_CHECK_VERIFY2 .
Per altre informazioni, vedere Supporto di supporti rimovibili.
Codice principale
Buffer di input
Nessuno.
Lunghezza del buffer di input
Nessuno.
Buffer di output
Facoltativamente, per i dispositivi disco e CD-ROM, Irp-AssociatedIrp.SystemBuffer> punta a un buffer per ricevere il conteggio delle modifiche multimediali. Il driver riempie questo buffer solo se Parameters.DeviceIoControl.OutputBufferLength era diverso da zero e il valore restituito è STATUS_SUCCESS. Il conteggio delle modifiche multimediali è un ULONG che indica il numero di volte in cui il supporto è cambiato dopo l'avvio del driver.
In caso contrario, questa richiesta non ha alcun output.
Lunghezza del buffer di output
Facoltativamente, per i dispositivi disco e CD-ROM, Parameters.DeviceIoControl.OutputBufferLength nella posizione dello stack I/O dell'IRP indica le dimensioni, in byte, di un buffer, che deve essere >= sizeof(ULONG). Questo campo è zero se il buffer facoltativo non è specificato.
In caso contrario, questa richiesta non ha input.
Blocco dello stato
Se un driver disco o CD-ROM non indica che il supporto è cambiato, il driver imposta il campo Stato su STATUS_SUCCESS. Inoltre, se è stato specificato il buffer di modifica multimediale facoltativo, il driver restituisce il conteggio delle modifiche multimediali nel buffer in Irp-AssociatedIrp.SystemBuffer> e imposta il campo Informazioni su sizeof(ULONG). Se il buffer di modifica multimediale facoltativo non è stato specificato, il driver imposta Informazioni su zero.
Se il driver rileva che il supporto è cambiato e il volume viene montato (VPB_MOUNTED è impostato nel VPB), deve:
- Impostare Informazioni su zero.
- Impostare Stato su STATUS_VERIFY_REQUIRED.
- Impostare il flag di DO_VERIFY_VOLUME in DeviceObject.
- Chiamare IoCompleteRequest con l'IRP di input.
- Impostare Stato su STATUS_IO_DEVICE_ERROR.
- Impostare Informazioni su zero.
- Chiamare IoCompleteRequest con L'IRP .
Per un driver nastro, il campo Informazioni è impostato su zero e il campo Stato è impostato su STATUS_SUCCESS o eventualmente su STATUS_VERIFY_REQUIRED.
Requisiti
Requisito | Valore |
---|---|
Intestazione | ntddstor.h (include Ntddstor.h) |