Função NPGetResourceInformation (npapi.h)

Separa a parte de um recurso de rede acessado por meio da API WNet da parte acessada por meio de APIs específicas para o tipo de recurso.

Sintaxe

DWORD NPGetResourceInformation(
  [in]      LPNETRESOURCEW lpNetResource,
  [out]     LPVOID         lpBuffer,
  [in, out] LPDWORD        lpBufferSize,
  [out]     LPWSTR         *lplpSystem
);

Parâmetros

[in] lpNetResource

Especifica o recurso de rede para o qual as informações são necessárias. O campo lpRemoteName especifica o nome remoto do recurso. O programa de chamada deve preencher os valores dos campos lpProvider e dwType se souber esses valores; caso contrário, ele deve definir esses campos como NULL. Todos os outros campos no NETRESOURCE são ignorados e não são inicializados.

Se a cadeia de caracteres lpRemoteName contiver uma parte acessada por meio de APIs WNet e uma parte acessada por meio de outras APIs do sistema específicas para o tipo de recurso, a função deverá retornar informações apenas sobre a parte de rede do recurso (exceto para lplpSystem, conforme descrito posteriormente neste tópico).

Por exemplo, se o recurso for "\server\share\dir1\dir2", em que "\server\share" é acessado por meio de APIs WNet e "\dir1\dir2" é acessado por meio de APIs do sistema de arquivos, o provedor deve verificar se ele é o provedor certo para "\server\share", mas não precisa marcar se "\dir1\dir2" realmente existe.

[out] lpBuffer

Ponteiro para o buffer para receber o resultado. O primeiro campo no resultado é uma única estrutura NETRESOURCE e cadeias de caracteres associadas, representando essa parte do recurso de entrada que é acessada por meio da API WNet, em vez de APIs do sistema específicas para o tipo de recurso. Por exemplo, se o nome do recurso remoto de entrada for "\server\share\dir1\dir2", a saída NETRESOURCE conterá informações sobre o recurso "\server\share". Os campos lpRemoteName, lpProvider, dwType, dwDisplayType e dwUsage são retornados contendo valores, todos os outros campos sendo definidos como NULL.

O campo lpRemoteName deve ser retornado no mesmo formato que o retornado de uma enumeração pela função NPEnumResource , para que o chamador possa executar uma comparação de cadeia de caracteres que diferencia maiúsculas de minúsculas. Isso é necessário para determinar se o recurso de rede de saída é o mesmo retornado por NPEnumResource.

O provedor não deve fazer verificação puramente sintactica para determinar se ele possui o recurso. Isso pode produzir resultados incorretos quando duas redes estão em execução no cliente e o provedor que faz a verificação sintactica é chamado primeiro.

[in, out] lpBufferSize

Ponteiro para um local que especifica o tamanho, em bytes, do buffer apontado por lpBuffer. Se o buffer for muito pequeno para o resultado, a função colocará o tamanho do buffer necessário neste local e retornará o erro WN_MORE_DATA.

[out] lplpSystem

Em um retorno bem-sucedido, um ponteiro para uma cadeia de caracteres terminada em nulo no buffer de saída especificando essa parte do recurso que é acessada por meio de APIs do sistema específicas para o tipo de recurso, em vez de por meio da API WNet. Se não houver essa parte, lplpSystem será definido como NULL. Por exemplo, se o nome do recurso remoto de entrada for "\server\share\dir", lpRemoteName será retornado apontando para "\server\share" e lplpSystem apontará para "\dir", ambas as cadeias de caracteres que estão sendo armazenadas no buffer apontado por lpBuffer.

Retornar valor

Se a função for bem-sucedida, ela deverá retornar WN_SUCCESS. Caso contrário, ele deverá retornar um código de erro, que pode ser um dos seguintes.

Código de retorno Descrição
WN_MORE_DATA
O buffer de entrada é muito pequeno.
WN_BAD_NETNAME
O recurso não é reconhecido por esse provedor.
WN_BAD_VALUE
DwUsage ou dwType inválidos.
WN_BAD_DEV_TYPE
O chamador passou em um dwType diferente de zero que não corresponde ao tipo real do recurso de rede.
WN_NOT_AUTHENTICATED
O chamador não foi autenticado na rede.
WN_ACCESS_DENIED
O chamador foi autenticado na rede, mas não tem permissões suficientes.

Comentários

A árvore de enumeração pode ser navegada para baixo de um recurso de rede nomeado usando NPOpenEnum e suas funções relacionadas. Para navegar de um recurso nomeado, a função NPGetResourceInformation pode ser chamada para obter informações sobre o recurso, seguida pela função NPGetResourceParent para obter o nome e o tipo do recurso pai.

NPGetResourceInformation determina se o provedor especificado é o provedor certo para responder a uma solicitação de um recurso de rede especificado. Em seguida, ele retorna informações sobre o tipo do recurso.

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 npapi.h