Bagikan melalui


Metode IObjectContext::IsCallerInRole (comsvcs.h)

Menunjukkan apakah penelepon langsung objek berada dalam peran tertentu (baik secara langsung atau sebagai bagian dari grup).

Sintaks

HRESULT IsCallerInRole(
  [in]  BSTR bstrRole,
  [out] BOOL *pfIsInRole
);

Parameter

[in] bstrRole

Nama peran.

[out] pfIsInRole

TRUE jika pemanggil berada dalam peran yang ditentukan; FALSE jika tidak. Parameter ini juga diatur ke TRUE jika keamanan tidak diaktifkan.

Nilai kembali

Metode ini dapat mengembalikan nilai berikut.

Menampilkan kode Deskripsi
S_OK
Peran yang ditentukan dalam parameter bstrRole adalah peran yang dikenali, dan hasil Boolean yang dikembalikan dalam parameter pbIsInRole menunjukkan apakah pemanggil berada dalam peran tersebut.
CONTEXT_E_ROLENOTFOUND
Peran yang ditentukan dalam parameter bstrRole tidak ada.
E_INVALIDARG
Satu atau beberapa argumen yang diteruskan tidak valid.
E_UNEXPECTED
Terjadi kesalahan tak terduga. Ini dapat terjadi jika satu objek meneruskan penunjuk IObjectContext ke objek lain dan objek lain memanggil IsCallerInRole menggunakan pointer ini. Penunjuk IObjectContext tidak valid di luar konteks objek yang awalnya mendapatkannya.

Keterangan

Anda menggunakan metode ini untuk menentukan apakah penelepon langsung dari metode yang saat ini dijalankan dikaitkan dengan peran tertentu. Peran adalah nama simbolis yang mewakili pengguna atau grup pengguna yang memiliki izin akses khusus ke semua komponen dalam aplikasi COM+ tertentu. Pengembang menentukan peran saat mereka membuat komponen, dan peran dipetakan ke pengguna atau grup individual pada waktu penyebaran.

IsCallerInRole hanya berlaku untuk penelepon langsung dari metode yang saat ini dijalankan. (Pemanggil langsung adalah proses memanggil ke proses server saat ini. Ini bisa berupa proses klien dasar atau proses server.) IsCallerInRole tidak berlaku untuk proses yang memulai urutan panggilan dari mana metode saat ini dipanggil atau ke penelepon lain dalam urutan tersebut.

Karena IsCallerInRole mengembalikan TRUE ketika objek yang memanggilnya dijalankan dalam proses klien, ada baiknya memanggil IsSecurityEnabled sebelum memanggil IsCallerInRole. Jika keamanan tidak diaktifkan, IsCallerInRole tidak akan mengembalikan hasil yang akurat.

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 comsvcs.h

Lihat juga

IObjectContext