com4:SurrogateServer
Mendaftarkan SurrogateServer dengan satu atau banyak pendaftaran kelas.
Hierarki elemen
<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
Item | Nilai |
---|---|
Ruang nama | http://schemas.microsoft.com/appx/manifest/com/windows10/4 |
Versi OS Minimum | Windows 10 (Build 20348) |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk