Função WNetGetResourceInformationA (winnetwk.h)
Quando fornecida com um caminho remoto para um recurso de rede, a função WNetGetResourceInformation identifica o provedor de rede que possui o recurso e obtém informações sobre o tipo do recurso. A função normalmente é usada em conjunto com a função WNetGetResourceParent para analisar e interpretar um caminho de rede digitado por um usuário.
Sintaxe
DWORD WNetGetResourceInformationA(
[in] LPNETRESOURCEA lpNetResource,
[out] LPVOID lpBuffer,
[in, out] LPDWORD lpcbBuffer,
[out] LPSTR *lplpSystem
);
Parâmetros
[in] lpNetResource
Ponteiro para uma estrutura NETRESOURCE que especifica o recurso de rede para o qual as informações são necessárias.
O membro lpRemoteName da estrutura deve especificar o nome do caminho remoto do recurso, normalmente um digitado por um usuário. Os membros lpProvider e dwType também devem ser preenchidos, se conhecidos, porque essa operação pode fazer uso intensivo de memória, especialmente se você não especificar o membro dwType . Se você não souber os valores desses membros, defina-os como NULL. Todos os outros membros da estrutura NETRESOURCE são ignorados.
[out] lpBuffer
Ponteiro para o buffer para receber o resultado. No retorno bem-sucedido, a primeira parte do buffer é uma estrutura NETRESOURCE que representa essa parte do caminho do recurso de entrada que é acessada por meio das funções WNet, em vez de por meio de funções do sistema específicas para o tipo de recurso de entrada. (O restante do buffer contém as cadeias de caracteres de comprimento variável para as quais os membros do ponto de estrutura NETRESOURCE .)
Por exemplo, se o caminho do recurso remoto de entrada for \server\share\dir1\dir2, a estrutura NETRESOURCE de saída conterá informações sobre o recurso \server\share. A parte \dir1\dir2 do caminho é acessada por meio das funções de gerenciamento de arquivos. Os membros lpRemoteName, lpProvider, dwType, dwDisplayType e dwUsage de NETRESOURCE são retornados, com todos os outros membros definidos como NULL.
O membro lpRemoteName é retornado na mesma sintaxe que aquela retornada de uma enumeração pela função WNetEnumResource . Isso permite que o chamador execute uma comparação de cadeia de caracteres para determinar se o recurso passado para WNetGetResourceInformation é o mesmo que o recurso retornado por uma chamada separada para WNetEnumResource.
[in, out] lpcbBuffer
Ponteiro para um local que, na entrada, especifica o tamanho do buffer lpBuffer , em bytes. O buffer alocado deve ser grande o suficiente para manter a estrutura NETRESOURCE , além das cadeias de caracteres às quais seus membros apontam. Se o buffer for muito pequeno para o resultado, esse local receberá o tamanho do buffer necessário e a função retornará ERROR_MORE_DATA.
[out] lplpSystem
Se a função retornar com êxito, esse parâmetro apontará para uma cadeia de caracteres no buffer de saída que especifica a parte do recurso que é acessada por meio de funções do sistema. (Isso se aplica apenas a funções específicas do tipo de recurso em vez das funções WNet.)
Por exemplo, se o nome do recurso remoto de entrada for \server\share\dir1\dir2, o membro lpRemoteName da estrutura NETRESOURCE de saída apontará para \server\share. Além disso, o parâmetro lplpSystem aponta para \dir1\dir2. Ambas as cadeias de caracteres são armazenadas no buffer apontado pelo parâmetro lpBuffer .
Retornar valor
Se a função for bem-sucedida, o valor retornado será NO_ERROR.
Se a função falhar, o valor retornado será um código de erro do sistema, como um dos valores a seguir.
Código de retorno | Descrição |
---|---|
|
O membro lpRemoteName de entrada não é um recurso de rede existente para nenhuma rede. |
|
O membro dwType de entrada não corresponde ao tipo de recurso especificado pelo membro lpRemoteName . |
|
Ocorreu um erro específico da rede. Chame WNetGetLastError para obter uma descrição do erro. |
|
O buffer apontado pelo parâmetro lpBuffer é muito pequeno. |
|
A rede não está disponível. |
Comentários
Observação
O cabeçalho winnetwk.h define WNetGetResourceInformation como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winnetwk.h |
Biblioteca | Mpr.lib |
DLL | Mpr.dll |