Função WskCaptureProviderNPI (wsk.h)
A função WskCaptureProviderNPI captura um provedor NPI (Network Programming Interface) quando ele fica disponível no subsistema do WSK.
Sintaxe
NTSTATUS WskCaptureProviderNPI(
[in] PWSK_REGISTRATION WskRegistration,
[in] ULONG WaitTimeout,
[out] PWSK_PROVIDER_NPI WskProviderNpi
);
Parâmetros
[in] WskRegistration
Um ponteiro para o local de memória inicializado por WskRegister que identifica a instância de registro de um aplicativo WSK. Para obter mais informações, consulte WSK_REGISTRATION.
[in] WaitTimeout
O tempo, em milissegundos, em que a função WskCaptureProviderNPI pode aguardar até que o NPI do provedor do WSK fique disponível. Como alternativa, o seguinte pode ser especificado:
WSK_NO_WAIT
Retorne dessa função imediatamente se o NPI do provedor não estiver disponível.
WSK_INFINITE_WAIT
Aguarde até que o NPI do provedor esteja disponível no subsistema WSK.
Para obter mais informações sobre como esse parâmetro é usado, consulte Registrando um aplicativo kernel Winsock.
[out] WskProviderNpi
Um ponteiro para o NPI retornado pelo provedor do WSK. Essa estrutura de WSK_PROVIDER_NPI contém um ponteiro para a tabela de expedição do provedor WSK de funções WSK que o aplicativo WSK pode chamar.
Valor de retorno
WskCaptureProviderNPI retorna um dos seguintes códigos NTSTATUS:
Código de retorno | Descrição |
---|---|
|
A captura de NPI do provedor foi concluída com êxito. |
|
O NPI do provedor ainda não estava disponível. |
|
Não há suporte para a versão solicitada pelo cliente WSK pelo subsistema WSK. |
|
Falha na captura de NPI do provedor. |
Observações
Para cada chamada para WskCaptureProviderNPI que retorna um código de êxito, deve haver exatamente uma chamada WskReleaseProviderNPI que usa o mesmo parâmetro WskRegistration que foi passado para WskCaptureProviderNPI.
WskCaptureProviderNPI pode ser chamado depois que uma chamada é feita para WskDeregister somente se o bloco WskRegistration não for liberado ou substituído. Depois que WskDeregister é chamado, qualquer outra chamada para WskCaptureProviderNPI falhará com o código de status STATUS_DEVICE_NOT_READY e, a menos que o NPI do provedor fique disponível simultaneamente, qualquer WskCaptureProviderNPI existente chamadas bloqueadas em outros threads aguardando que o NPI do provedor do WSK fique disponível também retornará imediatamente com o código de status STATUS_DEVICE_NOT_READY.
Para obter mais informações sobre como anexar um aplicativo WSK ao subsistema WSK, consulte Registrando um aplicativo kernel Winsock.
Os chamadores da função WskCaptureProviderNPI devem estar em execução no IRQL = PASSIVE_LEVEL se WaitTimeout não estiver definido como WSK_NO_WAIT; caso contrário, os chamadores devem estar em execução no IRQL <= DISPATCH_LEVEL.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows. |
da Plataforma de Destino | Universal |
cabeçalho | wsk.h (inclua Wsk.h) |
biblioteca | Netio.lib |
IRQL | PASSIVE_LEVEL (consulte a seção Comentários) |