com4:SurrogateServer

Mendaftarkan SurrogateServer dengan satu atau banyak pendaftaran kelas.

Hierarki elemen

<Paket>

    <Aplikasi>

         <Aplikasi>

              <Ekstensi>

                   <com4:SurrogateServer>

Sintaks

<com4:SurrogateServer
  CustomSurrogateExecutable = 'A string with a value between 1 and 256 characters in length that must end with ".exe" and cannot contain these characters: <, >, :, ", |, ?, or *.'
  DisplayName = 'A string with a value between 1 and 256 characters in length. This string is localizable.'
  LaunchAndActivationPermission = 'An [SDDL string](/windows/win32/secauthz/security-descriptor-string-format) value.'
  AppId = 'A GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.'
  SystemSurrogate = 'A string with the following optional value: "PreviewHost".' >

  <!-- Child elements -->
  Class
  InProcessServerClassReference
  ClassReference

</com4:SurrogateServer>

Atribut dan elemen

Atribut

Atribut Deskripsi Jenis Data Diperlukan Nilai default
CustomSurrogateExecutable Jalur ke DllSurrogate di kunci AppId. Jalur ini relatif terhadap akar paket dan harus mereferensikan file dalam paket. Ini saling eksklusif dengan SystemSurrogate. String dengan nilai antara 1 dan 256 karakter yang harus diakhir dengan .exe dan tidak boleh berisi karakter ini: <, , >, :", |, ?, atau *. Ya
DisplayName DisplayName adalah string yang dapat dilokalkan yang sesuai dengan nilai kunci AppID default. String dengan panjang nilai antara 1 dan 256 karakter. Ya
LaunchAndActivationPermission String SDDL yang sesuai dengan nilai LaunchPermission kunci AppID. Nilai string SDDL . Ya
AppId AppId yang mereferensikan kunci AppId terkait. GUID dalam bentuk xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxx. Ya
SystemSurrogate Nilai yang sesuai dengan nilai terkenal dari nilai DllSurrogate dari kunci AppId. Ini saling eksklusif dengan CustomSurrogateExecutable. String dengan nilai opsional berikut: "PreviewHost". Ya

Elemen anak

elemen anak Deskripsi
Kelas Menentukan pendaftaran kelas server pengganti.
InProcessServerClassReference Menentukan kelas yang dikaitkan dengan server dalam proses terkelola dan mengatur detail pendaftaran.
ClassReference Menentukan kelas yang dikaitkan dengan server dalam proses yang terdaftar dan mengatur detail pendaftaran.

Elemen induk

elemen induk Deskripsi
Ekstensi Menentukan satu atau beberapa titik ekstensibilitas untuk aplikasi.

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 secara independen menentukan jalur dll dan ThreadingModel di elemen InProcessServer/ClassReference dan SurrogateServer/ClassReference.

Ketika mengemas aplikasi dengan CLSID yang terdaftar untuk aktivasi outofproc di server pengganti, umumnya disarankan bahwa 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 yang dikemas, 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 clsid-nya untuk kompatibilitas dengan aplikasi lain yang meminta aktivasi inproc (CLSCTX_INPROC_SERVER), dan memenuhi persyaratan untuk mendaftarkan server inproc, aplikasi tersebut dapat mendaftarkan CLSID untuk aktivasi inproc dan aktivasi outofproc dalam pengganti. Dalam hal ini, disarankan untuk memberikan detail server inproc dalam elemen InProcessServer/Class atau InProcessServer/ClassReference , dan mereferensikannya dari elemen SurrogateServer/InProcessServerClassReference .

Persyaratan

Nilai
Ruang nama http://schemas.microsoft.com/appx/manifest/com/windows10/4