Compartir a través de


Función WskCaptureProviderNPI (wsk.h)

La función WskCaptureProviderNPI captura una interfaz de programación de red (NPI) del proveedor cuando está disponible desde el subsistema WSK.

Sintaxis

NTSTATUS WskCaptureProviderNPI(
  [in]  PWSK_REGISTRATION WskRegistration,
  [in]  ULONG             WaitTimeout,
  [out] PWSK_PROVIDER_NPI WskProviderNpi
);

Parámetros

[in] WskRegistration

Puntero a la ubicación de memoria inicializada por WskRegister que identifica la instancia de registro de una aplicación WSK. Para obtener más información, consulte WSK_REGISTRATION.

[in] WaitTimeout

El tiempo, en milisegundos, que la función WskCaptureProviderNPI puede esperar hasta que el proveedor de WSK NPI esté disponible. Como alternativa, se puede especificar lo siguiente:

WSK_NO_WAIT

Vuelva de esta función inmediatamente si el proveedor NPI no está disponible.

WSK_INFINITE_WAIT

Espere hasta que el NPI del proveedor esté disponible en el subsistema WSK.

Para obtener más información sobre cómo se usa este parámetro, consulte Registro de una aplicación kernel de Winsock.

[out] WskProviderNpi

Puntero al NPI devuelto por el proveedor de WSK. Esta estructura de WSK_PROVIDER_NPI contiene un puntero a la tabla de distribución del proveedor WSK de funciones de WSK a las que puede llamar la aplicación WSK.

Valor devuelto

WskCaptureProviderNPI devuelve uno de los siguientes códigos NTSTATUS:

Código devuelto Descripción
STATUS_SUCCESS
La captura NPI del proveedor se completó correctamente.
STATUS_DEVICE_NOT_READY
El proveedor NPI aún no estaba disponible.
STATUS_NOINTERFACE
La versión solicitada por el cliente WSK no es compatible con el subsistema WSK.
Otros códigos de estado
Error en la captura de NPI del proveedor.

Comentarios

Para cada llamada a WskCaptureProviderNPI que devuelve un código correcto, debe haber exactamente una llamada WskReleaseProviderNPI que use el mismo parámetro WskRegistration que se pasó a WskCaptureProviderNPI.

Se puede llamar a WskCaptureProviderNPI después de realizar una llamada a WskDeregister solo si el bloque WskRegistration no está liberado ni sobrescrito. Después de llamar a WskDeregister , se producirá un error en cualquier llamada a WskCaptureProviderNPI con el código de estado STATUS_DEVICE_NOT_READY y, a menos que el proveedor NPI esté disponible simultáneamente, las llamadas de WskCaptureProviderNPI existentes bloqueadas en otros subprocesos que esperan a que el proveedor de WSK esté disponible, también devolverá inmediatamente con el código de estado STATUS_DEVICE_NOT_READY.

Para obtener más información sobre cómo adjuntar una aplicación WSK al subsistema WSK, vea Registro de una aplicación kernel de Winsock.

Los autores de llamadas de la función WskCaptureProviderNPI deben ejecutarse en IRQL = PASSIVE_LEVEL si WaitTimeout no está establecido en WSK_NO_WAIT; de lo contrario, los autores de llamadas deben ejecutarse en IRQL <= DISPATCH_LEVEL.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.
Plataforma de destino Universal
Encabezado wsk.h (incluya Wsk.h)
Library Netio.lib
IRQL PASSIVE_LEVEL (consulte la sección Comentarios)

Consulte también

WskDeregister

WskRegister

WskReleaseProviderNPI