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 |
---|---|
|
La captura NPI del proveedor se completó correctamente. |
|
El proveedor NPI aún no estaba disponible. |
|
La versión solicitada por el cliente WSK no es compatible con el subsistema WSK. |
|
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) |