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:

  1. Mantenha uma contagem de bloqueios na extensão de objeto do dispositivo.
  2. Mantenha a contagem de bloqueios por dispositivo físico.
  3. 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.
  4. Impedir a remoção da mídia, a menos que todas as contagens de bloqueio sejam zero.

Código principal

IRP_MJ_DEVICE_CONTROL

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)

Confira também

IOCTL_STORAGE_EJECTION_CONTROL