Compartilhar via


IOCTL_MOUNTDEV_QUERY_DEVICE_NAME IOCTL (mountmgr.h)

Ao receber esse IOCTL, um driver de cliente deve fornecer o nome do dispositivo (ou destino) não persistente para o volume. O gerenciador de montagem usa o nome do dispositivo retornado pelo cliente como o destino de um link simbólico. Um exemplo de nome de dispositivo seria "\Device\HarddiskVolume1".

O suporte para esse IOCTL pelos clientes do gerenciador de montagem é obrigatório.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

Nenhum.

Comprimento do buffer de entrada

Nenhum.

Buffer de saída

O cliente do gerenciador de montagem retorna uma estrutura de comprimento variável do tipo MOUNTDEV_NAME no início do buffer em Irp-AssociatedIrp.SystemBuffer>. O nome do dispositivo deve ser inserido no endereço apontado pelo membro Name dessa estrutura.

Comprimento do buffer de saída

Parameters.DeviceIoControl.OutputBufferLength no local da pilha de E/S do IRP indica o tamanho, em bytes, do buffer de saída, que deve ser maior ou igual a sizeof(MOUNTDEV_NAME).

Bloco de status

O campo Informações é definido como FIELD_OFFSET(MOUNTDEV_NAME, Nome) + output-NameLength> ou, como alternativa, output-NameLength> + sizeof(USHORT), em que a saída aponta para o buffer em Irp-AssociatedIrp.SystemBuffer>.

Se a operação for bem-sucedida, o cliente do gerenciador de montagem deverá definir o campo Informações com o comprimento da cadeia de caracteres terminada em NULL que contém o nome do dispositivo e o campo Status como STATUS_SUCCESS.

Se o buffer de saída for muito pequeno para conter o nome do dispositivo, o cliente do gerenciador de montagem deverá definir o campo sizeof(MOUNTDEV_NAME)Informações como e o campo Status como STATUS_BUFFER_OVERFLOW. Além disso, o cliente do gerenciador de montagem preenche o membro NameLength da estrutura MOUNTDEV_NAME .

Comentários

Como prática recomendada, o implementador não deve sincronizar threads e não deve fazer chamadas de função de bloqueio e/ou comunicação entre processos (IPC).

Para obter mais informações, consulte Suporte a solicitações do Mount Manager em um driver de classe de armazenamento.

Requisitos

Requisito Valor
Cabeçalho mountmgr.h (inclua Mountmgr.h)

Confira também

MOUNTDEV_NAME