функция обратного вызова PFN_WSK_GET_ADDRESS_INFO (wsk.h)
Функция WskGetAddressInfo выполняет независимое от протокола преобразование имени узла в адрес транспорта.
Синтаксис
PFN_WSK_GET_ADDRESS_INFO PfnWskGetAddressInfo;
NTSTATUS PfnWskGetAddressInfo(
[in] PWSK_CLIENT Client,
[in, optional] PUNICODE_STRING NodeName,
[in, optional] PUNICODE_STRING ServiceName,
[in, optional] ULONG NameSpace,
[in, optional] GUID *Provider,
[in, optional] PADDRINFOEXW Hints,
[out] PADDRINFOEXW *Result,
[in, optional] PEPROCESS OwningProcess,
[in, optional] PETHREAD OwningThread,
[in, out] PIRP Irp
)
{...}
Параметры
[in] Client
[in] Указатель на структуру WSK_CLIENT , возвращенную с помощью параметра WskProviderNpi объектаФункция WskCaptureProviderNPI.
[in, optional] NodeName
[in] Необязательный указатель на структуру UNICODE_STRING , содержащую строку Юникода, представляющую имя узла (узла) или строку числового адреса узла. Для интернет-протокола строка числового адреса узла представляет собой IPv4-адрес с точками или шестнадцатеричный адрес IPv6.
[in, optional] ServiceName
[in] Необязательный указатель на структуру UNICODE_STRING , содержащую строку Юникода, представляющую имя службы или номер порта.
[in, optional] NameSpace
[in] Необязательный идентификатор пространства имен, указывающий поставщиков пространства имен, которые запрашиваются. Запросы могут быть успешно выполнены только для поставщиков пространств имен, поддерживающих указанное пространство имен.
[in, optional] Provider
[in] Необязательный указатель на ИДЕНТИФИКАТОР GUID конкретного поставщика пространства имен, который требуется запрашивать.
[in, optional] Hints
[in] Необязательный указатель на структуру ADDRINFOEXW , которая предоставляет указания о типе сокета, который поддерживает вызывающий объект.
Структура ADDRINFOEXW определена в заголовке Ws2def.h. Он идентичен
Структура addrinfoex.
[out] Result
[out] Указатель на буфер, выделенный вызывающим объектом, который получает связанный список одной или нескольких структур ADDRINFOEXW , представляющих сведения об ответе об узле.
[in, optional] OwningProcess
[in] Необязательный указатель на процесс, из которого функция получает контекст безопасности. Этот контекст безопасности указывает контекст учетной записи пользователя, в котором функция обрабатывает запрос разрешения имен.
Если этот параметр имеет значение NULL, функция обрабатывает запрос разрешения имен в контексте предопределенной локальной учетной записи с минимальными привилегиями.
Если этот параметр не имеет значение NULL и для вызывающего потока действует токен олицетворения, эта функция завершается ошибкой и возвращает STATUS_INVALID_PARAMETER.
[in, optional] OwningThread
[in] Необязательный указатель на поток, из которого функция получает контекст безопасности. Этот параметр может иметь значение, отличное от NULL , только если Свойство OwningProcess не равно NULL. В противном случае эта функция завершается сбоем и возвращает STATUS_INVALID_PARAMETER.
Если этот параметр не имеет значение NULL и для вызывающего потока действует токен олицетворения, эта функция завершается ошибкой и возвращает STATUS_INVALID_PARAMETER.
[in, out] Irp
[вход/выход] Указатель на пакет запроса ввода-вывода (IRP), используемый для асинхронного выполнения запроса. По завершении запроса Irp ->Iostatus.Information будет содержать возвращенный код состояния.
Возвращаемое значение
WskGetAddressInfo возвращает один из следующих кодов NTSTATUS:
Код возврата | Описание |
---|---|
|
Указан недопустимый параметр. |
|
Не удается разрешить имя узла. |
|
Функция успешно завершена. Если приложение WSK указало указатель на IRP в Параметр Irp , IRP будет завершен с состоянием успешного выполнения. |
|
Подсистеме WSK не удалось выполнить функцию немедленно. Подсистема WSK завершит IRP после завершения операции управления. Состояние операции управления будет возвращено в поле IoStatus.Status IRP. |
|
Произошла ошибка. IRP будет завершен с состоянием сбоя. |
Комментарии
Процесс, на который указывает параметр OwningProcess , или поток, на который указывает процесс OwningThread , указывает контекст безопасности для этой функции. Учетная запись пользователя, обозначенная контекстом безопасности, указывает контекст для запроса разрешения имен функции.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows 7 и более поздних версиях операционных систем Windows. |
Целевая платформа | Универсальное |
Верхняя часть | wsk.h (включая Wsk.h) |
IRQL | PASSIVE_LEVEL |