Compartilhar via


IOCTL_MOUNTDEV_QUERY_DEVICE_NAME IOCTL (mountmgr.h)

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

O suporte para esse IOCTL pelos clientes do mount manager é 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 >AssociatedIrp.SystemBuffer . O nome do dispositivo deve ser inserido no endereço apontado pelo Name membro 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 de Informações é definido como FIELD_OFFSET(MOUNTDEV_NAME, Name) + output->NameLength ou, como alternativa, saída->NameLength + sizeof(USHORT), onde 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 ao comprimento da cadeia de caracteres terminada por NULL que contém o nome do dispositivo e o campo status para STATUS_SUCCESS.

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

Observações

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 interprocesso (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)

Consulte também

MOUNTDEV_NAME