Bagikan melalui


Fungsi RpcBindingInqAuthClientW (rpcdce.h)

Aplikasi server memanggil fungsi RpcBindingInqAuthClient untuk mendapatkan nama utama atau atribut hak istimewa klien terautentikasi yang melakukan panggilan prosedur jarak jauh.

Sintaks

RPC_STATUS RpcBindingInqAuthClientW(
  RPC_BINDING_HANDLE ClientBinding,
  RPC_AUTHZ_HANDLE   *Privs,
  RPC_WSTR           *ServerPrincName,
  unsigned long      *AuthnLevel,
  unsigned long      *AuthnSvc,
  unsigned long      *AuthzSvc
);

Parameter

ClientBinding

Handel pengikatan klien dari klien yang melakukan panggilan prosedur jarak jauh. Nilai ini bisa nol. Lihat Keterangan.

Privs

Mengembalikan penunjuk ke handel ke informasi istimewa untuk aplikasi klien yang melakukan panggilan prosedur jarak jauh pada handel pengikatan ClientBinding . Untuk panggilan ncalrpc , Privs berisi string dengan nama utama klien.

Data yang dirujuk oleh parameter ini bersifat baca-saja dan tidak boleh dimodifikasi oleh aplikasi server. Jika server ingin mempertahankan salah satu data yang dikembalikan, server harus menyalin data ke dalam memori yang dialokasikan server.

Data yang ditujukan parameter Privs berasal langsung dari SSP. Oleh karena itu, format data khusus untuk SSP. Untuk informasi selengkapnya tentang SSP, lihat Penyedia Dukungan Keamanan (SSP).

ServerPrincName

Mengembalikan penunjuk ke penunjuk ke nama prinsipal server yang ditentukan oleh aplikasi server yang disebut fungsi RpcServerRegisterAuthInfo . Konten nama yang dikembalikan dan sintaksnya ditentukan oleh layanan autentikasi yang digunakan. Untuk SCHANNEL SSP, nama utama dalam format Microsoft-standard (msstd). Untuk informasi lebih lanjut tentang format msstd, lihat Nama Utama.

Tentukan nilai null untuk mencegah RpcBindingInqAuthClient mengembalikan parameter ServerPrincName . Dalam hal ini, aplikasi tidak memanggil fungsi RpcStringFree .

AuthnLevel

Mengembalikan pointer yang diatur ke tingkat autentikasi yang diminta oleh aplikasi klien yang melakukan panggilan prosedur jarak jauh pada handel pengikatan ClientBinding .

Tentukan nilai null untuk mencegah RpcBindingInqAuthClient mengembalikan parameter AuthnLevel .

AuthnSvc

Mengembalikan penunjuk yang diatur ke layanan autentikasi yang diminta oleh aplikasi klien yang melakukan panggilan prosedur jarak jauh pada handel pengikatan ClientBinding . Untuk daftar tingkat autentikasi yang didukung RPC, lihat Konstanta Tingkat Autentikasi.

Tentukan nilai null untuk mencegah RpcBindingInqAuthClient mengembalikan parameter AuthnSvc .

AuthzSvc

Mengembalikan pointer yang diatur ke layanan otorisasi yang diminta oleh aplikasi klien yang melakukan panggilan prosedur jarak jauh pada handel pengikatan ClientBinding .

Tentukan nilai null untuk mencegah RpcBindingInqAuthClient mengembalikan parameter AuthzSvc . Parameter ini tidak digunakan oleh layanan autentikasi RPC_C_AUTHN_WINNT. Nilai yang dikembalikan akan selalu RPC_C_AUTHZ_NONE.

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_BINDING_HAS_NO_AUTH
Pengikatan tidak memiliki informasi autentikasi.
 
Catatan Untuk daftar kode kesalahan yang valid, lihat Nilai Pengembalian RPC.
 

Keterangan

Aplikasi server memanggil fungsi RpcBindingInqAuthClient untuk mendapatkan nama utama atau atribut hak istimewa klien terautentikasi yang melakukan panggilan prosedur jarak jauh. Selain itu, RpcBindingInqAuthClient mengembalikan layanan autentikasi, tingkat autentikasi, dan nama prinsipal server yang ditentukan oleh klien. Server dapat menggunakan data yang dikembalikan untuk tujuan otorisasi.

Pustaka run-time RPC mengalokasikan memori untuk parameter ServerPrincName yang dikembalikan. Aplikasi ini bertanggung jawab untuk memanggil fungsi RpcStringFree untuk string argumen yang dikembalikan.

Untuk panggilan RPC sinkron, aplikasi server dapat menggunakan nol sebagai nilai untuk parameter ClientBinding . Menggunakan nol mengambil informasi autentikasi dan otorisasi dari panggilan prosedur jarak jauh yang sedang dijalankan.

Catatan

Header rpcdce.h mendefinisikan RpcBindingInqAuthClient 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 [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

RpcStringFree