IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME IOCTL (mountdev.h)
IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME permite que clientes do gerenciador de montagem, como drivers de dispositivo ou volume, sugiram uma letra da unidade ou um nome de link para seus volumes associados.
O suporte para este IOCTL por clientes do gerenciador de montagem é opcional.
Código principal
Buffer de entrada
Nenhum.
Comprimento do buffer de entrada
Nenhum.
Buffer de saída
O driver cliente deve colocar uma estrutura de comprimento variável do tipo MOUNTDEV_SUGGESTED_LINK_NAME no início do buffer em Irp-AssociatedIrp.SystemBuffer>. O driver do cliente deve inserir o nome persistente sugerido 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_SUGGESTED_LINK_NAME)
.
Buffer de entrada/saída
N/D
Comprimento do buffer de entrada/saída
N/D
Bloco de status
Se a operação for bem-sucedida, o campo Informações será definido como o número total de bytes retornados e o campo Status será definido como STATUS_SUCCESS.
Se OutputBufferLength for menor que sizeof(MOUNTDEV_SUGGESTED_LINK_NAME), o campo Status será definido como STATUS_INVALID_PARAMETER.
Se OutputBufferLength for menor que o tamanho total dos dados de saída, o campo Status será definido como STATUS_BUFFER_OVERFLOW e o campo Informações será definido como sizeof(MOUNTDEV_SUGGESTED_LINK_NAME).
Comentários
Alguns clientes do gerenciador de montagem são capazes de acompanhar suas letras de unidade em reinicializações do sistema sem a ajuda do gerenciador de montagem. Esses clientes podem enviar um nome de letra de unidade sugerido ao gerenciador de montagem em resposta a esse IOCTL. O gerenciador de montagem usará o nome sugerido se o banco de dados do gerenciador de montagem ainda não contiver um nome de letra de unidade persistente para o volume do cliente. Caso contrário, ele ignora a sugestão e usa o nome da letra da unidade em seu banco de dados de nome persistente.
Os nomes das letras da unidade devem incluir o caminho completo do link simbólico no namespace do objeto e devem ter a sintaxe ms-DOS tradicional. Por exemplo, a letra da unidade "D" deve ser representada dessa maneira: "\DosDevices\D:". O caminho alternativo do link simbólico de "?? \D:" não pode ser usado, nem abreviações do link simbólico, como "D:".
O implementador dessa função não deve ser sincronizado por thread 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 | mountdev.h (inclua Mountdev.h) |