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

A função de retorno de chamada ProviderDetachClient de um módulo de provedor 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.

Retornar valor

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
STATUS_SUCCESS
O módulo do provedor foi desanexado com êxito do módulo cliente.
STATUS_PENDING
O módulo do provedor não pôde desanexar do módulo cliente imediatamente.

Comentários

A 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 de retorno de chamada ProviderDetachClient tiver sido chamada, um módulo de provedor não deve 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 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_PENDING. Nessa situação, o módulo do provedor deve chamar o A função NmrProviderDetachClientComplete após todas as chamadas em andamento para as funções de retorno de chamada de NPI do módulo cliente tiverem sido concluídas. A chamada para oA função NmrProviderDetachClientComplete notifica o NMR de que a desanexação do módulo cliente 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 após o módulo cliente e o módulo do provedor terem 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 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_PROVIDER_CHARACTERISTICS

NmrDeregisterClient

NmrDeregisterProvider

NmrProviderDetachClientComplete

ProviderAttachClient

ProviderCleanupBindingContext