Função NmrDeregisterProvider (netioddk.h)

A função NmrDeregisterProvider desregista um módulo de provedor do NMR.

Sintaxe

NTSTATUS NmrDeregisterProvider(
  [in] HANDLE NmrProviderHandle
);

Parâmetros

[in] NmrProviderHandle

Um identificador usado pela NMR para representar o registro do módulo do provedor. O NMR retorna esse identificador para o módulo do provedor quando o módulo do provedor chama a função NmrRegisterProvider .

Retornar valor

A função NmrDeregisterProvider retorna um dos seguintes códigos NTSTATUS:

Código de retorno Descrição
STATUS_PENDING
O NMR iniciou o cancelamento do registro do módulo do provedor. O módulo do provedor deve chamar o Função NmrWaitForProviderDeregisterComplete para aguardar até que o cancelamento do registro seja concluído antes que o módulo do provedor possa ser descarregado.
Outros códigos de status
Ocorreu um erro.

Comentários

Quando um módulo de provedor chama a função NmrDeregisterProvider , o NMR chama a função de retorno de chamada ProviderDetachClient do módulo do provedor e a função de retorno de chamada ClientDetachProvider do módulo cliente para cada uma das associações entre o módulo do provedor e um módulo de cliente. O cancelamento do registro do módulo do provedor do NMR é concluído depois que o módulo do provedor é desanexado com êxito de todos os módulos cliente aos quais ele está anexado e todos esses módulos cliente foram desanexados com êxito do módulo do provedor.

Um módulo de provedor normalmente chama a função NmrDeregisterProvider de sua função Unload para se desanexar de todos os módulos cliente aos quais ele é anexado antes que o módulo do provedor seja descarregado do sistema. Depois de chamar a função NmrDeregisterProvider , um módulo de provedor deve chamar o Função NmrWaitForProviderDeregisterComplete para aguardar a conclusão do cancelamento do registro antes que o módulo do provedor possa ser descarregado. Um módulo de provedor não deve retornar de uma chamada para sua função Unload até que o cancelamento do registro seja concluído.

Nota Se um módulo de provedor usar a Estrutura do Driver do Windows, ele normalmente chamará o Função NmrDeregisterProvider de sua função de retorno de chamada de evento EvtDriverUnload . Nessa situação, o módulo do provedor não deve retornar de uma chamada para sua função EvtDriverUnload até que o cancelamento do registro seja concluído.
 

Requisitos

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

Confira também

ClientDetachProvider

EvtDriverUnload

NmrRegisterProvider

NmrWaitForProviderDeregisterComplete

ProviderDetachClient

Descarregar