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