Compartilhar via


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

IRP_MJ_DEVICE_CONTROL

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)

Confira também

MOUNTDEV_SUGGESTED_LINK_NAME