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 do 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.

Retornar valor

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 status
Ocorreu um erro.

Comentários

Depois que um módulo cliente tiver se registrado com a NMR, o 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 da mesma NPI para a qual o módulo cliente se registrou como um cliente.

A NMR também chama a função de retorno de chamada ClientAttachProvider de um módulo cliente sempre que um novo módulo de rede se registra como um provedor da mesma NPI para a 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 de retorno de chamada ClientAttachProvider 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 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 é desanexada 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
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 PASSIVE_LEVEL

Confira também

ClientDetachProvider

NPI_CLIENT_CHARACTERISTICS

NPI_REGISTRATION_INSTANCE

NmrClientAttachProvider

NmrClientDetachProviderComplete

NmrRegisterClient