estrutura DRT_BOOTSTRAP_PROVIDER (drt.h)

A estrutura DRT_BOOTSTRAP_PROVIDER define a interface DRT que deve ser implementada por um provedor de inicialização.

Nota A infraestrutura drt não chama os métodos do provedor de inicialização simultaneamente.
 

Sintaxe

typedef struct drt_bootstrap_provider_tag {
  PVOID    pvContext;
  HRESULT( )(const PVOID pvContext) *Attach;
  VOID( )(const PVOID pvContext)    *Detach;
  HRESULT((const PVOID pvContext,BOOL fSplitDetect,ULONG timeout,ULONG cMaxResults,DRT_BOOTSTRAP_RESOLVE_CONTEXT *ResolveContext,BOOL *fFatalError) * )InitResolve;
  HRESULT()(const PVOID pvContext, const PVOID pvCallbackContext,DRT_BOOTSTRAP_RESOLVE_CALLBACK callback,DRT_BOOTSTRAP_RESOLVE_CONTEXT ResolveContext,BOOL *fFatalError) * IssueResolve;
  VOID( )(const PVOID pvContext,DRT_BOOTSTRAP_RESOLVE_CONTEXT ResolveContext)    *EndResolve;
  HRESULT()(const PVOID pvContext, const SOCKET_ADDRESS_LIST *pAddressList) * Register;
  VOID( )(const PVOID pvContext)    *Unregister;
} DRT_BOOTSTRAP_PROVIDER, *PDRT_BOOTSTRAP_PROVIDER;

Membros

pvContext

Ponteiro para dados de contexto definidos pelo resolvedor de inicialização. Ao criar um resolvedor de inicialização, o desenvolvedor é obrigado a preencher o resolvedor com as informações necessárias; muitas vezes, isso ocorre como um ponteiro "this". Esse contexto é passado para todos os parâmetros de contexto nas funções definidas pelo DRT_BOOTSTRAP_PROVIDER.

Attach

Incrementa a contagem de referências para o Provedor de Inicialização com um conjunto de DRTs.

pvContext

Contém o valor pvContext de DRT_BOOTSTRAP_PROVIDER.

Detach

Diminui a contagem de referências para o Provedor de Inicialização com um conjunto de DRTs.

pvContext

Contém o valor pvContext de DRT_BOOTSTRAP_PROVIDER.

InitResolve

Chamado pela infraestrutura drt para fornecer informações de configuração sobre as próximas resoluções de nomes.

pvContext

Contém o valor pvContext de DRT_BOOTSTRAP_PROVIDER.

fSplitDetect

Especifica se a operação de resolve está sendo utilizada para detecção e recuperação de divisão de rede.

tempo limite

Especifica o tempo máximo que um resolve deve levar antes de atingir o tempo limite. Esse valor é representado em milissegundos.

cMaxResults

Especifica o número máximo de resultados a serem retornados durante a operação de resolve.

ResolveContext

Ponteiro para resolver dados específicos.

fFatalError

Se o provedor de inicialização encontrar um erro irrecuperável, esse parâmetro deverá ser definido como TRUE quando a função for concluída para que o DRT faça a transição para o estado com falha. O HRESULT que é disponibilizado para o aplicativo de camada superior para depuração aparecerá no membro hr da estrutura de DRT_EVENT_DATA associada ao evento que sinaliza a transição para o estado com falha. Essa função de provedor de inicialização não deve retornar S_OK se definir o sinalizador fFatalError como TRUE.

IssueResolve

Chamado pela infraestrutura drt para emitir uma resolução para determinar os pontos de extremidade de nós já ativos na nuvem DRT.

pvContext

Contém o valor pvContext de DRT_BOOTSTRAP_PROVIDER.

pvCallbackContext

Ponteiro para os dados de contexto que são passados de volta para o retorno de chamada definido pelo próximo parâmetro.

retorno de chamada

Um BOOTSTRAP_RESOLVE_CALLBACK que é chamado de volta para cada resultado e DRT_E_NO_MORE.

ResolveContext

Ponteiro para resolver dados específicos.

fFatalError

Se o provedor de inicialização encontrar um erro irrecuperável, esse parâmetro deverá ser definido como TRUE quando a função for concluída para que o DRT faça a transição para o estado com falha. O HRESULT que é disponibilizado para o aplicativo de camada superior para depuração aparecerá no membro hr da estrutura de DRT_EVENT_DATA associada ao evento que sinaliza a transição para o estado com falha. Essa função de provedor de inicialização não deve retornar S_OK se definir o sinalizador fFatalError como TRUE.

EndResolve

Encerra a resolução de um ponto de extremidade.

pvContext

Contém o valor pvContext de DRT_BOOTSTRAP_PROVIDER.

ResolveContext

O BOOTSTRAP_RESOLVE_CONTEXT recebido da função Resolver do provedor de inicialização especificado.

Register

Registra um ponto de extremidade com o mecanismo de inicialização. Esse processo possibilita que outros nós encontrem o ponto de extremidade por meio do resolvedor de inicialização.

pvContext

Contém o valor pvContext de DRT_BOOTSTRAP_PROVIDER.

pAddressList

Ponteiro para a lista de endereços a serem registrados com o mecanismo de inicialização.

Unregister

Essa função desregista um ponto de extremidade com o mecanismo de inicialização. Como resultado, outros nós não poderão localizar o nó local por meio do resolvedor de inicialização.

pvContext

Contém o valor pvContext de DRT_BOOTSTRAP_PROVIDER.

Requisitos

   
Cliente mínimo com suporte Windows 7 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Cabeçalho drt.h