Compartir a través de


Interpretación de la información de enlace

Microsoft RPC permite que los programas de cliente y servidor accedan e interpreten la información en un identificador de enlace. Esto no significa que pueda o debe intentar acceder directamente al contenido de un identificador de enlace. Rpc de Microsoft proporciona funciones que establecen y recuperan la información en los identificadores de enlace.

Para obtener la información de un identificador de enlace, pase el identificador a RpcBindingToStringBinding. Devuelve la información de enlace como una cadena. Para cada llamada a RpcBindingToStringBinding, debe tener una llamada correspondiente a la función RpcStringFree.

Puede llamar a la función RpcStringBindingParse para analizar la cadena que obtiene de RpcBindingToStringBinding. Esta función asigna cadenas para que contengan la información que analiza. Si no desea que analice un fragmento determinado de información de enlace, pase un valor NULL como valor de ese parámetro. Asegúrese de llamar a RpcStringFree para cada una de las cadenas que asigna.

En el fragmento de código siguiente se muestra cómo una aplicación podría llamar a estas funciones.

RPC_STATUS status;
UCHAR *lpzStringBinding;
UCHAR *lpzProtocolSequence;
UCHAR *lpzNetworkAddress;
UCHAR *lpzEndpoint;
UCHAR *NetworkOptions;
 
// The variable hBindingHandle is a valid binding handle.
 
status = RpcBindingToStringBinding(hBindingHandle,&lpzStringBinding);
// Code to check the status goes here.
 
status = RpcStringBindingParse(
    lpzStringBinding,
    NULL,
    &lpzProtocolSequence;
    &lpzNetworkAddress;
    &lpzEndpoint;
    &NetworkOptions);
// Code to check the status goes here.
 
// Code to analyze and alter the binding information in the strings
// goes here.
 
status = RpcStringFree(&lpzStringBinding);
// Code to check the status goes here.
 
status = RpcStringFree(&lpzProtocolSequence);
// Code to check the status goes here.
 
status = RpcStringFree(&lpzNetworkAddress);
// Code to check the status goes here.
 
status = RpcStringFree(&NetworkOptions);
// Code to check the status goes here.

El código de ejemplo anterior llama a las funciones RpcBindingToStringBinding y RpcStringBindingParse para obtener y analizar la información en un identificador de enlace válido. Tenga en cuenta que el valor NULL se pasó como segundo parámetro a RpcStringBindingParse. Esto hace que esa función omita el análisis del UUID del objeto. Puesto que no analiza el UUID, RpcStringBindingParse no asignará una cadena para él. Esta técnica permite a la aplicación asignar solo memoria para la información que le interesa analizar y analizar.