Compartilhar via


Função NmrRegisterProvider (netioddk.h)

A função NmrRegisterProvider registra um módulo de provedor com o NMR.

Sintaxe

NTSTATUS NmrRegisterProvider(
  [in]  PNPI_PROVIDER_CHARACTERISTICS ProviderCharacteristics,
  [in]  __drv_aliasesMem PVOID        ProviderContext,
  [out] PHANDLE                       NmrProviderHandle
);

Parâmetros

[in] ProviderCharacteristics

Um ponteiro para um NPI_PROVIDER_CHARACTERISTICS estrutura que descreve as características do módulo do provedor. O módulo do provedor deve garantir que essa estrutura permaneça válida e residente na memória, desde que o módulo do provedor seja registrado com a NMR.

[in] ProviderContext

Um ponteiro para um contexto fornecido pelo chamador para o registro. O módulo do provedor usa esse contexto para acompanhar o estado do registro do provedor. O conteúdo do contexto de registro do módulo do provedor é opaco para a NMR. O NMR passa esse ponteiro para o módulo do provedor sempre que chama a função de retorno de chamada ProviderAttachClient do módulo do provedor. O módulo do provedor deve garantir que esse contexto permaneça válido e resida na memória, desde que o módulo do provedor seja registrado com a NMR.

[out] NmrProviderHandle

Um ponteiro para uma variável que recebe um identificador usado pelo NMR para representar o registro do módulo do provedor. O módulo do provedor deve salvar esse identificador e passá-lo como um parâmetro para a função NmrDeregisterProvider quando ele desregistrar da NMR.

Retornar valor

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

Código de retorno Descrição
STATUS_SUCCESS
O NMR registrou com êxito o módulo do provedor.
STATUS_INSUFFICIENT_RESOURCES
A NMR não tinha recursos de sistema suficientes para registrar o módulo do provedor.
Outros códigos de status
Ocorreu um erro.

Comentários

Um módulo de provedor chama a função NmrRegisterProvider para se registrar como um provedor de uma NPI para que ela possa ser anexada a módulos de cliente que se registram como clientes do mesmo NPI.

Um módulo de provedor normalmente chama a função NmrRegisterProvider de sua função DriverEntry depois de concluir todas as outras tarefas de inicialização. A chamada para a função NmrRegisterProvider indica à NMR que o módulo do provedor está pronto para anexar a todos os módulos de cliente que se registraram ou serão registrados como clientes da mesma NPI para a qual o módulo do provedor se registrou como um provedor.

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 PASSIVE_LEVEL

Confira também

DriverEntry

NPI_PROVIDER_CHARACTERISTICS

NmrDeregisterProvider