Поделиться через


Функция NPOpenEnum (npapi.h)

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

Синтаксис

DWORD NPOpenEnum(
  [in]  DWORD          dwScope,
  [in]  DWORD          dwType,
  [in]  DWORD          dwUsage,
  [in]  LPNETRESOURCEW lpNetResource,
  [out] LPHANDLE       lphEnum
);

Параметры

[in] dwScope

Определяет область перечисления. Это может быть один из следующих вариантов.

Значение Значение
RESOURCE_CONNECTED
Все подключенные ресурсы.
RESOURCE_GLOBALNET
Все ресурсы в сети.
RESOURCE_CONTEXT
Ресурсы, связанные с текущим и стандартным сетевым контекстом пользователя (используется для представления "Сетевое окружение"). Интерпретация этого параметра остается за поставщиком.

[in] dwType

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

Значение Значение
RESOURCETYPE_DISK
Все ресурсы диска.
RESOURCETYPE_PRINT
Все ресурсы печати.
RESOURCEUSAGE_ATTACHED
Указывает, что функция должна завершиться ошибкой, если вызывающий объект не прошел проверку подлинности (даже если сеть разрешает перечисление без проверки подлинности).
 

Если dwType имеет значение 0 или просто RESOURCEUSAGE_ATTACHED, возвращаются все типы ресурсов. Если поставщик не имеет возможности различать ресурсы печати и ресурсы диска на одном уровне, он может вернуть все ресурсы.

[in] dwUsage

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

Значение Значение
RESOURCEUSAGE_CONNECTABLE
Все подключенные ресурсы
RESOURCEUSAGE_CONTAINER
Все ресурсы контейнера
 

Битовая маска может быть равна нулю, чтобы соответствовать всем флагам. Этот параметр может игнорироваться, если параметру dwScope не присвоено значение RESOURCE_GLOBALNET.

[in] lpNetResource

Указатель на контейнер для выполнения перечисления. NETRESOURCE можно было получить с помощью предыдущего вызова NPEnumResource, создать вызывающий объект или иметь значение NULL. Если значение равно NULL или поле lpRemoteNameв NETRESOURCE равно NULL, поставщик должен перечислить верхний уровень своей сети. Обратите внимание, что это означает, что поставщик не может использовать lpRemoteNameсо значением NULL для представления любого сетевого ресурса. Вызывающий объект обычно начинается с вызова NPOpenEnum с этим параметром , равным NULL , а затем использует возвращенные результаты для дальнейшего перечисления. Если вызывающей программе точно известен поставщик и удаленный путь для перечисления, она может создать собственную структуру NETRESOURCE для передачи, заполнив поля lpProvider и lpRemoteName . Обратите внимание, что если dwScope RESOURCE_CONNECTED или RESOURCE_CONTEXT, этот параметр будет иметь значение NULL.

[out] lphEnum

Указатель на дескриптор, который может использоваться функцией NPEnumResource . Завершив использование дескриптора, отпустите дескриптор, вызвав функцию NPCloseEnum .

Возвращаемое значение

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

Код возврата Описание
WN_NOT_SUPPORTED
Поставщик не поддерживает тип запрашиваемого перечисления, или не удается просмотреть конкретный сетевой ресурс.
WN_NOT_CONTAINER
lpNetResource не указывает на контейнер.
WN_BAD_VALUE
Указано недопустимое значение dwScope, dwUsage или dwType или неправильное сочетание параметров.
WN_NO_NETWORK
Сеть отсутствует.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header npapi.h