NPGetResourceInformation 函数 (npapi.h)

将通过 WNet API 访问的网络资源的部分与通过特定于资源类型的 API 访问的部分分开。

语法

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

参数

[in] lpNetResource

指定需要其信息的网络资源。 lpRemoteName 字段指定资源的远程名称。 如果调用程序知道这些值,则调用程序应填写 lpProviderdwType 字段的值;否则,它应将这些字段设置为 NULLNETRESOURCE 中的所有其他字段将被忽略且不会初始化。

如果 lpRemoteName 字符串包含通过 WNet API 访问的部分,以及通过特定于资源类型的其他系统 API 访问的部分,则函数应仅返回有关资源 (的网络部分的信息( lplpSystem 除外),如本主题后面部分) 所述。

例如,如果资源为“\server\share\dir1\dir2”,其中“\server\share”是通过 WNet API 访问的,而“\dir1\dir2”是通过文件系统 API 访问的,则提供程序应验证它是“\server\share”的正确提供程序,但无需检查“\dir1\dir2”是否确实存在。

[out] lpBuffer

指向用于接收结果的缓冲区的指针。 结果中的第一个字段是单个 NETRESOURCE 结构和关联的字符串,表示通过 WNet API 访问的输入资源部分,而不是特定于资源类型的系统 API。 例如,如果输入远程资源名称为“\server\share\dir1\dir2”,则输出 NETRESOURCE 包含有关资源“\server\share”的信息。 返回 包含值的 lpRemoteNamelpProviderdwTypedwDisplayTypedwUsage 字段,所有其他字段都设置为 NULL

lpRemoteName 字段的返回格式应与 NPEnumResource 函数从枚举返回的格式相同,以便调用方可以执行区分大小写的字符串比较。 这是确定输出网络资源是否与 NPEnumResource 返回的资源相同所必需的。

提供程序不应执行纯粹的语法检查来确定它是否拥有资源。 当客户端上运行两个网络并且首先调用执行语法检查的提供程序时,这可能会产生不正确的结果。

[in, out] lpBufferSize

指向指定 lpBuffer 指向的缓冲区的大小(以字节为单位)的位置的指针。 如果缓冲区对于结果来说太小,该函数会将所需的缓冲区大小置于此位置,并返回错误WN_MORE_DATA。

[out] lplpSystem

成功返回时,指向输出缓冲区中以 null 结尾的字符串的指针,该字符串指定通过特定于资源类型的系统 API(而不是通过 WNet API)访问的资源部分。 如果没有此类部分, lplpSystem 将设置为 NULL。 例如,如果输入远程资源名称为“\server\share\dir”,则返回指向“\server\share”的 lpRemoteName,lplpSystem 指向“\dir”,这两个字符串都存储在 lpBuffer 指向的缓冲区中。

返回值

如果该函数成功,它应返回WN_SUCCESS。 否则,它应返回错误代码,可能是以下代码之一。

返回代码 说明
WN_MORE_DATA
输入缓冲区太小。
WN_BAD_NETNAME
此提供程序无法识别资源。
WN_BAD_VALUE
dwUsagedwType 无效。
WN_BAD_DEV_TYPE
传入的非零 dwType 的调用方与网络资源的实际类型不匹配。
WN_NOT_AUTHENTICATED
调用方尚未在网络中进行身份验证。
WN_ACCESS_DENIED
调用方已通过网络身份验证,但没有足够的权限。

注解

可以使用 NPOpenEnum 及其相关函数从命名网络资源向下导航枚举树。 若要从命名资源向上导航,可以调用 NPGetResourceInformation 函数以获取有关资源的信息,然后调用 NPGetResourceParent 函数以获取父资源的名称和类型。

NPGetResourceInformation 确定指定的提供程序是否是响应指定网络资源请求的正确提供程序。 然后,它将返回有关资源类型的信息。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 npapi.h