Função RpcNsBindingImportNext (rpcnsi.h)
A função RpcNsBindingImportNext pesquisa uma interface (e, opcionalmente, um objeto de um banco de dados name-service) e retorna um identificador de associação de um servidor compatível, se encontrado.
Sintaxe
RPC_STATUS RpcNsBindingImportNext(
RPC_NS_HANDLE ImportContext,
RPC_BINDING_HANDLE *Binding
);
Parâmetros
ImportContext
Identificador nome-serviço retornado da função RpcNsBindingImportBegin .
Binding
Retorna um ponteiro para um identificador de associação de servidor compatível com o cliente para um servidor.
Valor retornado
Valor | Significado |
---|---|
|
A chamada foi bem-sucedida. |
|
Não há mais associações. |
|
O serviço de nome está indisponível. |
Comentários
A função RpcNsBindingImportNext retorna um identificador de associação de servidor compatível com o cliente para um servidor que oferece a interface e o objeto UUID especificados pelos parâmetros IfSpec e ObjUuid na função RpcNsBindingImportBegin . A função se comunica apenas com o banco de dados name-service, não diretamente com servidores.
Em vigor com o Windows 2000, o ambiente RPC usa o Active Directory como seu banco de dados name-service e a ordem na qual o ambiente de tempo de execução executa a pesquisa é a seguinte:
- Pesquise no cache local. Se não houver nenhuma entrada,
- Pesquise no Active Directory. Se não houver nenhuma entrada,
- Envie solicitações de transmissão para todos os outros serviços de diretório no domínio.
Observe que, se a entrada existir no Active Directory, mas não houver informações associadas à entrada, o ambiente de tempo de execução não emitirá essa solicitação de transmissão.
- Se o servidor não exportar UUIDs de objeto, o identificador de associação retornado conterá um UUID de objeto nulo.
- Se o servidor exportou um objeto UUID, o identificador de associação retornado contém esse objeto UUID.
- Se o servidor exportou vários UUIDs de objeto, o identificador de associação retornado conterá um dos UUIDs do objeto. A operação import-next seleciona o UUID do objeto retornado de forma não determinística. Como resultado, um UUID de objeto diferente pode ser retornado para cada identificador de associação compatível de uma única entrada de servidor.
Sempre que o cliente chama RpcNsBindingImportNext, a função retorna outro identificador de associação de servidor. Os identificadores de associação retornados não são ordenados. Um aplicativo cliente chama a função RpcNsBindingInqEntryName para obter o banco de dados name-service no nome de entrada do qual o identificador de associação veio. Quando a pesquisa atinge o final do banco de dados name-service, RpcNsBindingInqEntryName retorna uma status de RPC_S_NO_MORE_BINDINGS e retorna um valor de parâmetro de associação NULL.
A função RpcNsBindingImportNext aloca armazenamento para os dados referenciados pelo parâmetro Binding retornado. Quando um aplicativo cliente termina com o identificador de associação, ele deve chamar RpcBindingFree para desalocar o armazenamento. Cada chamada para RpcNsBindingImportNext requer uma chamada correspondente para RpcBindingFree.
O cliente é responsável por chamar a função RpcNsBindingImportDone , que exclui o contexto de importação. O cliente também chama RpcNsBindingImportDone antes de chamar RpcNsBindingImportBegin para iniciar uma nova pesquisa por servidores compatíveis. Como a ordem dos identificadores de associação retornados é diferente para cada nova pesquisa, a ordem na qual os identificadores de associação são retornados a um aplicativo pode ser diferente sempre que o aplicativo é executado.
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | rpcnsi.h (inclua Rpc.h) |
Biblioteca | Rpcns4.lib |
DLL | Rpcns4.dll |