Çalışan EXE Sunucusunu Kaydetme

Yürütülebilir (EXE) bir sunucu başlatıldığında, sunucu için CLSID'yi sınıf tablosu olarak adlandırılan tabloya (çalışan nesne tablosundan farklı bir tablo) kaydeden CoRegisterClassObjectçağırmalıdır. Bir sunucu sınıf tablosuna kaydedildiğinde, sunucu zaten çalıştığından hizmet denetim yöneticisinin (SCM) sınıfı yeniden başlatmanın gerekli olmadığını belirlemesine olanak tanır. Yalnızca sunucu sınıf tablosunda listelenmiyorsa, SCM uygun değerler için kayıt defterini denetler ve verilen CLSID ile ilişkili sunucuyu başlatır.

CoRegisterClassObject sınıfı için CLSID ve IUnknown arabirimine bir işaretçi geçirirsiniz. Daha sonra bu CLSID ile CoGetClassObject çağıran istemciler, güvenlik bunu yasaklamadığı sürece istenen arabirimlerine bir işaretçi alır. (Çeşitli örnek oluşturma ve etkinleştirme işlevlerinin açıklaması için bkz. Örnek Oluşturma Yardımcı İşlevleri.)

Sınıf nesnesinin sunucusu, aşağıdakilerin tümü doğru olduğunda sınıf nesnesini iptal etmek (kaydını kaldırmak) için CoRevokeClassObject çağırmalıdır:

  • Nesne tanımının mevcut bir örneği yok.
  • Sınıf nesnesinde kilit yok.
  • Sınıf nesnesine hizmet sağlayan uygulama kullanıcı denetimi altında değil (görüntüdeki kullanıcıya görünmez).

hizmet uygulaması olarak yükleme

Yükleme sırasında sınıf kaydetme

ROT'da Nesne Kaydetme

Kendi Kendine Kayıt