Menginterpretasikan Informasi Pengikatan
Microsoft RPC memungkinkan program klien dan server Anda mengakses dan menginterpretasikan informasi dalam handle pengikatan. Ini tidak berarti bahwa Anda dapat atau harus mencoba mengakses konten handle pengikatan secara langsung. Microsoft RPC menyediakan fungsi untuk menetapkan dan mendapatkan informasi dalam pegangan pengikatan.
Untuk mendapatkan informasi tentang handle pengikatan, oper handle 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 handle binding yang valid. Perhatikan bahwa nilai NULL diteruskan sebagai parameter kedua untuk RpcStringBindingParse. Ini menyebabkan fungsi tersebut mengabaikan penguraian UUID objek. Karena tidak mengurai UUID, RpcStringBindingParse tidak akan mengalokasikan string untuk itu. Teknik ini memungkinkan aplikasi Anda hanya mengalokasikan memori untuk informasi yang Anda minati untuk penguraian dan analisis.