IOCTL_STORAGE_CHECK_VERIFY IOCTL (ntddstor.h)
Determina se a mídia foi alterada em um dispositivo de mídia removível que o chamador abriu para acesso de leitura ou gravação. Se o acesso de leitura ou gravação ao dispositivo não for necessário, o chamador poderá melhorar o desempenho abrindo o dispositivo com FILE_READ_ATTRIBUTES e emitindo uma solicitaçãoIOCTL_STORAGE_CHECK_VERIFY2.
Para obter mais informações, consulte suporte aode mídia removível.
Código principal
Buffer de entrada
Nenhum.
Comprimento do buffer de entrada
Nenhum.
Buffer de saída
Opcionalmente, para dispositivos de disco e CD-ROM, >AssociatedIrp.SystemBuffer aponta para um buffer para receber a contagem de alterações de mídia. O driver preencherá esse buffer somente se Parameters.DeviceIoControl.OutputBufferLength não for zero e o valor retornado for STATUS_SUCCESS. A contagem de alterações de mídia é um ULONG que indica quantas vezes a mídia mudou desde que o driver começou.
Caso contrário, essa solicitação não terá saída.
Comprimento do buffer de saída
Opcionalmente, para dispositivos de disco e CD-ROM, Parameters.DeviceIoControl.OutputBufferLength no local da pilha de E/S do IRP indica o tamanho, em bytes, de um buffer, que deve ser >= tamanho de(ULONG). Esse campo será zero se o buffer opcional não for especificado.
Caso contrário, essa solicitação não terá entrada.
Bloco de status
Se um driver de disco ou CD-ROM não tiver nenhuma indicação de que a mídia foi alterada, o driver definirá o campo Status como STATUS_SUCCESS. Além disso, se o buffer de alteração de mídia opcional tiver sido especificado, o driver retornará a contagem de alterações de mídia no buffer em > AssociatedIrp.SystemBuffer e definirá o campo de Informações como tamanhos de(ULONG). Se o buffer de alteração de mídia opcional não tiver sido especificado, o driver definirá Informações como zero.
Se o driver detectar que a mídia foi alterada e o volume estiver montado (VPB_MOUNTED estiver definido na VPB), ele deverá:
- Defina de informações de como zero.
- Defina Status como STATUS_VERIFY_REQUIRED.
- Defina o sinalizador DO_VERIFY_VOLUME no DeviceObject.
- Chame IoCompleteRequest com o IRP de entrada.
- Defina Status como STATUS_IO_DEVICE_ERROR.
- Defina de informações de como zero.
- Chame IoCompleteRequest com o IRP.
Para um driver de fita, o campo informações de é definido como zero e o campo status de está definido como STATUS_SUCCESS ou possivelmente para STATUS_VERIFY_REQUIRED.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | ntddstor.h (include Ntddstor.h) |