com4:InProcessServerClassReference

Menentukan referensi kelas atau kelas yang dikaitkan dengan server dalam proses yang terdaftar dan menetapkan detail pendaftaran.

Hierarki elemen

<Paket>

    <Aplikasi>

         <Aplikasi>

              <Ekstensi>

                   <com4:SurrogateServer>

                        <com4:InProcessServerClassReference>

Sintaks

<com4:InProcessServerClassReference
  EnableOleDefaultHandler = 'A boolean value.'
  Id = 'A GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.' />

Atribut dan elemen

Atribut

Atribut Deskripsi Jenis Data Diperlukan Nilai default
EnableOleDefaultHandler Ini harus diatur ke true jika nilai default kunci InprocHandler32 adalah Ole32.dll. Jika tidak, itu harus dihilangkan. Nilai boolean. Ya Salah
Id Id Kelas yang dirujuk. GUID dalam bentuk xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx. Ya

Elemen anak

Tidak ada.

Elemen induk

elemen induk Deskripsi
com4:SurrogateServer Mendaftarkan SurrogateServer dengan satu atau banyak pendaftaran kelas.

Keterangan

Kunci CLSID](/windows/win32/com/clsid-key-hklm) dalam tata letak registri COM memungkinkan CLSID didaftarkan untuk aktivasi inproc (CLSCTX_INPROC_SERVER) dan untuk aktivasi outofproc di server pengganti (CLSCTX_LOCAL_SERVER) dengan menentukan:

  • Detail aktivasi inproc dalam subkunci InprocServer32 .
  • Referensi ke kunci AppID melalui nilai AppID kunci CLSID, di mana kunci AppID menentukan pengganti melalui nilai DllSurrogate . Perhatikan bahwa untuk aktivasi outofproc di server pengganti, detail pendaftaran server inproc, misalnya jalur dll dan ThreadingModel, juga digunakan dalam aktivasi outofproc. Turunan ClassReference dari elemen InProcessServer memungkinkan paket yang mendaftarkan CLSID untuk aktivasi inproc dan outofproc untuk menentukan detail server inproc sekali, sebagai elemen InProcessServer/Class atau InProcessServer/ClassReference, dan referensikan elemen ini dari SurrogateServer yang mendukung aktivasi outofproc CLSID. Struktur untuk pendaftaran inproc/outofproc ini lebih mencerminkan tata letak registri COM daripada menentukan jalur dll dan ThreadingModel secara independen di elemen InProcessServer/ClassReference dan SurrogateServer/ClassReference.

Saat mengemas aplikasi dengan CLSID yang terdaftar untuk aktivasi outofproc di server pengganti, umumnya disarankan agar hanya server pengganti yang terdaftar dalam manifes. Misalnya, pendaftaran pengganti sering digunakan untuk mendukung titik ekstensi berbasis COM yang secara historis mengaktifkan implementasi server inproc tetapi yang sekarang merekomendasikan pendaftaran server outofproc sebagai praktik terbaik untuk isolasi. Untuk aplikasi paket, ada batasan fungsional tambahan untuk server inproc (lihat In-ProcessServers untuk detailnya), sedangkan paket apa pun dengan kemampuan terbatas runFullTrust dapat berhasil mendaftarkan server pengganti, dan untuk sebagian besar titik ekstensi yang mendaftarkan server pengganti cukup untuk mengaktifkan fungsionalitas ekstensi. Namun, jika aplikasi yang dikemas perlu mendukung aktivasi inproc dari CLSID-nya untuk kompatibilitas dengan aplikasi lain yang meminta aktivasi inproc (CLSCTX_INPROC_SERVER), dan memenuhi persyaratan untuk mendaftarkan server inproc, ia dapat mendaftarkan CLSID untuk aktivasi inproc dan aktivasi outofproc di pengganti. Dalam hal ini, disarankan untuk memberikan detail server inproc dalam elemen InProcessServer/Class atau InProcessServer/ClassReference , dan mereferensikannya dari elemen SurrogateServer/InProcessServerClassReference .

Contoh

Contoh berikut mengilustrasikan menggunakan InProcessServerClassreference untuk mereferensikan kelas dalam pendaftaran server pengganti.

<com4:Class Id="d57899b9-1334-4600-904a-719df0512988" DisplayName="CLSID_Baz"/> 
<com4:InProcessServer Path="MyServer.dll"> 
  <com4:ClassReference Id="d57899b9-1334-4600-904a-719df0512988" ThreadingModel="Apartment"/> 
</com4:InProcessServer> 
<com:SurrogateServer DisplayName="My surrogate server"> 
  <com4:InProcessServerClassReference Id="d57899b9-1334-4600-904a-719df0512988"/> 
</com:SurrogateServer> 

Persyaratan

Item Nilai
Ruang nama http://schemas.microsoft.com/appx/manifest/com/windows10/4
Versi OS Minimum Windows 10 (Build 20348)