Локальное устройство уже присутствует в профиле пользователя.
//
else if (dwResult == ERROR_DEVICE_ALREADY_REMEMBERED)
{
TextOut(hdc, 10, 10,
"Attempted reassignment of remembered device.", 44);
return FALSE;
}
else if(dwResult != NO_ERROR)
}
Функция WNetAddConnection существует для поддержки ранних версий Windows for Workgroups. Современные приложения должны использовать функции WNetAddConnection2 или WNetAddConnection3. Более подробную информацию об обработчике ошибок смотрите в Retrieving Network Errors.
3. Для того, чтобы начать перечисление подключённых к рабочей станции сетевых ресурсов необходимо вызвать функцию WNetOpenEnum() и WNetEnumResources() для продолжения перечисления.
Для поиска всех сетевых ресурсов, приложение должно будет сначала вызвать функцию WNetOpenEnum() с параметром lpNetResource равным NULL и затем использовать вернувшийся заголовок для вызова функции WNetEnumResources() для поиска ресурсов. Если один из ресурсов в массиве структур NetResource (который возвращает функция WNetEnumResources()) содержит вложенные ресурсы, то необходимо вызвать снова функцию WNetOpenEnum() для открытия именно этого ресурса и продолжения поиска. Закрыть указатель ресурсов вызвав функцию WNetCloseEnum.
Структура NETRESOURCE содержит информацию о сетевых ресурсах. Эта структура заполняется в процессе поиска сетевых ресурсов. NETRESOURCE также используется при для других сетевых функций.
typedef struct _NETRESOURCE {
DWORD dwScope;
DWORD dwType;
DWORD dwDisplayType;
DWORD dwUsage;
LPTSTR lpLocalName;
LPTSTR lpRemoteName;
LPTSTR lpComment;
LPTSTR lpProvider;
} NETRESOURCE;
dwScope DWORD значение содержащее тип поиска. Может принимать одно из следующих значений.
Значение |
Пояснение |
RESOURCE_CONNECTED |
Поиск подключенных ресурсов. dwUsage при этом не используется. |
RESOURCE_GLOBALNET |
Поиск всех ресурсов сети. dwUsage при этом не используется. |
RESOURCE_REMEMBERED |
Поиск всех ресурсов когда либо подключенных. |
dwType DWORD значение содержащее набор бит, характерезующих тип искомых ресурсов. Может принимать такие значения.
Значение |
Пояснение |
RESOURCETYPE_ANY |
Все ресурсы |
RESOURCETYPE_DISK |
Только дисковае ресурсы |
RESOURCETYPE_PRINT |
Только ресурсы принтера |
Функция WNetEnumResource также может возвращать значение RESOURCETYPE_UNKNOWN если найденый ресурс не дисковый или не принтерный;
dwDisplayType DWORD значение, говорящее как сетевой объект должен быть показан пользовательском интерфейсе сетевого просмотрщика. Может принимать такие значения.
Значение |
Пояснение |
RESOURCEDISPLAYTYPE_DOMAIN |
Объект надо показать как domain. |
RESOURCEDISPLAYTYPE_SERVER |
Объект надо показать как сервер. |
RESOURCEDISPLAYTYPE_SHARE |
Объект надо показать как доступный. |
RESOURCEDISPLAYTYPE_GENERIC |
Метод показа неопределен. |
dwUsage DWORD набор бит, характерезующее метод использования сетевого ресурса.
Примечание. Может быть использовано только при dwScope = RESOURCE_GLOBALNET.
Может принимать такие значения.
Значение |
Пояснение |
RESOURCEUSAGE_CONNECTABLE |
Ресурс присоеденяемый. Имя переданое в lpRemoteName может быть помещено в функцию WnetAddConnection для сетевого соеденения. |
RESOURCEUSAGE_CONTAINER |
Ресурс содержит другие ресурсы. Имя переданое в lpRemoteName может быть помещено в функцию WnetOpenEnum для поиска вложеных ресурсов |
lpLocalName Если dwScope равно RESOURCE_CONNECTED или RESOURCE_REMEMBERED, то указывает на строку с нулевым окончанием содержащюю имя локального устройства. Если равен NULL соеденение не использует устройство.
lpRemoteName Если точка входа это сетевой ресурс, то содержит строку с удаленным сетевым именем.
Если точка входа текущее или отсключенное соеденение, то указатель lpRemoteName ассоциирован с указателем lpLocalName.
lpComment Строка содержит комментарий к сетевому ресурсу.
lpProvider Содержит указатель на строку с именем провайдера. Должно быть равно NULL, если имя провайдера не заданно. Для уточнения имени провайдера необходимо воспользоваться функцией WNetGetProviderName.
Функция WnetOpenEnum начинает поиск сетевых ресурсов или существующих соединений. Для продолжения поиска используется функция WnetEnumResource.
DWORD WNetOpenEnum(
DWORD dwScope, // определяет границы поиска
DWORD dwType, // определяет тип ресурсов
DWORD dwUsage, // определяет использование ресурса
LPNETRESOURCE lpNetResource, // структура описания ресурса
LPHANDLE lphEnum ); // буфер поиска
dwScope [входной] Определяет границы поиска ресурсов. Может принимать такие значения
Значение |
Пояснение |
|
RESOURCE_CONNECTED |
Искать все ресурсы подключенные в текущий момент. Функция игнорирует параметр dwUsage. |
|
RESOURCE_GLOBALNET |
Искать все сетевые ресурсы |
|
RESOURCE_REMEMBERED |
Искать все запомненные ресурсы. Функция игнорирует параметр dwUsage. |
dwType
[входной] Указывает тип искомых ресурсов. Может принимать такие значения
Значение |
Пояснение |
RESOURCETYPE_ANY |
Все ресурсы |
RESOURCETYPE_DISK |
Только дисковае ресурсы |
RESOURCETYPE_PRINT |
Только ресурсы принтера |
dwUsage [входной] Определяет используемый тип ресурсов. Может принимать такие значения
Значение |
Пояснение |
0 |
Все ресурсы |
RESOURCEUSAGE_CONNECTABLE |
Все подключенные ресурсы |
RESOURCEUSAGE_CONTAINER |
Все ресурсы содержащие вложеные ресурсы |
RESOURCEUSAGE_ALL |
Значение эквивалентно RESOURCEUSAGE_CONNECTABLE, RESOURCEUSAGE_CONTAINER, and RESOURCEUSAGE_ATTACHED. |
Этот параметр игнорируется если dwScope = RESOURCE_GLOBALNET.
lpNetResource [входной] Указатель на структуру NETRESOURCE которая указывает на источник поиска. Если dwScope не равно RESOURCE_GLOBALNET, этот параметр должен быть равен NULL.
Если этот параметр NULL, то корень сети используется как отправная точка поиска.
Если параметр не NULL, то это должен быть указатель на структуру NETRESOURCE. Эта структура может быть заполнена пользователем или может быть заполнена функцией WnetEnumResource.
Для поиска всех сетевых ресурсов, приложение должно будет сначала
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.