IOCTL_STORAGE_MEDIA_REMOVAL IOCTL (ntddstor.h)
Bloqueia o dispositivo para impedir a remoção da mídia. Se o driver puder impedir que a mídia seja removida enquanto a unidade estiver em uso, ele desabilitará ou habilitará o mecanismo que ejeta mídia em um dispositivo – o chamador abriu para acesso de leitura ou gravação.
Ao contrário IOCTL_STORAGE_EJECTION_CONTROL, para o qual o driver rastreia solicitações por chamador, o driver ignora IOCTL_STORAGE_MEDIA_REMOVAL solicitações de desbloqueio somente se sua contagem de bloqueios já for zero, permitindo assim que qualquer chamador desbloqueie a unidade.
Um driver para um dispositivo de mídia removível que pode dar suporte a esse IOCTL deve fazer o seguinte:
- Mantenha uma contagem de bloqueios na extensão de objeto do dispositivo.
- Mantenha a contagem de bloqueios por dispositivo físico.
- Quando chamado com esse IOCTL, se o sinalizador para impedir a remoção da mídia estiver definido, incremente a contagem; se o sinalizador estiver claro, decremente a contagem.
- Impedir a remoção da mídia, a menos que todas as contagens de bloqueio sejam zero.
Código principal
Buffer de entrada
O buffer em Irp-AssociatedIrp.SystemBuffer> contém um valor booliano, com TRUE indicando que o driver deve bloquear a mídia na unidade.
Comprimento do buffer de entrada
O comprimento de um booliano.
Buffer de saída
Nenhum.
Comprimento do buffer de saída
Nenhum.
Bloco de status
O campo Informações é definido como zero. O campo Status é definido como STATUS_SUCCESS ou possivelmente para STATUS_INVALID_DEVICE_REQUEST, STATUS_NO_MEDIA_IN_DEVICE ou STATUS_DEVICE_NOT_CONNECTED.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | ntddstor.h (inclua Ntddstor.h) |