Compartir a través de


Función NPGetResourceInformation (npapi.h)

Separa la parte de un recurso de red al que se accede a través de la API de WNet del elemento al que se accede a través de las API específicas del tipo de recurso.

Sintaxis

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

Parámetros

[in] lpNetResource

Especifica el recurso de red para el que se requiere información. El campo lpRemoteName especifica el nombre remoto del recurso. El programa de llamada debe rellenar los valores de los campos lpProvider y dwType si conoce estos valores; de lo contrario, debe establecer estos campos en NULL. Todos los demás campos de NETRESOURCE se omiten y no se inicializan.

Si la cadena lpRemoteName contiene una parte a la que se accede a través de las API de WNet y una parte a la que se accede a través de otras API del sistema específicas del tipo de recurso, la función debe devolver información solo sobre la parte de red del recurso (excepto lplpSystem, como se describe más adelante en este tema).

Por ejemplo, si el recurso es "\server\share\dir1\dir2", donde se accede a "\server\share" a través de las API de WNet y se obtiene acceso a "\dir1\dir2" a través de las API del sistema de archivos, el proveedor debe comprobar que es el proveedor adecuado para "\server\share", pero no necesita comprobar si "\dir1\dir2" existe realmente.

[out] lpBuffer

Puntero al búfer para recibir el resultado. El primer campo del resultado es una única estructura NETRESOURCE y cadenas asociadas, que representan esa parte del recurso de entrada al que se accede a través de la API de WNet, en lugar de las API del sistema específicas del tipo de recurso. Por ejemplo, si el nombre del recurso remoto de entrada era "\server\share\dir1\dir2", la salida NETRESOURCE contiene información sobre el recurso "\server\share". Los campos lpRemoteName, lpProvider, dwType, dwDisplayType y dwUsage se devuelven que contienen valores, todos los demás campos que se establecen en NULL.

El campo lpRemoteName debe devolverse en el mismo formato que el devuelto desde una enumeración por la función NPEnumResource , de modo que el autor de la llamada pueda realizar una comparación de cadenas que distingue mayúsculas de minúsculas. Esto es necesario para determinar si el recurso de red de salida es el mismo que el devuelto por NPEnumResource.

El proveedor no debe realizar una comprobación puramente sintáctica para determinar si posee el recurso. Esto podría producir resultados incorrectos cuando dos redes se ejecutan en el cliente y el proveedor que realiza la comprobación sintáctica se llama primero.

[in, out] lpBufferSize

Puntero a una ubicación que especifica el tamaño, en bytes, del búfer al que apunta lpBuffer. Si el búfer es demasiado pequeño para el resultado, la función coloca el tamaño de búfer necesario en esta ubicación y devuelve el error WN_MORE_DATA.

[out] lplpSystem

En una devolución correcta, un puntero a una cadena terminada en null en el búfer de salida que especifica esa parte del recurso al que se accede a través de las API del sistema específicas del tipo de recurso, en lugar de a través de la API de WNet. Si no hay ninguna parte de este tipo, lplpSystem se establece en NULL. Por ejemplo, si el nombre del recurso remoto de entrada era "\server\share\dir", lpRemoteName se devuelve que apunta a "\server\share" y lplpSystem apunta a "\dir", ambas cadenas que se almacenan en el búfer al que apunta lpBuffer.

Valor devuelto

Si la función se ejecuta correctamente, debe devolver WN_SUCCESS. De lo contrario, debe devolver un código de error, que puede ser uno de los siguientes.

Código devuelto Descripción
WN_MORE_DATA
El búfer de entrada es demasiado pequeño.
WN_BAD_NETNAME
Este proveedor no reconoce el recurso.
WN_BAD_VALUE
DwUsage o dwType no válidos.
WN_BAD_DEV_TYPE
El llamador pasado en un dwType distinto de cero que no coincide con el tipo real del recurso de red.
WN_NOT_AUTHENTICATED
El autor de la llamada no se ha autenticado en la red.
WN_ACCESS_DENIED
El autor de la llamada se ha autenticado en la red, pero no tiene permisos suficientes.

Comentarios

El árbol de enumeración se puede navegar hacia abajo desde un recurso de red con nombre mediante NPOpenEnum y sus funciones relacionadas. Para navegar desde un recurso con nombre, se puede llamar a la función NPGetResourceInformation para obtener información sobre el recurso, seguida de la función NPGetResourceParent para obtener el nombre y el tipo del recurso primario.

NPGetResourceInformation determina si el proveedor especificado es el proveedor adecuado para responder a una solicitud de un recurso de red especificado. A continuación, devuelve información sobre el tipo del recurso.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado npapi.h