Funzione WskCaptureProviderNPI (wsk.h)
La funzione WskCaptureProviderNPI acquisisce un provider NPI (Network Programming Interface) quando diventa disponibile dal sottosistema WSK.
Sintassi
NTSTATUS WskCaptureProviderNPI(
[in] PWSK_REGISTRATION WskRegistration,
[in] ULONG WaitTimeout,
[out] PWSK_PROVIDER_NPI WskProviderNpi
);
Parametri
[in] WskRegistration
Puntatore alla posizione di memoria inizializzata da WskRegister che identifica l'istanza di registrazione di un'applicazione WSK. Per altre informazioni, vedere WSK_REGISTRATION.
[in] WaitTimeout
Tempo, in millisecondi, che la funzione WskCaptureProviderNPI può attendere fino a quando non diventa disponibile il server dei criteri di rete del provider WSK. In alternativa, è possibile specificare quanto segue:
WSK_NO_WAIT
Restituisce immediatamente da questa funzione se il provider NPI non è disponibile.
WSK_INFINITE_WAIT
Attendere che il provider NPI sia disponibile dal sottosistema WSK.
Per altre informazioni sull'uso di questo parametro, vedere Registrazione di un'applicazione kernel Winsock.
[out] WskProviderNpi
Puntatore al server dei criteri di rete restituito dal provider WSK. Questa struttura WSK_PROVIDER_NPI contiene un puntatore alla tabella di invio del provider WSK delle funzioni WSK che l'applicazione WSK può chiamare.
Valore restituito
WskCaptureProviderNPI restituisce uno dei codici NTSTATUS seguenti:
Codice restituito | Descrizione |
---|---|
|
L'acquisizione NPI del provider è stata completata correttamente. |
|
Il provider NPI non era ancora disponibile. |
|
La versione richiesta dal client WSK non è supportata dal sottosistema WSK. |
|
L'acquisizione NPI del provider non è riuscita. |
Osservazioni
Per ogni chiamata a WskCaptureProviderNPI che restituisce un codice di esito positivo, deve essere presente esattamente un WskReleaseProviderNPI chiamata che usa lo stesso parametro WskRegistration passato a WskCaptureProviderNPI.
WskCaptureProviderNPI può essere chiamato dopo che viene effettuata una chiamata a WskDeregister solo se il blocco WskRegistration non viene liberato o sovrascritto. Dopo aver chiamato WskDeregister, Eventuali altre chiamate a WskCaptureProviderNPI avranno esito negativo con codice di stato STATUS_DEVICE_NOT_READY e, a meno che il server dei criteri di rete del provider non diventi disponibile contemporaneamente, qualsiasi WskCaptureProviderNPI chiamate bloccate in altri thread in attesa che il provider WSK NPI diventi disponibile restituirà immediatamente con il codice di stato STATUS_DEVICE_NOT_READY.
Per altre informazioni sul collegamento di un'applicazione WSK al sottosistema WSK, vedere Registrazione di un'applicazione kernel Winsock.
I chiamanti della funzione di WskCaptureProviderNPI devono essere in esecuzione in IRQL = PASSIVE_LEVEL se WaitTimeout non è impostato su WSK_NO_WAIT; in caso contrario, i chiamanti devono essere in esecuzione in IRQL <= DISPATCH_LEVEL.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows. |
piattaforma di destinazione | Universale |
intestazione | wsk.h (include Wsk.h) |
libreria | Netio.lib |
IRQL | PASSIVE_LEVEL (vedere la sezione Osservazioni) |