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
ERROR_BAD_NET_NAME
O membro lpRemoteName de entrada não é um recurso de rede existente para nenhuma rede.
ERROR_BAD_DEV_TYPE
O membro dwType de entrada não corresponde ao tipo de recurso especificado pelo membro lpRemoteName .
ERROR_EXTENDED_ERROR
Ocorreu um erro específico da rede. Chame WNetGetLastError para obter uma descrição do erro.
ERROR_MORE_DATA
O buffer apontado pelo parâmetro lpBuffer é muito pequeno.
ERROR_NO_NETWORK
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

Confira também

WNetGetNetworkInformation

WNetGetProviderName

WNetGetResourceParent

WNetGetUniversalName

Visão geral da rede do Windows (WNet)

Funções de rede do Windows