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.
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk