Metode ISecurityProperty::GetOriginalCallerSID (comsvcs.h)
Mengambil pengidentifikasi keamanan dari proses dasar yang memulai urutan panggilan dari mana metode saat ini dipanggil.
Cara yang disukai untuk mendapatkan informasi tentang pemanggil asli adalah dengan menggunakan antarmuka ISecurityCallContext .
Sintaks
HRESULT GetOriginalCallerSID(
[out] PSID *pSID
);
Parameter
[out] pSID
Referensi ke ID keamanan dari proses dasar yang memulai urutan panggilan dari mana metode saat ini dipanggil.
Nilai kembali
Metode ini dapat mengembalikan nilai pengembalian standar E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED, dan E_FAIL, serta nilai berikut.
Menampilkan kode | Deskripsi |
---|---|
|
ID keamanan dari proses dasar yang berasal dari panggilan ke objek saat ini dikembalikan dalam parameter pSid. |
|
Objek saat ini tidak memiliki konteks yang terkait dengannya karena komponen tidak diimpor ke dalam aplikasi atau objek tidak dibuat dengan salah satu metode COM+ CreateInstance . |
Keterangan
Anda menggunakan metode GetOriginalCallerSID untuk menentukan ID keamanan proses asli yang memulai urutan panggilan dari mana metode saat ini dipanggil, bukan pencetus (atau pembuat) proses. Meskipun pointer ke objek dapat diteruskan melalui serangkaian server dan pengguna, GetOriginalCallerSID selalu mengembalikan server pertama dan pengguna proses, bahkan jika pengguna tersebut bukan pembuat asli objek. Skenario berikut mengilustrasikan fungsionalitas metode GetOriginalCallerSID .
- Proses Dasar 1, berjalan di Server A sebagai pengguna A, membuat Objek X, di Server B, berjalan sebagai pengguna B.
- Proses Dasar 1 meneruskan referensinya pada Objek X ke Proses Dasar 2, berjalan di Server D sebagai pengguna D.
- Proses Dasar 2 menggunakan referensi tersebut untuk memanggil objek X.
- Panggilan Objek X ke Objek Y, berjalan di Server C. Jika Object Y kemudian memanggil GetOriginalCallerSID, ID keamanan pengguna D dikembalikan, bukan pengguna A, yang awalnya membuat objek.
Anda harus memanggil ReleaseSID pada ID keamanan setelah selesai menggunakannya.
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 | comsvcs.h |