Bagikan melalui


Fungsi GetProcessReference (shlwapi.h)

Mengambil objek khusus proses yang disediakan oleh SetProcessReference, meningkatkan jumlah referensi untuk menjaga proses tetap hidup.

Sintaks

LWSTDAPI GetProcessReference(
  [out] IUnknown **punk
);

Parameter

[out] punk

Alamat penunjuk yang, ketika fungsi ini berhasil dikembalikan, menunjuk ke objek yang disediakan untuk proses oleh SetProcessReference. Aplikasi Anda bertanggung jawab untuk membebaskan sumber daya ini ketika tidak lagi diperlukan.

Penunjuk ke IUnknown berulir bebas. Komponen dapat menggunakan antarmuka ini (melalui SHGetInstanceExplorer) untuk mencegah proses host dihentikan. Nilai ini bisa NULL, dalam hal ini referensi proses tidak lagi tersedia untuk komponen.

Mengembalikan nilai

Tidak ada

Keterangan

Ada sejumlah komponen, seperti penangan ekstensi Shell, yang diimplementasikan sebagai DLL dan dijalankan dalam proses host seperti Windows Explorer (Explorer.exe) atau Windows Internet Explorer (Iexplore.exe). Biasanya, ketika pengguna menutup proses host, komponen segera dimatikan juga. Penghentian mendadak seperti itu dapat menciptakan masalah untuk beberapa komponen. Misalnya, jika komponen menggunakan utas latar belakang untuk mengunduh data atau menjalankan fungsi antarmuka pengguna, mungkin perlu waktu tambahan untuk mematikan dirinya dengan aman.

GetProcessReference memungkinkan komponen yang berjalan dalam proses host untuk menyimpan referensi pada proses host. GetProcessReference menaikkan jumlah referensi host dan mengembalikan pointer ke antarmuka IUnknown host. Dengan memegang referensi itu, komponen dapat mencegah proses host ditutup sebelum waktunya. Setelah komponen menyelesaikan pemrosesan yang diperlukan, komponen harus memanggil (*punk)->Rilis untuk merilis referensi host dan memungkinkan proses dihentikan.

Catatan Jika GetProcessReference berhasil, komponen harus merilis referensi host saat tidak lagi diperlukan. Jika tidak, semua sumber daya yang terkait dengan proses akan tetap berada dalam memori. Antarmuka IUnknown yang diacu oleh *punk hanya dapat digunakan untuk merilis referensi ini. Komponen tidak dapat menggunakan (*punk)->QueryInterface untuk meminta penunjuk antarmuka lainnya.
 
GetProcessReference hanya berhasil jika dipanggil dari aplikasi yang sebelumnya disebut SetProcessReference untuk mengatur referensi proses.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8 [khusus aplikasi desktop]
Server minimum yang didukung Windows Server 2012 [hanya aplikasi desktop]
Target Platform Windows
Header shlwapi.h
Pustaka Shlwapi.lib
DLL Api-ms-win-shcore-thread-L1-1-0.dll

Lihat juga

SHGetInstanceExplorer

SetProcessReference

Windows API Sets