Menginterpretasikan Informasi Pengikatan
Microsoft RPC memungkinkan klien dan program server Anda mengakses dan menginterpretasikan informasi dalam handel pengikatan. Ini tidak berarti bahwa Anda dapat atau harus mencoba mengakses konten handel pengikatan secara langsung. Microsoft RPC menyediakan fungsi yang mengatur dan mengambil informasi dalam handel pengikatan.
Untuk mendapatkan informasi dalam handel pengikatan, teruskan handel ke RpcBindingToStringBinding. Ini mengembalikan informasi pengikatan sebagai string. Untuk setiap panggilan ke RpcBindingToStringBinding, Anda harus memiliki panggilan yang sesuai ke fungsi RpcStringFree.
Anda dapat memanggil fungsi RpcStringBindingParse untuk mengurai string yang Anda peroleh dari RpcBindingToStringBinding. Fungsi ini mengalokasikan string untuk berisi informasi yang diurainya. Jika Anda tidak ingin memilah bagian tertentu dari informasi pengikatan, teruskan NULL sebagai nilai parameter tersebut. Pastikan untuk memanggil RpcStringFree untuk setiap string yang dialokasikannya.
Fragmen kode berikut menggambarkan bagaimana aplikasi mungkin memanggil fungsi-fungsi ini.
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.
Kode sampel sebelumnya memanggil fungsi RpcBindingToStringBinding dan RpcStringBindingParse untuk mendapatkan dan mengurai informasi dalam handel pengikatan yang valid. Perhatikan bahwa nilai NULL diteruskan sebagai parameter kedua ke RpcStringBindingParse. Ini menyebabkan fungsi tersebut melompati penguraian UUID objek. Karena tidak mengurai UUID, RpcStringBindingParse tidak akan mengalokasikan string untuknya. Teknik ini memungkinkan aplikasi Anda untuk hanya mengalokasikan memori untuk informasi yang Anda minati untuk penguraian dan analisis.