Partilhar via


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

A função de retorno de chamada ClientAttachProvider de um módulo cliente anexa o módulo cliente a um módulo de provedor.

Sintaxe

NPI_CLIENT_ATTACH_PROVIDER_FN NpiClientAttachProviderFn;

NTSTATUS NpiClientAttachProviderFn(
  [in] HANDLE NmrBindingHandle,
  [in] PVOID ClientContext,
  [in] PNPI_REGISTRATION_INSTANCE ProviderRegistrationInstance
)
{...}

Parâmetros

[in] NmrBindingHandle

Um identificador usado pela NMR para representar a associação entre o módulo cliente e o módulo do provedor.

[in] ClientContext

Um ponteiro para o contexto de registro do módulo cliente. O módulo cliente passa esse ponteiro para a NMR quando chama a função NmrRegisterClient para se registrar na NMR.

[in] ProviderRegistrationInstance

Um ponteiro para um NPI_REGISTRATION_INSTANCE estrutura. Essa estrutura contém os dados de registro do módulo do provedor.

Valor de retorno

A função de retorno de chamada ClientAttachProvider de um módulo cliente retorna um dos seguintes códigos NTSTATUS:

Código de retorno Descrição
STATUS_SUCCESS
O módulo cliente e o módulo do provedor anexados entre si com êxito.
STATUS_NOINTERFACE
O módulo cliente não foi anexado ao módulo do provedor ou o módulo do provedor não foi anexado ao módulo cliente.
Outros códigos de status
Ocorreu um erro.

Observações

Depois que um módulo cliente tiver sido registrado com a NMR, a NMR chamará a função de retorno de chamada ClientAttachProvider do módulo cliente, uma vez para cada módulo de provedor registrado como um provedor do mesmo de NPI para o qual o módulo cliente se registrou como um cliente.

O NMR também chama a função de retorno de chamada ClientAttachProvider de um módulo de cliente sempre que um novo módulo de rede se registra como um provedor do mesmo de NPI para o qual o módulo cliente se registrou como um cliente.

Um módulo cliente pode examinar os dados de registro do módulo do provedor. Esses dados estão na estrutura apontada pelo parâmetro ProviderRegistrationInstance. O módulo cliente usa esses dados para determinar se ele será anexado ao módulo do provedor:

  • Se o módulo cliente determinar que ele será anexado ao módulo do provedor, a função ClientAttachProvider de retorno de chamada chamará a função NmrClientAttachProvider para continuar o processo de anexo. Nessa situação, a função de retorno de chamada ClientAttachProvider deve retornar o código de status retornado pela chamada para o função NmrClientAttachProvider.
  • Se o módulo cliente determinar que ele não será anexado ao módulo do provedor, a função de retorno de chamada ClientAttachProvider deverá retornar STATUS_NOINTERFACE.
Se o módulo cliente for anexado com êxito ao módulo do provedor, ele deverá salvar o identificador fornecido no parâmetro NmrBindingHandle. O módulo cliente passa esse identificador como um parâmetro para o função NmrClientDetachProviderComplete quando ela se desanexa do módulo do provedor.

A NMR chama a função de retorno de chamada ClientAttachProvider de um módulo cliente em IRQL = PASSIVE_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 PASSIVE_LEVEL

Consulte também

ClientDetachProvider

NPI_CLIENT_CHARACTERISTICS

NPI_REGISTRATION_INSTANCE

NmrClientAttachProvider

NmrClientDetachProviderComplete

NmrRegisterClient