Função QueryDosDeviceA (winbase.h)
Recupera informações sobre nomes de dispositivo MS-DOS. A função pode obter o mapeamento atual para um nome de dispositivo MS-DOS específico. A função também pode obter uma lista de todos os nomes de dispositivo MS-DOS existentes.
Os nomes de dispositivo MS-DOS são armazenados como junções no namespace do objeto. O código que converte um caminho MS-DOS em um caminho correspondente usa essas junções para mapear dispositivos MS-DOS e letras de unidade. A função QueryDosDevice permite que um aplicativo consulte os nomes das junções usadas para implementar o namespace do dispositivo MS-DOS, bem como o valor de cada junção específica.
Sintaxe
DWORD QueryDosDeviceA(
[in, optional] LPCSTR lpDeviceName,
[out] LPSTR lpTargetPath,
[in] DWORD ucchMax
);
Parâmetros
[in, optional] lpDeviceName
Uma cadeia de caracteres de nome de dispositivo MS-DOS especificando o destino da consulta. O nome do dispositivo não pode ter uma barra invertida à direita; por exemplo, use "C:", não "C:\".
Este parâmetro pode ser NULL. Nesse caso, a função QueryDosDevice armazenará uma lista de todos os nomes de dispositivo MS-DOS existentes no buffer apontado por lpTargetPath.
[out] lpTargetPath
Um ponteiro para um buffer que receberá o resultado da consulta. A função preenche esse buffer com uma ou mais cadeias de caracteres terminadas em nulo. A cadeia de caracteres final terminada em nulo é seguida por um NULL adicional.
Se lpDeviceName não for NULL, a função recuperará informações sobre o dispositivo MS-DOS específico especificado por lpDeviceName. A primeira cadeia de caracteres terminada em nulo armazenada no buffer é o mapeamento atual para o dispositivo. As outras cadeias de caracteres terminadas em nulo representam mapeamentos anteriores não excluídos para o dispositivo.
Se lpDeviceName for NULL, a função recuperará uma lista de todos os nomes de dispositivo MS-DOS existentes. Cada cadeia de caracteres terminada em nulo armazenada no buffer é o nome de um dispositivo MS-DOS existente, por exemplo, \Device\HarddiskVolume1 ou \Device\Floppy0.
[in] ucchMax
O número máximo de TCHARs que podem ser armazenados no buffer apontado por lpTargetPath.
Retornar valor
Se a função for bem-sucedida, o valor retornado será o número de TCHARs armazenados no buffer apontado por lpTargetPath.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Se o buffer for muito pequeno, a função falhará e o último código de erro será ERROR_INSUFFICIENT_BUFFER.
Comentários
A função DefineDosDevice permite que um aplicativo crie e modifique as junções usadas para implementar o namespace do dispositivo MS-DOS.
Windows Server 2003 e Windows XP: QueryDosDevice primeiro pesquisa o namespace do dispositivo MS-DOS local para o nome do dispositivo especificado. Se o nome do dispositivo não for encontrado, a função pesquisará o namespace global do dispositivo MS-DOS.
Quando todos os nomes de dispositivo MS-DOS existentes são consultados, a lista de nomes de dispositivo retornados depende se ele está em execução no contexto "LocalSystem". Nesse caso, somente os nomes de dispositivo incluídos no namespace global do dispositivo MS-DOS serão retornados. Caso contrário, será retornada uma concatenação dos nomes de dispositivo presentes nos namespaces de dispositivo MS-DOS Global e local. Se houver um nome de dispositivo nos dois namespaces, QueryDosDevice retornará a entrada no namespace de dispositivo MS-DOS local.
Para obter mais informações sobre os namespaces de dispositivo MS-DOS global e local e as alterações na acessibilidade de nomes de dispositivo MS-DOS, consulte Definindo um nome de dispositivo MS DOS.
No Windows 8 e Windows Server 2012, essa função é compatível com as tecnologias a seguir.
Tecnologia | Com suporte |
---|---|
Protocolo SMB (SMB) 3.0 | No |
TFO (Failover transparente) do SMB 3.0 | No |
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) | No |
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) | Sim |
ReFS (Sistema de Arquivos Resiliente) | Sim |
O SMB não dá suporte a funções de gerenciamento de volume.
Exemplos
Para obter um exemplo, consulte Obtendo um nome de arquivo de um identificador de arquivo ou exibindo caminhos de volume.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winbase.h (incluir Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |