Megosztás a következőn keresztül:


Kötési információk értelmezése

A Microsoft RPC lehetővé teszi az ügyfél- és kiszolgálóprogramok számára az információk elérését és értelmezését egy kötéskezelőben. Ez nem jelenti azt, hogy közvetlenül hozzáférhetne vagy kellene próbálkoznia a kötési leíró tartalmának elérésével. A Microsoft RPC olyan függvényeket biztosít, amelyek a kötéskezelőkben állítják be és kérik le az információkat.

A kötési leíróban lévő információk lekéréséhez adja át a leírót az RpcBindingToStringBinding. Sztringként adja vissza a kötési adatokat. Az RpcBindingToStringBinding hívásához az RpcStringFreefüggvénynek megfelelő hívással kell rendelkeznie.

Az RpcBindingToStringBinding által elért karakterlánc elemezhető az RpcStringBindingParse függvény meghívásával. Ez a függvény sztringeket foglal le, hogy azok az általa elemzett információkat tárolják. Ha nem szeretné, hogy elemeznie kell egy adott kötési információt, adjon meg egy NULL a paraméter értékeként. Minden lefoglalt karakterlánchoz hívja meg a RpcStringFree függvényt.

Az alábbi kódrészlet bemutatja, hogyan hívhatja egy alkalmazás ezeket a függvényeket.

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.

Az előző mintakód meghívja a függvényeket RpcBindingToStringBinding és RpcStringBindingParse, hogy érvényes kötési leíróban kérje le és elemezhesse az adatokat. Vegye figyelembe, hogy a NULL érték második paraméterként lett átadva az RpcStringBindingParse. Emiatt a függvény kihagyja az objektum UUID-jának elemzését. Mivel nem elemzi az UUID-t, RpcStringBindingParse nem foglal le karakterláncot. Ez a technika lehetővé teszi, hogy az alkalmazás csak a elemezni és elemezni kívánt információk számára foglaljon le memóriát.