Функция NPGetResourceInformation (npapi.h)
Отделяет часть сетевого ресурса, доступ к который осуществляется через API WNet, от части, доступ к ней осуществляется через API, относящиеся к типу ресурса.
Синтаксис
DWORD NPGetResourceInformation(
[in] LPNETRESOURCEW lpNetResource,
[out] LPVOID lpBuffer,
[in, out] LPDWORD lpBufferSize,
[out] LPWSTR *lplpSystem
);
Параметры
[in] lpNetResource
Указывает сетевой ресурс, для которого требуются сведения. Поле lpRemoteName указывает удаленное имя ресурса. Вызывающая программа должна заполнить значения полей lpProvider и dwType , если ей известны эти значения; В противном случае для этих полей должно быть задано значение NULL. Все остальные поля в NETRESOURCE игнорируются и не инициализируются.
Если строка lpRemoteName содержит часть, доступ к которому осуществляется через API WNet, и часть, доступ к которому осуществляется через другие системные API, относящиеся к типу ресурса, функция должна возвращать сведения только о сетевой части ресурса (за исключением lplpSystem, как описано далее в этом разделе).
Например, если ресурс — "\server\share\dir1\dir2", где "\server\share" осуществляется через API WNet, а "\dir1\dir2" — через API файловой системы, поставщик должен убедиться, что он является правильным поставщиком для "\server\share", но не должен проверка существует ли "\dir1\dir2" на самом деле.
[out] lpBuffer
Указатель на буфер для получения результата. Первое поле в результатах представляет собой единую структуру NETRESOURCE и связанные строки, представляющие ту часть входного ресурса, к которому осуществляется доступ через API WNet, а не системные API, относящиеся к типу ресурса. Например, если входное имя удаленного ресурса было "\server\share\dir1\dir2", то выходные данные NETRESOURCE содержат сведения о ресурсе "\server\share". Возвращаются поля lpRemoteName, lpProvider, dwType, dwDisplayType и dwUsage , содержащие значения, а все остальные поля имеют значение NULL.
Поле lpRemoteName должно быть возвращено в том же формате, что и из перечисления функцией NPEnumResource , чтобы вызывающий объект смог выполнить сравнение строк с учетом регистра. Это необходимо, чтобы определить, совпадает ли выходной сетевой ресурс с ресурсом, возвращаемым NPEnumResource.
Поставщик не должен выполнять чисто синтаксическую проверку, чтобы определить, принадлежит ли ему ресурс. Это может привести к неправильным результатам, если две сети работают на клиенте и поставщик, выполняя синтаксическую проверку, вызывается первым.
[in, out] lpBufferSize
Указатель на расположение, указывающее размер (в байтах) буфера, на который указывает lpBuffer. Если буфер слишком мал для результата, функция помещает требуемый размер буфера в это место и возвращает ошибку WN_MORE_DATA.
[out] lplpSystem
При успешном возвращении указатель на строку, завершающуюся значением NULL, в выходном буфере, указывающую ту часть ресурса, к которому осуществляется доступ через системные API, относящиеся к типу ресурса, а не через API WNet. Если такой части нет, lplpSystem имеет значение NULL. Например, если входное имя удаленного ресурса было "\server\share\dir", возвращается lpRemoteName , указывающее на "\server\share", а lplpSystem указывает на "\dir", обе строки хранятся в буфере, на который указывает lpBuffer.
Возвращаемое значение
Если функция выполнена успешно, она должна вернуть WN_SUCCESS. В противном случае он должен вернуть код ошибки, который может быть одним из следующих.
Код возврата | Описание |
---|---|
|
Входной буфер слишком мал. |
|
Этот поставщик не распознает ресурс. |
|
Недопустимый dwUsage или dwType. |
|
Вызывающий объект передает ненулевой тип dwType , который не соответствует фактическому типу сетевого ресурса. |
|
Вызывающий объект не прошел проверку подлинности в сети. |
|
Вызывающий объект прошел проверку подлинности в сети, но не имеет достаточных разрешений. |
Комментарии
Дерево перечисления можно перейти вниз от именованного сетевого ресурса с помощью NPOpenum и связанных с ним функций. Для перехода из именованного ресурса можно вызвать функцию NPGetResourceInformation для получения сведений о ресурсе, а затем функцию NPGetResourceParent для получения имени и типа родительского ресурса.
NPGetResourceInformation определяет, является ли указанный поставщик правильным поставщиком для ответа на запрос указанного сетевого ресурса. Затем он возвращает сведения о типе ресурса.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | npapi.h |