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


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

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

Синтаксис

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

Параметры

[in] dwScope

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

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

[in] dwType

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

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

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

[in] dwUsage

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

Ценность Meaning
RESOURCEUSAGE_CONNECTABLE
Все подключенные ресурсы
RESOURCEUSAGE_CONTAINER
Все ресурсы контейнера
 

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

[in] lpNetResource

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

[out] lphEnum

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

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

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

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

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
Header npapi.h
Library davclnt.lib