Функция WskCaptureProviderNPI (wsk.h)
Функция WskCaptureProviderNPI фиксирует сетевой программный интерфейс поставщика (NPI), когда он становится доступным из подсистемы WSK.
Синтаксис
NTSTATUS WskCaptureProviderNPI(
[in] PWSK_REGISTRATION WskRegistration,
[in] ULONG WaitTimeout,
[out] PWSK_PROVIDER_NPI WskProviderNpi
);
Параметры
[in] WskRegistration
Указатель на расположение памяти, инициализированное WskRegister , идентифицирующее экземпляр регистрации приложения WSK. Дополнительные сведения см. в разделе WSK_REGISTRATION.
[in] WaitTimeout
Время (в миллисекундах) функции WskCaptureProviderNPI может ждать, пока NPI поставщика WSK станет доступным. Кроме того, можно указать следующее:
WSK_NO_WAIT
Вернитесь из этой функции немедленно, если NPI поставщика недоступен.
WSK_INFINITE_WAIT
Дождитесь, пока NPI поставщика не будет доступен из подсистемы WSK.
Дополнительные сведения об использовании этого параметра см. в разделе Регистрация приложения ядра Winsock.
[out] WskProviderNpi
Указатель на NPI, возвращенный поставщиком WSK. Эта структура WSK_PROVIDER_NPI содержит указатель на таблицу диспетчеризации поставщика WSK функций WSK, которые может вызывать приложение WSK.
Возвращаемое значение
WskCaptureProviderNPI возвращает один из следующих кодов NTSTATUS:
Код возврата | Описание |
---|---|
|
Запись NPI поставщика успешно завершена. |
|
NPI поставщика пока недоступен. |
|
Версия, запрошенная клиентом WSK, не поддерживается подсистемой WSK. |
|
Сбой записи NPI поставщика. |
Комментарии
Для каждого вызова WskCaptureProviderNPI , возвращающего код успешного выполнения, должен быть ровно один соответствующий вызов WskReleaseProviderNPI , использующий тот же параметр WskRegistration , который был передан в WskCaptureProviderNPI.
WskCaptureProviderNPI можно вызывать после вызова WskDeregister , только если блок WskRegistration не освобожден или не перезаписан. После вызова WskDeregister все дальнейшие вызовы WskCaptureProviderNPI завершаются сбоем с кодом состояния STATUS_DEVICE_NOT_READY, и, если NPI поставщика не станет доступным одновременно, все существующие вызовы WskCaptureProviderNPI , заблокированные в других потоках, ожидающих, пока NPI поставщика WSK станет доступным, также будут немедленно возвращаться с кодом состояния STATUS_DEVICE_NOT_READY.
Дополнительные сведения о присоединении приложения WSK к подсистеме WSK см. в разделе Регистрация приложения ядра Winsock.
Вызывающие функции WskCaptureProviderNPI должны выполняться в irQL = PASSIVE_LEVEL, если для WaitTimeout не задано значение WSK_NO_WAIT; В противном случае вызывающие средства должны выполняться в IRQL <= DISPATCH_LEVEL.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
Целевая платформа | Универсальное |
Верхняя часть | wsk.h (включая Wsk.h) |
Библиотека | Netio.lib |
IRQL | PASSIVE_LEVEL (см. раздел "Примечания") |