Condividi tramite


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
STATUS_SUCCESS
L'acquisizione NPI del provider è stata completata correttamente.
STATUS_DEVICE_NOT_READY
Il provider NPI non era ancora disponibile.
STATUS_NOINTERFACE
La versione richiesta dal client WSK non è supportata dal sottosistema WSK.
Altri codici di stato
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)

Vedere anche

WskDeregister

WskRegister

WskReleaseProviderNPI