Fungsi CoQueryClientBlanket (combaseapi.h)

Dipanggil oleh server untuk mencari tahu tentang klien yang memanggil metode yang dijalankan pada utas saat ini. Ini adalah fungsi pembantu untuk IServerSecurity::QueryBlanket.

Sintaks

HRESULT CoQueryClientBlanket(
  [out, optional]     DWORD            *pAuthnSvc,
  [out, optional]     DWORD            *pAuthzSvc,
  [out, optional]     LPOLESTR         *pServerPrincName,
  [out, optional]     DWORD            *pAuthnLevel,
  [out, optional]     DWORD            *pImpLevel,
  [out, optional]     RPC_AUTHZ_HANDLE *pPrivs,
  [in, out, optional] DWORD            *pCapabilities
);

Parameter

[out, optional] pAuthnSvc

Penunjuk ke variabel yang menerima layanan autentikasi saat ini. Ini akan menjadi nilai tunggal yang diambil dari konstanta layanan autentikasi. Jika pemanggil menentukan NULL, layanan autentikasi saat ini tidak diambil.

[out, optional] pAuthzSvc

Penunjuk ke variabel yang menerima layanan otorisasi saat ini. Ini akan menjadi nilai tunggal yang diambil dari konstanta otorisasi. Jika pemanggil menentukan NULL, layanan otorisasi saat ini tidak diambil.

[out, optional] pServerPrincName

Nama utama saat ini. String akan dialokasikan oleh penerima panggilan menggunakan CoTaskMemAlloc, dan harus dikosongkan oleh pemanggil menggunakan CoTaskMemFree. Secara default, nama utama Schannel akan berada dalam bentuk msstd. Formulir fullsic akan dikembalikan jika EOAC_MAKE_FULLSIC ditentukan dalam parameter pCapabilities . Untuk informasi selengkapnya tentang formulir msstd dan fullsic, lihat Nama Utama. Jika pemanggil menentukan NULL, nama utama saat ini tidak diambil.

[out, optional] pAuthnLevel

Penunjuk ke variabel yang menerima tingkat autentikasi saat ini. Ini akan menjadi nilai tunggal yang diambil dari konstanta tingkat autentikasi. Jika pemanggil menentukan NULL, tingkat autentikasi saat ini tidak diambil.

[out, optional] pImpLevel

Parameter ini harus NULL.

[out, optional] pPrivs

Penunjuk ke handel yang menerima informasi hak istimewa untuk aplikasi klien. Format struktur yang dirujuk oleh handel tergantung pada layanan autentikasi. Aplikasi tidak boleh menulis atau membebaskan memori. Informasi ini hanya berlaku selama panggilan saat ini. Untuk NTLMSSP dan Kerberos, ini adalah string yang mengidentifikasi prinsipal klien. Untuk Schannel, ini adalah struktur CERT_CONTEXT yang mewakili sertifikat klien. Jika klien tidak memiliki sertifikat, NULL dikembalikan. Jika pemanggil menentukan NULL, informasi hak istimewa saat ini tidak diambil. Lihat RPC_AUTHZ_HANDLE.

[in, out, optional] pCapabilities

Penunjuk untuk mengembalikan bendera yang menunjukkan kemampuan panggilan. Untuk meminta agar nama utama dikembalikan dalam bentuk penuh jika Schannel adalah layanan autentikasi, pemanggil dapat mengatur bendera EOAC_MAKE_FULLSIC dalam parameter ini. Jika pemanggil menentukan NULL, kemampuan saat ini tidak diambil.

Mengembalikan nilai

Fungsi ini dapat mengembalikan nilai pengembalian standar E_INVALIDARG, E_OUTOFMEMORY, dan S_OK.

Keterangan

CoQueryClientBlanket dipanggil oleh server untuk mendapatkan informasi keamanan tentang klien yang memanggil metode yang dijalankan pada utas saat ini. Fungsi ini merangkum urutan panggilan umum berikut (penanganan kesalahan dikecualikan):

    CoGetCallContext(IID_IServerSecurity, (void**)&pss);
    pss->QueryBlanket(pAuthnSvc, pAuthzSvc, pServerPrincName, 
                pAuthnLevel, pImpLevel, pPrivs, pCapabilities);
    pss->Release();

Urutan ini memanggil CoGetCallContext untuk mendapatkan penunjuk ke IServerSecurity dan, dengan penunjuk yang dihasilkan, memanggil IServerSecurity::QueryBlanket lalu merilis pointer.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header combaseapi.h (termasuk Objbase.h)
Pustaka Ole32.lib
DLL Ole32.dll

Lihat juga

CoGetCallContext

CoQueryProxyBlanket

IServerSecurity::QueryBlanket

Keamanan di COM