Compartilhar via


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

O ClientDetachProvider de um módulo cliente função de retorno de chamada desanexa o módulo cliente de um módulo do 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.

Valor de retorno

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.

Observações

O 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 de provedor 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 ClientDetachProvider tiver sido chamada, um módulo cliente não deverá fazer mais chamadas para nenhuma das funções de de NPI do do módulo do provedor. Se não houver chamadas em andamento para nenhuma das funções de 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 ClientDetachProvid er do módulo cliente retornará STATUS_SUCCESS.

Se houver chamadas em andamento para uma ou mais das funções de de NPI do módulo do provedor quando a função de retorno de chamada ClientDetachProvider do módulo do 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 depois que todas as chamadas em andamento para as funções NPI do módulo do provedor tiverem sido concluídas. A chamada para o função NmrClientDetachProviderComplete notifica o NMR de que o desanexamento do módulo do provedor 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 o desanexamento entre si.

A NMR chama a função de retorno de chamada ClientDetachProvider de um módulo cliente 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

Consulte também

ClientCleanupBindingContext

NPI_CLIENT_CHARACTERISTICS

NmrClientAttachProvider

NmrClientDetachProviderComplete

NmrDeregisterClient

NmrDeregisterProvider

ProviderCleanupBindingContext