Fungsi RpcServerInqCallAttributesA (rpcasync.h)

Fungsi RpcServerInqCallAttributes adalah panggilan server RPC yang mendapatkan atribut konteks keamanan klien.

Sintaks

RPC_STATUS RpcServerInqCallAttributesA(
  [in]      RPC_BINDING_HANDLE ClientBinding,
  [in, out] void               *RpcCallAttributes
);

Parameter

[in] ClientBinding

Pilihan. Untuk pengikatan eksplisit dalam rutinitas server, ClientBinding adalah handel pengikatan yang rutinitas manajernya dipanggil. Lihat Keterangan.

[in, out] RpcCallAttributes

RPC_CALL_ATTRIBUTES_V2 struktur yang menerima atribut panggilan.

Mengembalikan nilai

Mengembalikan RPC_S_OK setelah berhasil, dan RpcCallAttributes diisi. Jika ERROR_MORE_DATA dikembalikan, satu atau beberapa bidang di RpcCallAttributes memiliki panjang yang tidak mencukup dan tidak dapat diisi. Lihat Keterangan di RPC_CALL_ATTRIBUTES_V2 untuk detail tentang penanganan ERROR_MORE_DATA.

Setelah gagal, konten RpcCallAttributes tidak terdefinisi dan dapat dimodifikasi sebagian oleh RPC.

Catatan Untuk daftar kode kesalahan yang valid, lihat Nilai Pengembalian RPC.
 

Keterangan

Fungsi RpcServerInqCallAttributes menggunakan skema penerapan versi untuk menggabungkan kemampuan baru tanpa harus memperkenalkan fungsi baru dengan pengidentifikasi akhiran. Misalnya, versi kedua RPC_CALL_ATTRIBUTES_V2, yang diidentifikasi dengan #define sederhana di header, dapat menambahkan anggota baru untuk memfasilitasi fungsionalitas baru yang dibangun ke dalam versi mendatang dari fungsi RpcServerInqCallAttributes , tanpa harus merilis fungsi yang disebut RpcServerInqCallAttributesEx.

Jika fungsi RpcServerInqCallAttributes dipanggil di luar rutinitas server, dan jika fungsi memanggil kueri atribut konteks keamanan untuk panggilan RPC asinkron, ClientBinding dapat diambil dengan memanggil fungsi RpcAsyncGetCallHandle dari handel asinkron.

Fungsi RpcServerInqCallAttributes tidak didukung untuk urutan protokol datagram, seperti ncadg_*. Jika dipanggil pada panggilan yang dijalankan pada urutan protokol datagram, RPC_S_CANNOT_SUPPORT dikembalikan.

Fungsi RpcServerInqCallAttributes aman untuk thread.

Contoh

RPC_CALL_ATTRIBUTES CallAttributes;  // this maps to RPC_CALL_ATTRIBUTES_V1

memset(&CallAttributes, 0, sizeof(CallAttributes));
CallAttributes.Version = RPC_CALL_ATTRIBUTES_VERSION;    // maps to 1
CallAttributes.Flags = ;//....
Status = RpcServerInqCallAttributes(0, &ClientContextAttributes);

Catatan

Header rpcasync.h mendefinisikan RpcServerInqCallAttributes sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosedur UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header rpcasync.h (termasuk Rpc.h)
Pustaka Rpcrt4.lib
DLL Rpcrt4.dll

Lihat juga

RPC_CALL_ATTRIBUTES_V2

RpcAsyncGetCallHandle