检索浏览层次结构中指定网络资源的父项。 此函数通常针对以前对 NPEnumResource 或 NPGetResourceInformation 的调用中由同一提供程序返回的资源调用。
Syntax
DWORD NPGetResourceParent(
[in] LPNETRESOURCEW lpNetResource,
[out] LPVOID lpBuffer,
[in, out] LPDWORD lpBufferSize
);
参数
[in] lpNetResource
指向需要其父名称的网络资源的指针。 NETRESOURCE 可以从先前对 NPEnumResource 或 NPGetResourceInformation 的调用中获取,也可以由调用方构造。
lpRemoteName 字段指定需要其父级的网络资源的远程名称。
lpProvider 字段指定要调用的提供程序。 必须提供此项。
如果调用程序知道其值, 则填充 dwType 字段。 否则,它设置为 NULL。
NETRESOURCE 中的所有其他字段将被忽略,并且不会初始化。
[out] lpBuffer
指向用于接收结果的缓冲区的指针,它是表示父资源的单个 NETRESOURCE 结构。 返回 lpRemoteName、 lpProvider、 dwType、 dwDisplayType 和 dwUsage 字段;所有其他字段都设置为 NULL。
输出 lpRemoteName 的格式应与 NPEnumResource 从枚举返回的格式相同,以便调用方可以执行区分大小写的字符串比较,以确定父资源是否与 NPEnumResource 返回的字符串相同。 如果输入资源语法上具有父级,则提供程序可以返回它,而无需确定输入资源或其父资源是否实际存在。 如果资源在网络上没有浏览父级,则 lpRemoteName 将返回为 NULL。
返回 的 dwUsage 字段中的RESOURCEUSAGE_CONNECTABLE位不一定指示资源当前可以连接到,仅当资源在网络上可用时才可连接。
[in, out] lpBufferSize
指向指定 lpBuffer 参数指向的缓冲区的大小(以字节为单位)的位置的指针。 如果缓冲区对于结果来说太小,该函数会将所需的缓冲区大小置于此位置,并返回错误WN_MORE_DATA。
返回值
如果函数成功,它应返回WN_SUCCESS。 否则,它应返回错误代码,这可能是以下代码之一。
| 返回代码 | Description |
|---|---|
|
输入缓冲区太小。 |
|
此提供程序不拥有 lpNetResource 指定的资源(或者资源在语法上无效)。 |
|
dwUsage 或 dwType 无效,或者指定的参数组合不正确(例如,lpRemoteName 在语法上对 dwType 无效)。 |
|
调用方尚未向网络进行身份验证。 |
|
调用方已向网络进行身份验证,但没有足够的权限。 |
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows XP [仅限桌面应用] |
| 支持的最低服务器 | Windows Server 2003 [仅限桌面应用] |
| 目标平台 | Windows操作系统 |
| Header | npapi.h |
| Library | davclnt.lib |