На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

WNetGetUniversalName



The WNetGetUniversalName function takes a drive-based path for a network resource and obtains a data structure that contains a more universal form of the name.

DWORD WNetGetUniversalName(

LPCTSTR lpLocalPath, // pointer to drive-based path for a network resource
DWORD dwInfoLevel, // specifies form of universal name to be obtained
LPVOID lpBuffer, // pointer to buffer that receives universal name data structure
LPDWORD lpBufferSize // pointer to variable that specifies size of buffer
);


Parameters

lpLocalPath

Points to a null-terminated string that is a drive-based path for a network resource.

For example, if drive H has been mapped to a network drive share, and the network resource of interest is a file named SAMPLE.DOC in the directory \WIN32\EXAMPLES on that share, the drive-based path is H:\WIN32\EXAMPLES\SAMPLE.DOC.

dwInfoLevel

Specifies the type of data structure that the function will store in the buffer pointed to by lpBuffer. This parameter can be one of the following values:

Value Meaning
UNIVERSAL_NAME_INFO_LEVEL The function will store a UNIVERSAL_NAME_INFO data structure in the buffer.
REMOTE_NAME_INFO_LEVEL_ The function will store a REMOTE_NAME_INFO data structure in the buffer.


The UNIVERSAL_NAME_INFO data structure points to a Universal Naming Convention (UNC) name string.

lpBuffer

Points to a buffer that receives the type of data structure specified by the dwInfoLevel parameter.

lpBufferSize

Points to a variable that specifies the size in bytes of the buffer pointed to by lpBuffer.

If the function succeeds, it sets the variable pointed to by lpBufferSize to the size in bytes of the data structure stored in the buffer. If the function fails because the buffer is too small, indicated by the ERROR_MORE_DATA error code, it sets the variable pointed to by lpBufferSize to the required buffer size.



Return Values

If the function succeeds, the return value is NO_ERROR.
If the function fails, the return value is an error code. To get extended error information, call GetLastError. GetLastError may return one of the following error codes:

Value Meaning
ERROR_BAD_DEVICE The string pointed to by lpLocalPath is invalid.
ERROR_CONNECTION_UNAVAIL There is no current connection to the remote device, but there is a remembered (persistent) connection to it.
ERROR_EXTENDED_ERROR A network-specific error occurred. Use the WNetGetLastError function to obtain a description of the error.
ERROR_MORE_DATA The buffer pointed to by lpBuffer is too small. The function sets the variable pointed to by lpBufferSize to the required buffer size. More entries are available with subsequent calls.
ERROR_NOT_SUPPORTED The dwInfoLevel parameter was set to UNIVERSAL_NAME_INFO_LEVEL, but the network provider does not support UNC names. This function is not supported by any of the network providers.
ERROR_NO_NET_OR_BAD_PATH None of the providers recognized this local name as having a connection. However, the network is not available for at least one provider to whom the connection may belong.
ERROR_NO_NETWORK There is no network present.
ERROR_NOT_CONNECTED The device specified by lpLocalPath is not redirected.


Remarks

A universal form of a local drive-based path identifies a network resource in an unambiguous, computer-independent manner. The name can then be passed to processes on other computers, allowing those processes to obtain access to the resource.
The WNetGetUniversalName function currently supports one universal name form: universal naming convention (UNC) names, which look like the following:

\\servername\sharename\path\file


Using the example from the preceding description of the lpLocalPath parameter, if the shared network drive is on a server named COOLSERVER, and the share name is HOTSHARE, the UNC name for the network resource whose drive-based name is H:\WIN32\EXAMPLES\SAMPLE.DOC would be

\\coolserver\hotshare\win32\examples\sample.doc


The UNIVERSAL_NAME_INFO data structure contains a pointer to a UNC name string. The REMOTE_NAME_INFO data structure contains a pointer to a UNC name string. It also includes pointers to two other useful strings. A process can pass the REMOTE_NAME_INFO structure's lpszConnectionInfo member into the WNetAddConnection2 function to connect a local device to the network resource, and then append the string pointed to by the lpszRemainingPath member to the local device string. The resulting string can be passed to Win32 functions that use a drive-based path.

See Also

REMOTE_NAME_INFO, UNIVERSAL_NAME_INFO, WNetAddConnection2, WNetGetLastError


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

WNetGetUniversalName



Функция WNetGetUniversalName выбирает базирующийся путь накопителя для сетевого ресурса и получает структуру данных, которая содержит более универсальную форму имени.

DWORD WNetGetUniversalName(

LPCTSTR lpLocalPath, // УКАЗАТЕЛЬ в базирующийся путь накопителя для сетевого ресурса DWORD dwInfoLevel, // определяет форму универсального имени, которое нужно получать LPVOID lpBuffer, // указатель, чтобы буферизовать, что получает структуру данных универсального указателя имени LPDWORD lpBufferSize // в переменную, которая определяет размер буфера
);


Параметры

lpLocalPath

Точки на недействительный расторгнутую строку, которые - базирующийся путь накопителя для сетевого ресурса.

Например, если накопитель H отображен в сетевую акцию накопителя, и сетевой ресурс интереса является файлом назвавшим SAMPLE.DOC в директории \WIN32\EXAMPLES в этой акции, базирующийся путь накопителя - H:\WIN32\EXAMPLES\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) имена, которые выглядят похожим на следующее:

\\servername\sharename\path\file


Используя пример из предыдущего описания параметра lpLocalPath, если коллективный сетевой накопитель находится в сервере назвавшем COOLSERVER, и акционерное имя - HOTSHARE, UNC называет в честь сетевого ресурса чье основавшее имя накопителя - H:\WIN32\EXAMPLES\SAMPLE.ДОК. будет

\\coolserver\hotshare\win32\examples\sample.doc


Структура данных UNIVERSAL_NAME_INFO содержит указатель в строку имени UNC. Структура данных REMOTE_NAME_INFO содержит указатель в строку имени UNC. Это также включает указатели в две других полезных строки. Процесс может передать REMOTE_NAME_INFO структурного элемента lpszConnectionInfo в функцию WNetAddConnection2, чтобы подключать локальное устройство к сетевому ресурсу, затем добавлять строку указанную, чтобы элементом lpszRemainingPath в локальную строку устройства. Результирующая строка может быть пройдена в функции Win32, что использовать базирующийся путь накопителя.

Смотри Также

REMOTE_NAME_INFO, UNIVERSAL_NAME_INFO, WNetAddConnection2, WNetGetLastError


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz