Compartir a través de


Función WskCaptureProviderNPI (wsk.h)

La función WskCaptureProviderNPI captura un proveedor interfaz de programación de red (NPI) 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, vea WSK_REGISTRATION.

[in] WaitTimeout

El tiempo, en milisegundos, que la función de 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 proveedor NPI 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 de kernel winsock.

[out] WskProviderNpi

Puntero al NPI devuelto por el proveedor WSK. Esta estructura 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
El subsistema WSK no admite la versión solicitada por el cliente WSK.
otros códigos de estado
Error en la captura NPI del proveedor.

Observaciones

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

WskCaptureProviderNPI se puede llamar después de realizar una llamada a WskDeregister solo si el bloque WskRegistration no está liberado ni sobrescrito. Después de llamar a WskDeregister, Cualquier llamada adicional a WskCaptureProviderNPI producirá un error con el código de estado STATUS_DEVICE_NOT_READY y, a menos que el proveedor NPI esté disponible simultáneamente, cualquier WskCaptureProviderNPI llamadas bloqueadas en otros subprocesos que esperan que el proveedor de WSK NPI 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, consulte Registro de una aplicación de kernel 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 Valor
cliente mínimo admitido Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.
de la plataforma de destino de Universal
encabezado de wsk.h (incluya Wsk.h)
biblioteca de Netio.lib
irQL PASSIVE_LEVEL (consulte la sección Comentarios)

Consulte también

WskDeregister

WskRegister

WskReleaseProviderNPI