Fungsi RpcBindingSetAuthInfoExA (rpcdce.h)

Fungsi RpcBindingSetAuthInfoEx menetapkan informasi autentikasi, otorisasi, dan kualitas layanan handel pengikatan.

Sintaks

RPC_STATUS RpcBindingSetAuthInfoExA(
  RPC_BINDING_HANDLE       Binding,
  RPC_CSTR                 ServerPrincName,
  unsigned long            AuthnLevel,
  unsigned long            AuthnSvc,
  RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
  unsigned long            AuthzSvc,
  RPC_SECURITY_QOS         *SecurityQos
);

Parameter

Binding

Handel pengikatan server ke mana informasi autentikasi dan otorisasi diatur.

ServerPrincName

Arahkan ke nama utama server yang diharapkan yang dirujuk oleh Pengikatan. Konten nama dan sintaksnya ditentukan oleh layanan autentikasi yang digunakan.

Catatan Untuk kumpulan nama target yang diizinkan untuk SSP, silakan lihat komentar dalam dokumentasi InitializeSecurityContext .
 

AuthnLevel

Tingkat autentikasi yang akan dilakukan pada panggilan prosedur jarak jauh yang dilakukan menggunakan Pengikatan. Untuk daftar tingkat autentikasi yang didukung RPC, lihat Konstanta Tingkat Autentikasi.

AuthnSvc

Layanan autentikasi yang akan digunakan.

Tentukan RPC_C_AUTHN_NONE untuk menonaktifkan autentikasi untuk panggilan prosedur jarak jauh yang dilakukan menggunakan Pengikatan.

Jika RPC_C_AUTHN_DEFAULT ditentukan, pustaka run-time RPC menggunakan layanan autentikasi RPC_C_AUTHN_WINNT untuk panggilan prosedur jarak jauh yang dilakukan menggunakan Pengikatan.

AuthIdentity

Tangani untuk struktur yang berisi kredensial autentikasi dan otorisasi klien yang sesuai untuk layanan autentikasi dan otorisasi yang dipilih.

Saat menggunakan layanan autentikasi RPC_C_AUTHN_WINNTAuthIdentity harus menjadi penunjuk ke struktur SEC_WINNT_AUTH_IDENTITY (didefinisikan dalam Rpcdce.h). Layanan autentikasi Kerberos dan Negosiasi juga menggunakan struktur SEC_WINNT_AUTH_IDENTITY .

Tentukan nilai null untuk menggunakan konteks masuk keamanan untuk ruang alamat saat ini. Teruskan nilai RPC_C_NO_CREDENTIALS untuk menggunakan konteks masuk anonim. Perhatikan bahwa RPC_C_NO_CREDENTIALS hanya valid jika RPC_C_AUTHN_GSS_SCHANNEL dipilih sebagai layanan autentikasi.

AuthzSvc

Layanan otorisasi yang diterapkan oleh server untuk antarmuka yang diminati. Validitas dan kepercayaan data otorisasi, seperti data aplikasi apa pun, tergantung pada layanan autentikasi dan tingkat autentikasi yang dipilih. Parameter ini diabaikan saat menggunakan layanan autentikasi RPC_C_AUTHN_WINNT. Lihat Catatan.

SecurityQos

Arahkan ke struktur RPC_SECURITY_QOS , yang menentukan kualitas layanan keamanan.

Catatan Untuk daftar layanan autentikasi yang didukung RPC, lihat Konstanta Layanan Autentikasi.
 

Nilai kembali

Nilai Makna
RPC_S_OK
Panggilan berhasil.
RPC_S_INVALID_BINDING
Handel pengikatan tidak valid.
RPC_S_WRONG_KIND_OF_BINDING
Ini adalah jenis pengikatan yang salah untuk operasi.
RPC_S_UNKNOWN_AUTHN_SERVICE
Layanan autentikasi tidak diketahui.
 
Catatan Untuk daftar kode kesalahan yang valid, lihat Nilai Pengembalian RPC.
 

Keterangan

Aplikasi klien memanggil fungsi RpcBindingSetAuthInfoEx untuk menyiapkan handel pengikatan server untuk melakukan panggilan prosedur jarak jauh yang diautentikasi. Fungsi ini menyediakan kemampuan untuk mengatur informasi kualitas layanan keamanan pada handel pengikatan. Sebaliknya identik dengan RpcBindingSetAuthInfo.

Kecuali klien memanggil RpcBindingSetAuthInfoEx, semua panggilan prosedur jarak jauh pada Pengikatan tidak diatomatiskan. Klien tidak diperlukan untuk memanggil fungsi ini.

Fungsi RpcBindingSetAuthInfoEx mengambil rekam jepret kredensial. Oleh karena itu, memori yang didedikasikan untuk parameter AuthIdentity dapat dikosongkan sebelum handel pengikatan. Pengecualian untuk ini adalah ketika aplikasi Anda menggunakan RpcBindingSetAuthInfoEx dengan RPC_C_QOS_IDENTITY_DYNAMIC dan juga menentukan nilai non-NULL untuk AuthIdentity.

Catatan Fungsi RpcBindingSetAuthInfo tidak boleh dipanggil pada handel pengikatan saat panggilan RPC pada handel yang sama sedang berlangsung. Melakukannya menghasilkan hasil yang tidak terdefinisi.
 
Karena berbagai persyaratan versi Microsoft RPC yang berbeda, Microsoft merekomendasikan agar aplikasi mempertahankan penunjuk ke parameter AuthIdentity selama handel pengikatan ada. Melakukannya meningkatkan portabilitas aplikasi.

Windows Server 2003 dengan SP1 dan Windows XP dengan SP2: Untuk Windows XP SP2 dan Windows Server 2003 SP1, penunjuk ke parameter AuthIdentity tidak perlu dipertahankan selama masa pakai handel pengikatan. Pointer ini hanya boleh dipertahankan jika panggilan berikutnya ke RpcBindingInqAuthInfo atau RpcBindingInqAuthInfoEx dilakukan.

Catatan Urutan protokol ncalrpc hanya mendukung RPC_C_AUTHN_WINNT, tetapi mendukung autentikasi timbal balik; menyediakan SPN dan meminta autentikasi timbal balik melalui parameter SecurityQOS untuk mencapai hal ini.
 

Catatan

Header rpcdce.h mendefinisikan RpcBindingSetAuthInfoEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor 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 2000 Professional [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows 2000 Server [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header rpcdce.h (termasuk Rpc.h)
Pustaka Rpcrt4.lib
DLL Rpcrt4.dll

Lihat juga

RPC_SECURITY_QOS

RpcBindingInqAuthInfoEx

RpcServerRegisterAuthInfo