Compartir a través de


Función WNetGetResourceParentA (winnetwk.h)

La función WNetGetResourceParent devuelve el elemento primario de un recurso de red en la jerarquía de exploración de red. La exploración comienza en la ubicación del recurso de red especificado.

Llame a las funciones WNetGetResourceInformation y WNetGetResourceParent para subir la jerarquía de red. Llame a la función WNetOpenEnum para bajar la jerarquía.

Sintaxis

DWORD WNetGetResourceParentA(
  [in]      LPNETRESOURCEA lpNetResource,
  [out]     LPVOID         lpBuffer,
  [in, out] LPDWORD        lpcbBuffer
);

Parámetros

[in] lpNetResource

Puntero a una estructura NETRESOURCE que especifica el recurso de red para el que se requiere el nombre primario.

Especifique los miembros de la estructura NETRESOURCE de entrada como se indica a continuación. El autor de la llamada normalmente conoce los valores que se proporcionan para los miembros lpProvider y dwType después de las llamadas anteriores a WNetGetResourceInformation o WNetGetResourceParent.

Miembro Significado
dwType
Este miembro debe rellenarse si se conoce; de lo contrario, debe establecerse en NULL.
lpRemoteName
Este miembro debe especificar el nombre remoto del recurso de red cuyo elemento primario es necesario.
lpProvider
Este miembro debe especificar el proveedor de red que posee el recurso. Este miembro es obligatorio; de lo contrario, la función podría generar resultados incorrectos.
 

Se omiten todos los demás miembros de la estructura NETRESOURCE .

[out] lpBuffer

Puntero a un búfer para recibir una única estructura NETRESOURCE que representa el recurso primario. La función devuelve los miembros lpRemoteName, lpProvider, dwType, dwDisplayType y dwUsage de la estructura; todos los demás miembros se establecen en NULL.

El miembro lpRemoteName apunta al nombre remoto del recurso primario. Este nombre usa la misma sintaxis que la devuelta de una enumeración por la función WNetEnumResource . El autor de la llamada puede realizar una comparación de cadenas para determinar si el recurso WNetGetResourceParent es el mismo que el devuelto por WNetEnumResource. Si el recurso de entrada no tiene ningún elemento primario en ninguna de las redes, el miembro lpRemoteName se devuelve como NULL.

La presencia del bit RESOURCEUSAGE_CONNECTABLE en el miembro dwUsage indica que puede conectarse al recurso primario, pero solo cuando está disponible en la red.

[in, out] lpcbBuffer

Puntero a una ubicación que, en la entrada, especifica el tamaño del búfer lpBuffer , en bytes. Si el búfer es demasiado pequeño para contener el resultado, esta ubicación recibe el tamaño de búfer necesario y la función devuelve ERROR_MORE_DATA.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es NO_ERROR.

Si se produce un error en la función, el valor devuelto es un código de error del sistema, como uno de los valores siguientes.

Código devuelto Descripción
ERROR_ACCESS_DENIED
El autor de la llamada no tiene acceso al recurso de red.
ERROR_BAD_NET_NAME
El miembro lpRemoteName de entrada no es un recurso de red existente para ninguna red.
ERROR_BAD_PROVIDER
El miembro lpProvider de entrada no coincide con ningún proveedor de red instalado.
ERROR_MORE_DATA
El búfer al que apunta el parámetro lpBuffer es demasiado pequeño.
ERROR_NOT_AUTHENTICATED
El autor de la llamada no tiene los permisos necesarios para obtener el nombre del elemento primario.

Comentarios

La función WNetGetResourceParent se usa normalmente junto con la función WNetGetResourceInformation para analizar e interpretar una ruta de acceso de red tipada por un usuario.

A diferencia de la función WNetGetResourceInformation , si el recurso incluye un elemento primario en su sintaxis, la función WNetGetResourceParent devuelve el elemento primario, independientemente de que el recurso exista o no. WNetGetResourceParent normalmente solo se debe usar en las aplicaciones que muestran recursos de red al usuario de forma jerárquica. El Explorador de Windows y el cuadro de diálogo Abrir archivo son dos ejemplos conocidos de este tipo de aplicación. Tenga en cuenta que no se debe realizar ninguna suposición sobre el tipo de recurso que se devolverá.

Puede llamar a la función WNetEnumResource, WNetGetResourceInformation o WNetGetResourceParent para devolver información de la estructura NETRESOURCE . También puede construir información de recursos de red mediante los miembros de la estructura NETRESOURCE .

Un ejemplo de uso inadecuado de WNetGetResourceParent es determinar el nombre del dominio al que pertenece un servidor especificado. Es posible que la función devuelva el nombre de dominio correcto para algunas redes en las que los dominios aparecen directamente encima de los servidores de la jerarquía de exploración. La función devolverá resultados incorrectos para otras redes.

Nota

El encabezado winnetwk.h define WNetGetResourceParent como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winnetwk.h
Library Mpr.lib
Archivo DLL Mpr.dll

Consulte también

WNetGetNetworkInformation

WNetGetProviderName

WNetGetResourceInformation

WNetGetUniversalName

Información general sobre redes de Windows (WNet)

Funciones de redes de Windows