Metode ISecurityProperty::GetDirectCallerSID (comsvcs.h)
Mengambil pengidentifikasi keamanan dari proses eksternal yang memanggil metode yang saat ini dijalankan. Anda juga dapat memperoleh informasi ini menggunakan ISecurityCallContext.
Sintaks
HRESULT GetDirectCallerSID(
[out] PSID *pSID
);
Parameter
[out] pSID
Referensi ke ID keamanan proses 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 proses yang memanggil metode 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
Gunakan metode GetDirectCallerSID untuk menentukan ID keamanan proses yang memanggil metode eksekusi objek saat ini. Keamanan diberlakukan di seluruh batas proses. Ini berarti bahwa ID keamanan yang dikembalikan oleh GetDirectCallerSID adalah ID keamanan yang terkait dengan proses yang dipanggil ke dalam proses di mana objek saat ini berjalan, belum tentu pemanggil langsung ke dalam objek itu sendiri. Jika objek memanggil ke objek lain dalam proses yang sama, ketika objek kedua memanggil GetDirectCallerSID , objek tersebut mendapatkan ID keamanan penelepon paling langsung di luar batas prosesnya sendiri, bukan ID keamanan objek yang langsung dipanggil ke dalamnya.
Skenario berikut mengilustrasikan fungsionalitas metode GetDirectCallerSID :
- Proses dasar yang berjalan di Server A, sebagai pengguna A, memanggil Objek X di Server B, berjalan sebagai pengguna B. Kemudian Objek X memanggil ke Objek Y, berjalan di Server C. Jika Object Y memanggil GetDirectCallerSID, ID keamanan pengguna B dikembalikan.
- Proses dasar, berjalan di Server A sebagai pengguna A, memanggil Objek X di Server B, berjalan sebagai pengguna B. Kemudian Objek X memanggil ke Objek Y, berjalan dalam proses yang sama dengan Object X, juga di Server B. Ketika Object Y memanggil GetDirectCallerSID, ID keamanan pengguna A dikembalikan, bukan ID keamanan pengguna B.
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 |