Compartilhar via


Função NmrDeregisterProvider (netioddk.h)

A função NmrDeregisterProvider desregistros de um módulo de provedor da 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.

Valor de retorno

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 aguardar até que a desregistração seja concluída antes que o módulo do provedor possa ser descarregado.
Outros códigos de status
Ocorreu um erro.

Observações

Quando um módulo de provedor chama a função NmrDeregisterProvider, o NMR chama a função ProviderDetachClient do módulo de provedor e o clientDetachProvider do módulo do cliente função de retorno de chamada para cada uma das associações entre o módulo do provedor e um módulo cliente. O cancelamento do registro do módulo do provedor do NMR é concluído após o módulo do provedor ter 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 Descarregar para se desanexar de todos os módulos do 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 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 Descarregar até que o cancelamento do registro seja concluído.

Observação Se um módulo de provedor usar o Windows Driver Framework, 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 a desregistração seja concluída.
 

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 Área de trabalho
cabeçalho netioddk.h (inclua Wsk.h)
biblioteca Netio.lib
IRQL <= DISPATCH_LEVEL

Consulte também

ClientDetachProvider

EvtDriverUnload

NmrRegisterProvider

NmrWaitForProviderDeregisterComplete

ProviderDetachClient

descarregar