Bagikan melalui


SecurityProperty::Metode GetOriginalCallerName (comsvcs.h)

Mengambil nama pengguna yang terkait dengan proses dasar yang memulai urutan panggilan dari mana panggilan ke objek saat ini berasal.

Sintaks

HRESULT GetOriginalCallerName(
  [out] BSTR *bstrUserName
);

Parameter

[out] bstrUserName

Referensi ke nama pengguna yang terkait dengan proses dasar yang memulai urutan panggilan dari mana panggilan ke objek saat ini berasal.

Mengembalikan nilai

Metode ini dapat mengembalikan nilai pengembalian standar E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED, E_FAIL, dan S_OK.

Keterangan

Umumnya, pemanggil asli objek adalah proses yang sama dengan pembuat aslinya. Satu-satunya situasi di mana penelepon asli dan pembuat asli akan berbeda adalah satu di mana pembuat asli meneruskan referensi ke proses lain dan proses lain memulai urutan panggilan.

Skenario berikut mengilustrasikan fungsionalitas metode ini:

  1. Proses dasar 1, berjalan di server A sebagai pengguna A, membuat objek X, di server B, berjalan sebagai pengguna B.
  2. Kemudian proses dasar 1 meneruskan referensinya pada objek X ke proses dasar 2, berjalan di server D sebagai pengguna D.
  3. Proses dasar 2 menggunakan referensi tersebut untuk memanggil objek X.
  4. Objek X kemudian memanggil ke objek Y, berjalan di server C. Jika objek Y kemudian memanggil GetOriginalCallerName, nama pengguna D dikembalikan, bukan pengguna A, yang awalnya membuat objek.
Jalur ke pemanggil asli rusak jika ada objek di sepanjang rantai yang dibuat oleh beberapa cara lain selain ObjectContext::CreateInstance atau ITransactionContext::CreateInstance. Misalnya, jika proses dasar 1 menggunakan CoCreateInstance untuk membuat objek X, ketika objek Y memanggil GetOriginalCallerName, nama yang didapatkan kembali akan menjadi nama pengguna B, bukan pengguna D. Ini karena urutan panggilan ditelusuri kembali melalui konteks objek dan COM+ hanya dapat membuat konteks untuk objek yang dibuat dengan ObjectContext::CreateInstance atau ITransactionContext::CreateInstance.

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

SecurityProperty