WNetGetUniversalName

【勇芳软件工作室】汉化HomePreviousNext

WNetGetUniversalName功能为网络资源采用基于驱动器的路径,并获取包含更通用形式的名称的数据结构。

DWORD WNetGetUniversalName(

LPCTSTR 【lpLocalPath】,//指向网络资源的基于驱动器的路径
DWORD 【dwInfoLevel】,//指定要获取的通用名称的形式
LPVOID 【lpBuffer】,//指向缓冲区的指针,用于接收通用名称数据结构
LPDWORD 【lpBufferSize】//指向指定缓冲区大小的变量的指针
); 

参数

【lpLocalPath】

指向作为网络资源的基于驱动器的路径的以null结尾的字符串。

例如,如果驱动器H已映射到网络驱动器共享,并且感兴趣的网络资源是该共享目录\\ WIN32 \\ EXAMPLES中的名为SAMPLE.DOC的文件,则基于驱动器的路径为H:\\ WIN32 \\举例\\了Sample.doc。

【dwInfoLevel】

指定函数将在【lpBuffer】指向的缓冲区中存储的数据结构的类型。此参数可以是以下值之一:

含义
UNIVERSAL_NAME_INFO_LEVEL该函数将在缓冲区中存储一个UNIVERSAL_NAME_INFO数据结构。
REMOTE_NAME_INFO_LEVEL_该函数将在缓冲区中存储一个REMOTE_NAME_INFO数据结构。

数据结构UNIVERSAL_NAME_INFO指向通用命名约定(UNC)名称字符串。

【lpBuffer】

指向接收由【dwInfoLevel】参数指定的数据结构类型的缓冲区。

【lpBufferSize】

指向一个变量,指定【lpBuffer】指向的缓冲区大小(以字节为单位)。

如果函数成功,它将指定的变量【lpBufferSize】设置为缓冲区中存储的数据结构的大小(以字节为单位)。如果该函数失败,因为缓冲区太小,由ERROR_MORE_DATA错误代码指示,它将所指向的变量【lpBufferSize】设置为所需的缓冲区大小。

返回值

如果函数成功,返回值为NO_ERROR。

如果函数失败,则返回值是错误代码。要获取扩展错误信息,请调用GetLastError.GetLastError可能会返回以下错误代码之一:

含义
ERROR_BAD_DEVICE【lpLocalPath】指向的字符串无效。
ERROR_CONNECTION_UNAVAIL没有与远程设备的当前连接,但是有一个记忆(持久)连接。
ERROR_EXTENDED_ERROR发生网络特定错误。使用WNetGetLastError 功能获取错误的描述。
ERROR_MORE_DATA【lpBuffer】指向的缓冲区太小。该函数将【lpBufferSize】指向的变量设置为所需的缓冲区大小。更多条目可用于后续呼叫。
ERROR_NOT_SUPPORTED【dwInfoLevel】参数设置为UNIVERSAL_NAME_INFO_LEVEL,但网络提供商不支持UNC名称。任何网络提供商都不支持此函数。
ERROR_NO_NET_OR_BAD_PATH没有一个提供商将本地名称识别为具有连接。但是,该网络不可用于连接可能属于的至少一个提供商。
ERROR_NO_NETWORK没有网络存在。
ERROR_NOT_CONNECTED【lpLocalPath】指定的设备未重定向。

备注

本地基于驱动器的路径的通用形式以明确的,独立于计算机的方式来标识网络资源。然后可以将该名称传递给其他计算机上的进程,从而允许这些进程获取对资源的访问。

WNetGetUniversalName功能目前支持通用名称形式:通用命名约定(UNC)名称,如下所示:

\\\\服务器名\\共享名\\路径\\文件

使用【lpLocalPath】参数前面描述的示例,如果共享网络驱动器位于名为COOLSERVER的服务器上,共享名称为HOTSHARE,则其驱动器名称为H:\\ WIN32的网络资源的UNC名称\\ EXAMPLES \\ SAMPLE.DOC将会

\\\\ coolserver \\ hotshare \\ WIN32 \\例子\\了Sample.doc

UNIVERSAL_NAME_INFO数据结构包含指向UNC名称字符串的指针。REMOTE_NAME_INFO数据结构包含指向UNC名称字符串的指针。它还包括指向另外两个有用的字符串的指针。进程可以将lpszConnectionInfo结构的lpszConnectionInfo成员传递到WNetAddConnection2函数中,以将本地设备连接到网络资源,然后将lpszRemainingPath成员指向的字符串附加到本地设备字符串。生成的字符串可以传递给使用基于驱动器的路径的Win32函数。

也可以看看

REMOTE_NAME_INFO, UNIVERSAL_NAME_INFO, WNetAddConnection2, WNetGetLastError