Funzione RpcEpResolveBinding (rpcdce.h)

La funzione RpcEpResolveBinding risolve un handle di associazione server parzialmente associato in un handle di associazione server completamente associato.

Sintassi

RPC_STATUS RpcEpResolveBinding(
  RPC_BINDING_HANDLE Binding,
  RPC_IF_HANDLE      IfSpec
);

Parametri

Binding

Handle di associazione del server parzialmente associato per la risoluzione in un handle di associazione server completamente associato.

IfSpec

Struttura generata dallo stub che specifica l'interfaccia di interesse.

Valore restituito

Valore Significato
RPC_S_OK
La chiamata ha avuto esito positivo.
RPC_S_INVALID_BINDING
Handle di associazione non valido.
RPC_S_WRONG_KIND_OF_BINDING
Si tratta del tipo di binding errato per l'operazione.
 
Nota Per un elenco di codici di errore validi, vedere Valori restituiti RPC.
 

Commenti

Un'applicazione chiama la funzione RpcEpResolveBinding per risolvere un handle di associazione server parzialmente associato in un handle di associazione completamente associato.

La risoluzione degli handle di associazione richiede un UUID di interfaccia e un UUID oggetto (che può essere nullo). La libreria di runtime RPC chiede al servizio di mapping degli endpoint nell'host specificato dal parametro Binding di cercare un endpoint per un'istanza del server compatibile. Per trovare l'endpoint, il servizio di mapping degli endpoint cerca nel database di mapping degli endpoint l'UUID dell'interfaccia nel parametro IfSpec e l'oggetto UUID nel parametro Binding , se presente.

Il modo in cui le funzioni dell'operazione di associazione di risoluzione dipendono dal fatto che l'handle di associazione specificato sia parzialmente o completamente associato. Quando il client specifica un handle parzialmente associato, l'operazione resolve-binding ha i risultati possibili seguenti:

  • Se nel database endpoint-map non sono registrate istanze del server compatibili, l'operazione resolve-binding restituisce il codice di stato EPT_S_NOT_REGISTERED.
  • Se un'istanza del server compatibile viene registrata nel database endpoint-map, l'operazione resolve-binding restituisce un'associazione completamente associata e il codice di stato RPC_S_OK.
Quando il client specifica un handle di associazione completamente associato, l'operazione resolve-binding restituisce l'handle di associazione specificato e il codice di stato RPC_S_OK. L'operazione resolve-binding non contatta il servizio di mapping degli endpoint.

Nel caso dell'associazione parzialmente o completamente associata, l'operazione di resolve-binding non contatta un'istanza del server compatibile.

Nota La chiamata a RpcEpResolveBinding non è strettamente necessaria. Se viene eseguita una chiamata RPC su un handle di associazione server parzialmente associato, il tempo di esecuzione RPC richiede i passaggi necessari per rendere l'associazione in handle di associazione completamente associato. Il runtime RPC chiama RpcEpResolveBinding, ma lo fa in modo più efficiente a causa di tecniche di memorizzazione nella cache aggiuntive. In Windows XP e Windows 2000, le applicazioni non hanno motivo di chiamare RpcEpResolveBinding.
 

Requisiti

   
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione rpcdce.h (include Rpc.h)
Libreria Rpcrt4.lib
DLL Rpcrt4.dll

Vedi anche

RpcBindingFromStringBinding

RpcBindingReset

RpcEpRegister

RpcEpRegisterNoReplace

RpcNsBindingImportBegin

RpcNsBindingImportDone

RpcNsBindingImportNext