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 esse IOCTL por clientes do Mount Manager é 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 >AssociatedIrp.SystemBuffer. O driver cliente deve inserir o nome persistente sugerido 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_SUGGESTED_LINK_NAME)
.
Buffer de entrada/saída
N/A
Comprimento do buffer de entrada/saída
N/A
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 de será definido como STATUS_SUCCESS.
Se OutputBufferLength for menor que tamanho de(MOUNTDEV_SUGGESTED_LINK_NAME), o campo status de 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 de Informações será definido como tamanhos de(MOUNTDEV_SUGGESTED_LINK_NAME).
Observações
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 para o gerenciador de montagem em resposta a este 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 de letras da unidade devem incluir o caminho completo do link simbólico no namespace do objeto e devem ter a sintaxe de MS-DOS tradicional. Por exemplo, a letra de unidade "D" deve ser representada dessa maneira: "\DosDevices\D:". O caminho de link simbólico alternativo de "?? \D:" não pode ser usado, nem abreviações do link simbólico, como "D:".
O implementador dessa função não deve sincronizar threads e não deve fazer chamadas de função de IPC (comunicação de bloqueio e/ou interprocesso).
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) |