Fungsi RpcServerRegisterAuthInfo (rpcdce.h)

Fungsi RpcServerRegisterAuthInfo mendaftarkan informasi autentikasi dengan pustaka run-time RPC.

Sintaks

RPC_STATUS RpcServerRegisterAuthInfo(
  RPC_CSTR                  ServerPrincName,
  unsigned long             AuthnSvc,
  RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
  void                      *Arg
);

Parameter

ServerPrincName

Arahkan ke nama utama yang akan digunakan untuk server saat mengautentikasi panggilan prosedur jarak jauh menggunakan layanan yang ditentukan oleh parameter AuthnSvc . Konten nama dan sintaksnya ditentukan oleh layanan autentikasi yang digunakan. Untuk informasi selengkapnya, lihat Nama Utama.

AuthnSvc

Layanan autentikasi untuk digunakan ketika server menerima permintaan untuk panggilan prosedur jarak jauh.

GetKeyFn

Alamat rutin yang disediakan aplikasi server yang mengembalikan kunci enkripsi. Lihat RPC_AUTH_KEY_RETRIEVAL_FN.

Tentukan nilai parameter NULL untuk menggunakan metode default akuisisi kunci enkripsi. Dalam hal ini, layanan autentikasi menentukan perilaku default. Atur parameter ini ke NULL saat menggunakan layanan autentikasi RPC_C_AUTHN_WINNT.

Layanan autentikasi GetKeyFn Arg Perilaku run-time
RPC_C_AUTHN_DPA Diabaikan Diabaikan Tidak mendukung
RPC_C_AUTHN_GSS_KERBEROS Diabaikan Diabaikan Tidak mendukung
RPC_C_AUTHN_GSS_NEGOTIATE Diabaikan Diabaikan Tidak mendukung
RPC_C_AUTHN_GSS_SCHANNEL Diabaikan Diabaikan Tidak mendukung
RPC_C_AUTHN_MQ Diabaikan Diabaikan Tidak mendukung
RPC_C_AUTHN_MSN Diabaikan Diabaikan Tidak mendukung
RPC_C_AUTHN_WINNT Diabaikan Diabaikan Tidak mendukung
RPC_C_AUTHN_DCE_PRIVATE NULL Non-null Menggunakan metode default akuisisi kunci enkripsi dari tabel kunci tertentu; argumen yang ditentukan diteruskan ke fungsi akuisisi default.
RPC_C_AUTHN_DCE_PRIVATE Non-null NULL Menggunakan fungsi akuisisi kunci enkripsi tertentu untuk mendapatkan kunci dari tabel kunci default.
RPC_C_AUTHN_DCE_PRIVATE Non-null Non-null Menggunakan fungsi akuisisi kunci enkripsi tertentu untuk mendapatkan kunci dari tabel kunci tertentu; argumen yang ditentukan diteruskan ke fungsi akuisisi.
RPC_C_AUTHN_DEC_PUBLIC Diabaikan Diabaikan Disiapkan untuk penggunaan masa mendatang.
 
 

Pustaka run-time RPC meneruskan nilai parameter ServerPrincName dari RpcServerRegisterAuthInfo sebagai nilai parameter ServerPrincName ke fungsi akuisisi GetKeyFn . Pustaka run-time RPC secara otomatis menyediakan nilai untuk parameter versi kunci (KeyVer). Untuk nilai parameter KeyVer nol, fungsi akuisisi harus mengembalikan kunci terbaru yang tersedia. Fungsi pengambilan mengembalikan kunci autentikasi dalam parameter Kunci .

Jika fungsi akuisisi yang dipanggil dari RpcServerRegisterAuthInfo mengembalikan status selain RPC_S_OK, maka fungsi ini gagal dan mengembalikan kode kesalahan ke aplikasi server. Jika fungsi akuisisi yang dipanggil oleh pustaka run-time RPC saat mengautentikasi permintaan panggilan prosedur jarak jauh klien mengembalikan status selain RPC_S_OK, permintaan gagal dan pustaka run-time RPC mengembalikan kode kesalahan ke aplikasi klien.

Arg

Arahkan ke parameter untuk diteruskan ke rutinitas GetKeyFn , jika ditentukan. Parameter ini juga dapat digunakan untuk meneruskan pointer ke struktur SCHANNEL_CRED untuk menentukan kredensial eksplisit jika layanan autentikasi diatur ke SCHANNEL.

Jika parameter Arg diatur ke NULL, fungsi ini akan menggunakan sertifikat atau kredensial default jika telah disiapkan di layanan direktori.

Mengembalikan nilai

Nilai Makna
RPC_S_OK
Panggilan berhasil.
RPC_S_UNKNOWN_AUTHN_SERVICE
Layanan autentikasi tidak diketahui.
 
Catatan Untuk daftar kode kesalahan yang valid, lihat Nilai Pengembalian RPC.
 

Keterangan

Aplikasi server memanggil RpcServerRegisterAuthInfo untuk mendaftarkan layanan autentikasi yang akan digunakan untuk mengautentikasi panggilan prosedur jarak jauh. Server memanggil rutinitas ini sekali untuk setiap layanan autentikasi yang ingin didaftarkan server. Jika server memanggil fungsi ini lebih dari sekali untuk layanan autentikasi tertentu, hasilnya tidak terdefinisi.

Layanan autentikasi yang ditentukan aplikasi klien (menggunakan RpcBindingSetAuthInfo atau RpcServerRegisterAuthInfo) harus menjadi salah satu layanan autentikasi yang ditentukan oleh aplikasi server. Jika tidak, panggilan prosedur jarak jauh klien gagal dan kode status RPC_S_UNKNOWN_AUTHN_SERVICE dikembalikan.

Persyaratan

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

Lihat juga

RpcBindingSetAuthInfo