AppID Anahtarı
Bir veya daha fazla DCOM nesnesinin yapılandırma seçeneklerini kayıt defterinde tek bir merkezi konumda gruplandırın. Aynı yürütülebilir dosya tarafından barındırılan DCOM nesneleri, ortak güvenlik ve yapılandırma ayarlarının yönetimini basitleştirmek için tek bir AppID'de gruplandırılır.
Kayıt Defteri Anahtarı
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{AppID_GUID}
Kayıt defteri değeri | Açıklama |
---|---|
accesspermission | Bu sınıfın örneklerine erişebilen sorumluların Erişim Denetim Listesi'ni (ACL) açıklar. Bu ACL yalnızca CoInitializeSecurityçağırmayan uygulamalar tarafından kullanılır. |
ActivateAtStorage | İstemciyi, kullandıkları veya başlatıldıkları kalıcı durumla aynı bilgisayardaki nesnelerin örneğini oluşturacak şekilde yapılandırılır. |
AppID | Adlandırılmış yürütülebilir dosyaya karşılık gelen AppID GUID'sini tanımlar. |
AppIDFlags | "Etkileşimli Kullanıcı" olarak çalışacak şekilde yapılandırılmış bir COM sunucusunun varsayılan olmayan bir masaüstündeki bir istemci tarafından nasıl başlatılacağını veya bağlanacağını yapılandırılır. |
AuthenticationLevel | CoInitializeSecurityçağırmayan uygulamalar veya CoInitializeSecurity çağıran ve bir AppID belirten uygulamalar için kimlik doğrulama düzeyini ayarlar. |
DllSurrogate | DLL sunucularının vekil bir işlemde çalışmasını sağlar. Boş bir dize belirtilirse, sistem tarafından sağlanan vekil kullanılır; aksi takdirde, değer kullanılacak vekilin yolunu belirtir. |
DllSurrogateExecutable | DLL sunucularının, DllSurrogate kayıt defteri değeriyle birlikte özel bir vekil işlemde çalışmasını sağlar. |
uç noktaları | Bir COM uygulamasını DCOM iletişimleri için belirtilen TCP bağlantı noktası numarasını kullanacak şekilde yapılandırılır. |
LaunchPermission | Bu sınıf için yeni sunucuları başlatabilen sorumluların Erişim Denetim Listesi'ni (ACL) açıklar. |
LoadUserSettings | COM'un, başlatan kullanıcı uygulama kimliği olarak çalışan COM sunucuları için kullanıcı profilini yükleyip yüklemeyeceğini belirler. |
LocalService | Bir nesneyi hizmet uygulaması olarak yükler. |
PreferredServerBitness | Bu COM sunucusu için tercih edilen mimariyi (32 bit veya 64 bit) ayarlar. |
RemoteServerName | COSERVERINFO yapısı belirtilmeyen bir etkinleştirme işlevi çağrıldığında istemciyi nesnenin belirli bir bilgisayarda çalıştırılmasını istemek üzere yapılandırılır. |
ROTFlags | Çalışan nesne tablosuna (ROT) bir COM sunucusunun kaydını denetler. |
RunAs | Bir sınıfı, hizmet uygulaması olarak yazılmadan uzak bir istemci tarafından etkinleştirildiğinde belirli bir kullanıcı hesabı altında çalışacak şekilde yapılandırılır. |
ServiceParameters | LocalService kayıt defteri değeri aracılığıyla COM tarafından kullanılmak üzere yüklenen bir nesneye geçirilecek komut satırı parametrelerini belirtir. |
SRPTrustLevel | Uygulamalar için yazılım kısıtlama ilkesi (SRP) güven düzeyini ayarlar. |
Açıklamalar
AppID'ler iki farklı mekanizma kullanılarak yürütülebilir dosyalara ve sınıflara eşlenir:
- AppID anahtarını tanımlayan 128 bit Genel Benzersiz Tanımlayıcı (GUID) kullanma. Sınıf, adlandırılmış bir değerdeki "AppID" CLSID anahtarı altında karşılık gelen AppID değerini gösterir. Bu eşleme etkinleştirme sırasında kullanılır.
- Yürütülebilir bir adı ("MYOLDAPP.EXE" gibi) gösteren adlandırılmış bir değer kullanma. Bu adlandırılmış değer REG_SZ türündedir ve yürütülebilir dosyayla ilişkili AppID'nin dize gösterimini içerir. Bu eşleme, varsayılan erişim izinlerini ve kimlik doğrulama düzeyini almak için kullanılır.
HKEY_LOCAL_MACHINE\SOFTWARE\Classes anahtarı, COM'un önceki sürümleriyle uyumluluk için tutulan HKEY_CLASSES_ROOT anahtarına karşılık gelir.
COM sunucuları için eşleme genellikle kayıt işlemi sırasında veya dcomcnfg.exeçalıştırılırken oluşturulur ve kayıt defterine yazılır. Ancak, AppID anahtarını kullanarak güvenliği ayarlamak isteyen COM istemcileri uygun kayıt defteri anahtarlarını oluşturmalı ve kayıt defteri işlevlerini çağırarak veya Regedit.exekullanarak gerekli eşlemeyi belirtmelidir. Ardından AccessPermission veya AuthenticationLevel gibi değerler istemci için ayarlanabilir. Örneğin, istemci işleminiz için yürütülebilir dosyanızın adının "YourClient.exe" olduğunu ve kimlik doğrulama düzeyini "Yok" olarak ayarlamak istediğinizi varsayalım. Yürütülebilir dosyanızın AppID değeri olan GUID'yi oluşturmak için Guidgen.exe veya Uuidgen.exe kullanırsınız. Ardından, aşağıdaki örnekte gösterildiği gibi kayıt defterindeki değerleri ayarlayabilirsiniz, burada 00000001 "Hiçbiri" kimlik doğrulama düzeyini temsil eder:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID
{MyGuid}
AuthenticationLevel = 00000001
MyClient.exe
AppID = {MyGUID}