Bagikan melalui


Metode IClientSecurity::QueryBlanket (objidl.h)

Mengambil informasi autentikasi yang digunakan klien untuk melakukan panggilan pada proksi yang ditentukan.

Sintaks

HRESULT QueryBlanket(
  [in]  IUnknown *pProxy,
  [out] DWORD    *pAuthnSvc,
  [out] DWORD    *pAuthzSvc,
  [out] OLECHAR  **pServerPrincName,
  [out] DWORD    *pAuthnLevel,
  [out] DWORD    *pImpLevel,
  [out] void     **pAuthInfo,
  [out] DWORD    *pCapabilites
);

Parameter

[in] pProxy

Penunjuk ke proksi. Parameter ini tidak boleh NULL. Untuk informasi lebih lanjut, lihat bagian Keterangan.

[out] pAuthnSvc

Layanan autentikasi saat ini. Ini akan menjadi nilai tunggal yang diambil dari daftar konstanta layanan autentikasi. Parameter ini tidak boleh NULL.

[out] pAuthzSvc

Layanan otorisasi saat ini. Ini akan menjadi nilai tunggal yang diambil dari daftar konstanta otorisasi. Parameter ini tidak boleh NULL.

[out] pServerPrincName

Nama utama saat ini. String akan dialokasikan oleh penerima panggilan menggunakan fungsi CoTaskMemAlloc dan harus dibebaskan oleh pemanggil menggunakan fungsi CoTaskMemFree . Perhatikan bahwa nama utama aktual dikembalikan. Bendera EOAC_MAKE_FULLSIC tidak diterima untuk mengonversi nama prinicpal. Jika pemanggil menentukan NULL, nama utama saat ini tidak diambil.

[out] pAuthnLevel

Tingkat autentikasi saat ini. Ini akan menjadi nilai tunggal yang diambil dari daftar konstanta tingkat autentikasi. Jika parameter ini NULL, tingkat autentikasi saat ini tidak diambil.

[out] pImpLevel

Tingkat peniruan saat ini. Ini akan menjadi nilai tunggal yang diambil dari daftar konstanta tingkat peniruan. Jika parameter ini NULL, tingkat peniruan saat ini tidak diambil.

[out] pAuthInfo

Pointer ke handel yang menunjukkan identitas klien yang diteruskan ke panggilan IClientSecurity::SetBlanket terakhir (atau nilai default). Nilai default hanya valid hingga proksi dirilis. Jika pemanggil menentukan NULL, identitas klien tidak diambil.

Format struktur yang dirujuk oleh handel yang dikembalikan bergantung pada layanan autentikasi. Untuk NTLMSSP dan Kerberos, jika klien menentukan struktur dalam parameter pAuthInfo ke CoInitializeSecurity, nilai tersebut dikembalikan. Untuk Schannel, jika sertifikat untuk klien dapat diambil dari manajer sertifikat, nilai tersebut dikembalikan di sini. Jika tidak, NULL dikembalikan. Karena ini menunjuk ke nilai itu sendiri dan bukan salinan, itu tidak boleh dimanipulasi atau dibebaskan.

[out] pCapabilites

Kemampuan proksi. Bendera ini didefinisikan dalam enumerasi EOLE_AUTHENTICATION_CAPABILITIES . Jika parameter ini NULL, bendera kemampuan saat ini tidak diambil.

Nilai kembali

Metode ini dapat mengembalikan nilai berikut.

Menampilkan kode Deskripsi
S_OK
Metode berhasil diselesaikan.
E_INVALIDARG
Satu atau beberapa argumen tidak valid.
E_OUTOFMEMORY
Memori tidak cukup untuk membuat buffer pServerPrincName .

Keterangan

QueryBlanket dipanggil oleh klien untuk mengambil informasi autentikasi yang akan digunakan COM pada panggilan yang dilakukan dari proksi antarmuka yang ditentukan. Dengan pointer ke antarmuka pada proksi, klien akan terlebih dahulu memanggil QueryInterface untuk pointer ke IClientSecurity; kemudian, dengan penunjuk ini, klien akan memanggil QueryBlanket, diikuti dengan merilis pointer. Urutan panggilan ini dirangkum dalam fungsi pembantu CoQueryProxyBlanket.

Di pProxy, Anda meneruskan penunjuk antarmuka. Namun, Anda tidak dapat meneruskan penunjuk ke antarmuka yang tidak menggunakan proksi. Dengan demikian Anda tidak dapat meneruskan penunjuk ke antarmuka yang memiliki kata kunci lokal dalam definisi antarmukanya karena tidak ada proksi yang dibuat untuk antarmuka tersebut. IUnknown adalah pengecualian untuk aturan ini.

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 objidl.h (termasuk ObjIdl.h)

Lihat juga

CoQueryProxyBlanket

CoSetProxyBlanket

IClientSecurity