Bagikan melalui


Metode IServerSecurity::RevertToSelf (objidlbase.h)

Memulihkan informasi autentikasi utas ke apa itu sebelum peniruan dimulai.

Sintaks

HRESULT RevertToSelf();

Mengembalikan nilai

Jika metode berhasil, nilai yang dikembalikan adalah S_OK. Jika tidak, itu E_FAIL.

Keterangan

RevertToSelf memulihkan informasi autentikasi pada utas ke informasi autentikasi pada utas sebelum peniruan dimulai. Jika server tidak memanggil RevertToSelf sebelum akhir panggilan saat ini, server akan dipanggil secara otomatis oleh COM.

Ketika ImpersonateClient dipanggil pada utas yang saat ini tidak meniru, COM menyimpan token yang saat ini ada di utas. Panggilan berikutnya ke RevertToSelf memulihkan token yang disimpan, dan IsImpersonating kemudian akan mengembalikan FALSE. Ini berarti bahwa jika serangkaian panggilan peniruan dilakukan menggunakan objek IServerSecurity yang berbeda, RevertToSelf akan memulihkan token yang ada di utas ketika panggilan pertama ke ImpersonateClient dibuat. Selain itu, hanya satu panggilan RevertToSelf yang diperlukan untuk membatalkan sejumlah panggilan ImpersonateClient .

Metode ini hanya akan mengembalikan perubahan peniruan yang dibuat oleh ImpersonateClient. Jika token utas dimodifikasi dengan cara lain (melalui fungsi SetThreadToken atau RpcImpersonateClient ) hasil dari fungsi ini tidak terdefinisi.

RevertToSelf hanya memengaruhi pemanggilan metode saat ini. Jika ada pemanggilan metode berlapis, setiap pemanggilan dapat memiliki token peniruan sendiri dan DCOM akan memulihkan token peniruan dengan benar sebelum kembali kepada mereka (terlepas dari apakah CoRevertToSelf atau RevertToSelf dipanggil).

Penting untuk dipahami bahwa instans IServerSecurity valid pada utas apa pun di apartemen sampai panggilan yang diwakili oleh IServerSecurity selesai. Namun, peniruan adalah lokal untuk utas tertentu selama durasi panggilan saat ini pada utas tersebut. Oleh karena itu, jika dua utas di apartemen yang sama menggunakan instans IServerSecurity yang sama untuk memanggil ImpersonateClient, satu utas dapat memanggil RevertToSelf tanpa memengaruhi yang lain.

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

Lihat juga

CoRevertToSelf

IServerSecurity