NPI_PROVIDER_DETACH_CLIENT_FN função de retorno de chamada (netioddk.h)
O ProviderDetachClient de um módulo de provedor função de retorno de chamada desanexa o módulo do provedor de um módulo cliente.
Sintaxe
NPI_PROVIDER_DETACH_CLIENT_FN NpiProviderDetachClientFn;
NTSTATUS NpiProviderDetachClientFn(
[in] PVOID ProviderBindingContext
)
{...}
Parâmetros
[in] ProviderBindingContext
Um ponteiro para o contexto do módulo do provedor para a associação entre o módulo do provedor e o módulo cliente do qual ele está desanexando. A função de retorno de chamada ProviderAttachClient do módulo do provedor retorna esse ponteiro para o NMR quando ele é anexado ao módulo cliente.
Valor de retorno
A função de retorno de chamada ProviderDetachClient de um módulo de provedor retorna um dos seguintes códigos NTSTATUS:
Código de retorno | Descrição |
---|---|
|
O módulo do provedor foi desanexado com êxito do módulo cliente. |
|
O módulo do provedor não pôde desanexar do módulo cliente imediatamente. |
Observações
O NMR chama a função de retorno de chamada ProviderDetachClient de um módulo de provedor sempre que a associação entre o módulo do provedor e um módulo cliente precisar ser encerrada. O desanexamento é iniciado pelo módulo cliente que chama a função NmrDeregisterClient ou pelo módulo do provedor que chama a função NmrDeregisterProvider.
Depois que sua função ProviderDetachClient tiver sido chamada, um módulo de provedor não deverá fazer mais chamadas para nenhuma das funções de retorno de chamada NPI do módulo cliente. Se não houver chamadas em andamento para nenhuma das funções de retorno de chamada NPI do módulo cliente quando a função de retorno de chamada ProviderDetachClient do módulo do provedor for chamada, a função de retorno de chamada ProviderDetachClient do módulo do provedor retornará STATUS_SUCCESS.
Se houver chamadas em andamento para uma ou mais das funções de retorno de chamada NPI do módulo de cliente quando a função ProviderDetachClient do módulo de provedor for chamada, a função de retorno de chamada ProviderDetachClient do módulo de provedor retornará STATUS_PENDING. Nessa situação, o módulo do provedor deve chamar o função NmrProviderDetachClientComplete após todas as chamadas em andamento para as funções de retorno de chamada NPI do módulo cliente tiverem sido concluídas. A chamada para o função NmrProviderDetachClientComplete notifica o NMR de que o desanexamento do módulo cliente está concluído.
O NMR chama o módulo do cliente clientCleanupBindingContext função de retorno de chamada e do módulo do provedor ProviderCleanupBindingContext função de retorno de chamada depois que o módulo cliente e o módulo do provedor tiverem concluído a desanexação entre si.
A NMR chama a função de retorno de chamada ProviderDetachClient de um módulo de provedor em qualquer <de 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 | Windows |
cabeçalho | netioddk.h (inclua Wsk.h) |
IRQL | <= DISPATCH_LEVEL |