Compartilhar via


NPI_CLIENT_DETACH_PROVIDER_FN função de retorno de chamada (netioddk.h)

A função de retorno de chamada ClientDetachProvider de um módulo cliente desanexa o módulo do cliente de um módulo de provedor.

Sintaxe

NPI_CLIENT_DETACH_PROVIDER_FN NpiClientDetachProviderFn;

NTSTATUS NpiClientDetachProviderFn(
  [in] PVOID ClientBindingContext
)
{...}

Parâmetros

[in] ClientBindingContext

Um ponteiro para o contexto do módulo cliente para a associação entre o módulo cliente e o módulo do provedor do qual ele está desanexando. O módulo cliente passa esse ponteiro para a NMR quando chama a função NmrClientAttachProvider para anexar ao módulo do provedor.

Retornar valor

A função de retorno de chamada ClientDetachProvider de um módulo cliente retorna um dos seguintes códigos NTSTATUS:

Código de retorno Descrição
STATUS_SUCCESS
O módulo cliente foi desanexado com êxito do módulo do provedor.
STATUS_PENDING
O módulo cliente não pôde desanexar do módulo do provedor imediatamente.

Comentários

A NMR chama a função de retorno de chamada ClientDetachProvider de um módulo cliente sempre que a associação entre o módulo cliente e um módulo do provedor precisar ser encerrada. O desanexamento é iniciado pelo módulo cliente que chama a função NmrDeregisterClient ou o módulo do provedor que chama a função NmrDeregisterProvider .

Depois que sua função de retorno de chamada ClientDetachProvider tiver sido chamada, um módulo cliente não deverá fazer mais chamadas para nenhuma das funções de NPI do módulo do provedor. Se não houver chamadas em andamento para nenhuma das funções NPI do módulo do provedor quando a função de retorno de chamada ClientDetachProvider do módulo cliente for chamada, a função de retorno de chamada ClientDetachProvider do módulo cliente retornará STATUS_SUCCESS.

Se houver chamadas em andamento para uma ou mais das funções NPI do módulo do provedor quando a função de retorno de chamada ClientDetachProvider do módulo cliente for chamada, a função de retorno de chamada ClientDetachProvider do módulo cliente retornará STATUS_PENDING. Nessa situação, o módulo cliente deve chamar o Função NmrClientDetachProviderComplete após todas as chamadas em andamento para as funções NPI do módulo do provedor terem sido concluídas. A chamada para o A função NmrClientDetachProviderComplete notifica a NMR de que a desanexação do módulo do provedor está concluída.

A NMR chama o módulo do clienteFunção de retorno de chamada ClientCleanupBindingContext e do módulo do provedorFunção de retorno de chamada ProviderCleanupBindingContext depois que o módulo cliente e o módulo do provedor concluíram a desanexação entre si.

A NMR chama a função de retorno de chamada ClientDetachProvider de um módulo cliente em qualquer IRQL <= DISPATCH_LEVEL.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows.
Plataforma de Destino Windows
Cabeçalho netioddk.h (inclua Wsk.h)
IRQL <= DISPATCH_LEVEL

Confira também

ClientCleanupBindingContext

NPI_CLIENT_CHARACTERISTICS

NmrClientAttachProvider

NmrClientDetachProviderComplete

NmrDeregisterClient

NmrDeregisterProvider

ProviderCleanupBindingContext