Aracılığıyla paylaş


Çalışma Süresi Nesne Modeli Hizmetleri

Not

Microsoft Foundation Sınıfları (MFC) kitaplığına destek verilmeye devam ediliyor. Ancak artık özellik eklemeyeceğiz veya belgeleri güncelleştirmeyeceğiz.

Sınıflar CObject ve CRuntimeClass çalışma zamanı sınıf bilgilerine erişim, serileştirme ve dinamik nesne oluşturma gibi çeşitli nesne hizmetlerini kapsüller. Bu işlevden CObject türetilen tüm sınıflar devralır.

Çalışma zamanı sınıf bilgilerine erişim, çalışma zamanında bir nesnenin sınıfı hakkındaki bilgileri belirlemenize olanak tanır. Çalışma zamanında bir nesnenin sınıfını belirleme özelliği, işlev bağımsız değişkenlerinin ek tür denetimine ihtiyacınız olduğunda ve bir nesnenin sınıfını temel alan özel amaçlı kod yazmanız gerektiğinde kullanışlıdır. Çalışma zamanı sınıf bilgileri doğrudan C++ dili tarafından desteklenmez.

Serileştirme, bir nesnenin içeriğini dosyaya veya dosyadan yazma veya okuma işlemidir. Uygulama çıktıktan sonra bile bir nesnenin içeriğini depolamak için serileştirmeyi kullanabilirsiniz. Daha sonra uygulama yeniden başlatıldığında nesne dosyadan okunabilir. Bu tür veri nesnelerinin "kalıcı" olduğu söylenir.

Dinamik nesne oluşturma, çalışma zamanında belirtilen bir sınıfın nesnesini oluşturmanıza olanak tanır. Örneğin, çerçevenin bunları dinamik olarak oluşturması gerektiğinden, belge, görünüm ve çerçeve nesneleri dinamik oluşturmayı desteklemelidir.

Aşağıdaki tabloda çalışma zamanı sınıf bilgilerini, serileştirmeyi ve dinamik oluşturmayı destekleyen MFC makroları listelenir.

Bu çalışma zamanı nesne hizmetleri ve serileştirme hakkında daha fazla bilgi için Sınıf: Çalışma Zamanı Sınıf BilgilerineCObject bakın.

Çalışma Zamanı Nesne Modeli Hizmetleri Makroları

Veri Akışı Adı Açıklama
DECLARE_DYNAMIC Çalışma zamanı sınıf bilgilerine erişimi etkinleştirir (sınıf bildiriminde kullanılmalıdır).
DECLARE_DYNCREATE Dinamik oluşturma ve çalışma zamanı sınıf bilgilerine erişim sağlar (sınıf bildiriminde kullanılmalıdır).
DECLARE_SERIAL Serileştirmeyi ve çalışma zamanı sınıf bilgilerine erişimi etkinleştirir (sınıf bildiriminde kullanılmalıdır).
IMPLEMENT_DYNAMIC Çalışma zamanı sınıf bilgilerine erişimi etkinleştirir (sınıf uygulamasında kullanılmalıdır).
IMPLEMENT_DYNCREATE Dinamik oluşturma ve çalışma zamanı bilgilerine erişim sağlar (sınıf uygulamasında kullanılmalıdır).
IMPLEMENT_SERIAL Serileştirmeye ve çalışma zamanı sınıf bilgilerine erişime izin verir (sınıf uygulamasında kullanılmalıdır).
RUNTIME_CLASS CRuntimeClass Adlandırılmış sınıfa karşılık gelen yapıyı döndürür.

OLE genellikle çalışma zamanında nesnelerin dinamik olarak oluşturulmasını gerektirir. Örneğin, bir OLE sunucusu uygulamasının bir istemciden gelen isteğe yanıt olarak ole öğelerini dinamik olarak oluşturabilmesi gerekir. Benzer şekilde, otomasyon sunucusunun otomasyon istemcilerinden gelen isteklere yanıt olarak öğeler oluşturabilmesi gerekir.

Microsoft Foundation Sınıf Kitaplığı, OLE'ye özgü iki makro sağlar.

OLE Nesnelerinin Dinamik Oluşturulması

Veri Akışı Adı Açıklama
AFX_COMCTL32_IF_EXISTS Ortak Denetimler kitaplığının belirtilen API'yi uygulayıp uygulamayacağını belirler.
AFX_COMCTL32_IF_EXISTS2 Ortak Denetimler kitaplığının belirtilen API'yi uygulayıp uygulamayacağını belirler.
DECLARE_OLECREATE Nesnelerin OLE otomasyonu aracılığıyla oluşturulmasını sağlar.
DECLARE_OLECTLTYPE GetUserTypeNameID Denetim sınıfınızın ve GetMiscStatus üye işlevlerini bildirir.
DECLARE_PROPPAGEIDS OLE denetiminin özelliklerini görüntülemek için özellik sayfalarının listesini sağladığını bildirir.
IMPLEMENT_OLECREATE Nesnelerin OLE sistemi tarafından oluşturulmasını sağlar.
IMPLEMENT_OLECTLTYPE GetUserTypeNameID Denetim sınıfınızın ve GetMiscStatus üye işlevlerini uygular.
IMPLEMENT_OLECREATE_FLAGS Bu makro veya IMPLEMENT_OLECREATE kullanan DECLARE_OLECREATEherhangi bir sınıf için uygulama dosyasında görünmelidir.

AFX_COMCTL32_IF_EXISTS

Ortak Denetimler kitaplığının belirtilen API'yi uygulayıp uygulamayacağını belirler.

Sözdizimi

AFX_COMCTL32_IF_EXISTS(  proc );

Parametreler

proc
İşlev adını içeren null olarak sonlandırılan bir dizenin işaretçisi veya işlevin sıra değerini belirtir. Bu parametre sıralı bir değerse, düşük sıralı sözcükte olmalıdır; yüksek sıralı sözcük sıfır olmalıdır. Bu parametre Unicode olmalıdır.

Açıklamalar

tarafından belirtilen proc Ortak Denetimler kitaplığının (çağrısı GetProcAddressyerine) olup olmadığını belirlemek için bu makroyu kullanın.

Gereksinimler

afxcomctl32.h, afxcomctl32.inl

AFX_COMCTL32_IF_EXISTS2

Ortak Denetimler kitaplığının belirtilen API'yi uygulayıp uygulamayacağını belirler (bu, unicode sürümüdür AFX_COMCTL32_IF_EXISTS).

Sözdizimi

AFX_COMCTL32_IF_EXISTS2( proc );

Parametreler

proc
İşlev adını içeren null olarak sonlandırılan bir dizenin işaretçisi veya işlevin sıra değerini belirtir. Bu parametre sıralı bir değerse, düşük sıralı sözcükte olmalıdır; yüksek sıralı sözcük sıfır olmalıdır. Bu parametre Unicode olmalıdır.

Açıklamalar

tarafından belirtilen proc Ortak Denetimler kitaplığının (çağrısı GetProcAddressyerine) olup olmadığını belirlemek için bu makroyu kullanın. Bu makro, unicode sürümüdür AFX_COMCTL32_IF_EXISTS.

Gereksinimler

afxcomctl32.h, afxcomctl32.inl

DECLARE_DYNAMIC

öğesinden CObjectbir sınıf türetirken nesnenin sınıfıyla ilgili çalışma zamanı bilgilerine erişme özelliğini ekler.

DECLARE_DYNAMIC(class_name)

Parametreler

class_name
Sınıfın gerçek adı.

Açıklamalar

Makroyu DECLARE_DYNAMIC sınıfın üst bilgi (.h) modülüne ekleyin, ardından bu modülü bu sınıfın nesnelerine erişmesi gereken tüm .cpp modüllere ekleyin.

ve DECLARE_DYNAMIC makrolarını açıklandığı gibi kullanırsanızIMPLEMENT_DYNAMIC, çalışma zamanında nesnelerinizin sınıfını belirlemek için makroyu ve RUNTIME_CLASS işlevini kullanabilirsinizCObject::IsKindOf.

Sınıf bildirimine dahil edilirse DECLARE_DYNAMIC , IMPLEMENT_DYNAMIC sınıf uygulamasına dahil edilmelidir.

Makro hakkında DECLARE_DYNAMIC daha fazla bilgi için bkz CObject . Sınıf Konuları.

Örnek

örneğine IMPLEMENT_DYNAMICbakın.

Gereksinimler

Üstbilgi:afx.h

DECLARE_DYNCREATE

Türetilmiş sınıfların nesnelerinin CObjectçalışma zamanında dinamik olarak oluşturulmasını sağlar.

DECLARE_DYNCREATE(class_name)

Parametreler

class_name
Sınıfın gerçek adı.

Açıklamalar

Çerçeve, dinamik olarak yeni nesneler oluşturmak için bu özelliği kullanır. Örneğin, yeni bir belge açtığınızda oluşturulan yeni görünüm. Çerçevenin bunları dinamik olarak oluşturması gerektiğinden, belge, görünüm ve çerçeve sınıfları dinamik oluşturmayı desteklemelidir.

Sınıfın DECLARE_DYNCREATE modülüne .h makro ekleyin, ardından bu modülü bu sınıfın nesnelerine erişmesi gereken tüm .cpp modüllere ekleyin.

Sınıf bildirimine dahil edilirse DECLARE_DYNCREATE , IMPLEMENT_DYNCREATE sınıf uygulamasına dahil edilmelidir.

Makro hakkında DECLARE_DYNCREATE daha fazla bilgi için bkz CObject . Sınıf Konuları.

Not

Makro, DECLARE_DYNCREATE işlevinin tüm işlevlerini DECLARE_DYNAMICiçerir.

Örnek

örneğine IMPLEMENT_DYNCREATEbakın.

Gereksinimler

Üstbilgi:afx.h

DECLARE_OLECTLTYPE

GetUserTypeNameID Denetim sınıfınızın ve GetMiscStatus üye işlevlerini bildirir.

Sözdizimi

DECLARE_OLECTLTYPE( class_name )

Parametreler

class_name
Denetim sınıfının adı.

Açıklamalar

GetUserTypeNameID ve GetMiscStatus içinde bildirilen saf sanal işlevlerdir COleControl. Bu işlevler saf sanal olduğundan, denetim sınıfınızda geçersiz kılınmalıdır. öğesine DECLARE_OLECTLTYPEek olarak, makroyu IMPLEMENT_OLECTLTYPE denetim sınıfı bildiriminize eklemeniz gerekir.

Gereksinimler

Üstbilgi:afxctl.h

DECLARE_PROPPAGEIDS

OLE denetiminin özelliklerini görüntülemek için özellik sayfalarının listesini sağladığını bildirir.

Sözdizimi

DECLARE_PROPPAGEIDS( class_name )

Parametreler

class_name
Özellik sayfalarının sahibi olan denetim sınıfının adı.

Açıklamalar

DECLARE_PROPPAGEIDS Sınıf bildiriminizin sonundaki makroyu kullanın. Ardından, sınıfın .cpp üye işlevlerini tanımlayan dosyada makroyu BEGIN_PROPPAGEIDS , denetiminizin özellik sayfalarının her biri için makro girdilerini ve END_PROPPAGEIDS özellik sayfası listesinin sonunu bildirmek için makroyu kullanın.

Özellik sayfaları hakkında daha fazla bilgi için ActiveX Denetimleri: Özellik Sayfaları makalesine bakın.

Gereksinimler

Üstbilgi:afxctl.h

DECLARE_SERIAL

Seri hale getirilebilen türetilmiş bir CObjectsınıf için gereken C++ üst bilgi kodunu oluşturur.

DECLARE_SERIAL(class_name)

Parametreler

class_name
Sınıfın gerçek adı.

Açıklamalar

Serileştirme, bir nesnenin içeriğini dosyaya ve dosyadan yazma veya okuma işlemidir.

Bir DECLARE_SERIAL modülde makroyu .h kullanın ve ardından bu modülü bu sınıfın nesnelerine erişmesi gereken tüm .cpp modüllere ekleyin.

Sınıf bildirimine dahil edilirse DECLARE_SERIAL , IMPLEMENT_SERIAL sınıf uygulamasına dahil edilmelidir.

Makro, DECLARE_SERIAL ve DECLARE_DYNAMICişlevlerinin DECLARE_DYNCREATE tümünü içerir.

ve AFX_API makrolarını kullanan sınıfların CArchiveDECLARE_SERIAL ayıklama işlecini otomatik olarak dışarı aktarmak için makroyu IMPLEMENT_SERIAL kullanabilirsiniz. Sınıf bildirimlerini (dosyasında bulunur .h ) aşağıdaki kodla köşeli ayraçla yazın:

#undef AFX_API
#define AFX_API AFX_EXT_CLASS

// <your class declarations here>

#undef AFX_API
#define AFX_API

Makro hakkında DECLARE_SERIAL daha fazla bilgi için bkz CObject . Sınıf Konuları.

Örnek

class CAge : public CObject
{
public:
   void Serialize(CArchive& ar);
   DECLARE_SERIAL(CAge)

   // remainder of class declaration omitted

Gereksinimler

Üstbilgi:afx.h

IMPLEMENT_DYNAMIC

Hiyerarşi içindeki sınıf adına ve konumuna çalışma zamanı erişimi olan dinamik CObjecttüretilmiş bir sınıf için gerekli olan C++ kodunu oluşturur.

IMPLEMENT_DYNAMIC(class_name, base_class_name)

Parametreler

class_name
Sınıfın gerçek adı.

base_class_name
Temel sınıfın adı.

Açıklamalar

Bir modülde makroyu IMPLEMENT_DYNAMIC kullanın ve ardından sonuçta elde edilen nesne kodunu yalnızca bir .cpp kez bağlayın.

Daha fazla bilgi için bkz CObject . Sınıf Konuları.

Örnek

class CPerson : public CObject
{
   DECLARE_DYNAMIC(CPerson)

   // other declarations
};

 

IMPLEMENT_DYNAMIC(CPerson, CObject)

Gereksinimler

Üstbilgi:afx.h

IMPLEMENT_DYNCREATE

Türetilmiş sınıfların nesnelerinin CObjectmakroyla kullanıldığında çalışma zamanında dinamik olarak oluşturulmasını DECLARE_DYNCREATE sağlar.

IMPLEMENT_DYNCREATE(class_name, base_class_name)

Parametreler

class_name
Sınıfın gerçek adı.

base_class_name
Temel sınıfın gerçek adı.

Açıklamalar

Çerçeve, örneğin serileştirme sırasında diskten bir nesne okuduğunda dinamik olarak yeni nesneler oluşturmak için bu özelliği kullanır. Makroyu IMPLEMENT_DYNCREATE sınıf uygulama dosyasına ekleyin. Daha fazla bilgi için bkz CObject . Sınıf Konuları.

ve makrolarını kullanırsanızDECLARE_DYNCREATE, çalışma zamanında nesnelerinizin sınıfını belirlemek için makroyu ve IMPLEMENT_DYNCREATE üye işlevini kullanabilirsinizRUNTIME_CLASS.CObject::IsKindOf

Sınıf bildirimine dahil edilirse DECLARE_DYNCREATE , IMPLEMENT_DYNCREATE sınıf uygulamasına dahil edilmelidir.

Bu makro tanımının sınıfınız için varsayılan oluşturucuyu çağıracağını unutmayın. Önemsiz olmayan bir oluşturucu sınıf tarafından açıkça uygulanırsa, varsayılan oluşturucuyu da açıkça uygulamalıdır. Varsayılan oluşturucu, sınıfın veya private üye bölümlerinin sınıf protected uygulaması dışından çağrılmasını önlemek için eklenebilir.

Örnek

class CMyDynCreateObj : public CObject
{
   int m_Num;
public:
   DECLARE_DYNCREATE(CMyDynCreateObj)
   CMyDynCreateObj(int Num) { m_Num = Num; }
private:
   CMyDynCreateObj() { m_Num = 0; }  // provide default constructor only for 
                                     // dynamic creation 
};

 

IMPLEMENT_DYNCREATE(CMyDynCreateObj, CObject)

Gereksinimler

Üstbilgi:afx.h

IMPLEMENT_OLECREATE_FLAGS

Bu makro veya IMPLEMENT_OLECREATE kullanan DECLARE_OLECREATEherhangi bir sınıf için uygulama dosyasında görünmelidir.

Sözdizimi

IMPLEMENT_OLECREATE_FLAGS( class_name, external_name, nFlags,
    l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)

Parametreler

class_name
Sınıfın gerçek adı.

external_name
Diğer uygulamalara sunulan nesne adı (tırnak içine alınmış).

nFlags
Aşağıdaki bayraklardan birini veya daha fazlasını içerir:

  • afxRegInsertable DENETIMIn OLE nesneleri için Nesne Ekle iletişim kutusunda görünmesine izin verir.
  • afxRegApartmentThreading Kayıt defterindeki iş parçacığı modelini olarak ThreadingModel=Apartmentayarlar.
  • afxRegFreeThreading Kayıt defterindeki iş parçacığı modelini olarak ThreadingModel=Freeayarlar.

İki bayrağı afxRegApartmentThreadingafxRegFreeThreading birleştirip ThreadingModel=Both değerini ayarlayabilirsiniz. İş parçacığı modeli kaydı hakkında daha fazla bilgi için Bkz InprocServer32 . Windows SDK'sı.

l, w1, w2, , b1b2, , b3, b4, b5, b6, , , b7Sınıfın b8 CLSID bileşenleri.

Açıklamalar

Not

kullanıyorsanız IMPLEMENT_OLECREATE_FLAGSparametresini kullanarak nesnenizin hangi iş parçacığı modelini desteklediğini nFlags belirtebilirsiniz. Yalnızca tek ayaklı modeli desteklemek istiyorsanız kullanın IMPLEMENT_OLECREATE.

Dış ad, diğer uygulamalara sunulan tanımlayıcıdır. İstemci uygulamaları, otomasyon sunucusundan bu sınıfın bir nesnesini istemek için dış adı kullanır.

OLE sınıf kimliği, nesne için benzersiz bir 128 bit tanımlayıcıdır. Söz dizimi açıklamasında , , ve aracılığıyla long gösterildiği WORDBYTElgibi bir w1, iki **w2**s ve b1 sekiz **b8**sn'den oluşur. Uygulama Sihirbazı ve kod sihirbazları, gerektiğinde sizin için benzersiz OLE sınıfı kimlikleri oluşturur.

Gereksinimler

Üstbilgi:afxdisp.h

IMPLEMENT_OLECTLTYPE

GetUserTypeNameID Denetim sınıfınızın ve GetMiscStatus üye işlevlerini uygular.

Sözdizimi

DECLARE_OLECTLTYPE( class_name, idsUserTypeName, dwOleMisc )

Parametreler

class_name
Denetim sınıfının adı.

idsUserTypeName
Denetimin dış adını içeren bir dizenin kaynak kimliği.

dwOleMisc
Bir veya daha fazla bayrak içeren bir numaralandırma. Bu numaralandırma hakkında daha fazla bilgi için Bkz OLEMISC . Windows SDK'sı.

Açıklamalar

öğesine IMPLEMENT_OLECTLTYPEek olarak, makroyu DECLARE_OLECTLTYPE denetim sınıfı bildiriminize eklemeniz gerekir.

GetUserTypeNameID üye işlevi, denetim sınıfınızı tanımlayan kaynak dizesini döndürür. GetMiscStatus OLEMISC denetiminizin bitlerini döndürür. Bu numaralandırma, denetiminizin çeşitli özelliklerini açıklayan bir ayar koleksiyonunu belirtir. Ayarların OLEMISC tam açıklaması için Bkz OLEMISC . Windows SDK'sı.

Not

ActiveX ControlWizard tarafından kullanılan varsayılan ayarlar şunlardır: OLEMISC_ACTIVATEWHENVISIBLE, OLEMISC_SETCLIENTSITEFIRST, OLEMISC_INSIDEOUT, OLEMISC_CANTLINKINSIDEve OLEMISC_RECOMPOSEONRESIZE.

Gereksinimler

Üstbilgi:afxctl.h

IMPLEMENT_SERIAL

Hiyerarşi içindeki sınıf adına ve konumuna çalışma zamanı erişimi olan dinamik CObjecttüretilmiş bir sınıf için gerekli olan C++ kodunu oluşturur.

IMPLEMENT_SERIAL(class_name, base_class_name, wSchema)

Parametreler

class_name
Sınıfın gerçek adı.

base_class_name
Temel sınıfın adı.

wSchema
Seri durumdan çıkarma programının önceki program sürümleri tarafından oluşturulan verileri tanımlamasını ve işlemesini sağlamak için arşivde kodlanacak UINT "sürüm numarası". Sınıf şema numarası -1 olmamalıdır.

Açıklamalar

Bir modülde makroyu IMPLEMENT_SERIAL kullanın; ardından sonuçta elde edilen nesne kodunu yalnızca bir .cpp kez bağlayın.

ve AFX_API makrolarını kullanan sınıfların CArchiveDECLARE_SERIAL ayıklama işlecini otomatik olarak dışarı aktarmak için makroyu IMPLEMENT_SERIAL kullanabilirsiniz. Sınıf bildirimlerini (dosyasında bulunur .h ) aşağıdaki kodla köşeli ayraçla yazın:

#undef AFX_API
#define AFX_API AFX_EXT_CLASS

// <your class declarations here>

#undef AFX_API
#define AFX_API

Daha fazla bilgi için bkz CObject . Sınıf Konuları.

Örnek

IMPLEMENT_SERIAL(CAge, CObject, VERSIONABLE_SCHEMA | 2)

Gereksinimler

Üstbilgi:afx.h

RUNTIME_CLASS

Çalışma zamanı sınıf yapısını bir C++ sınıfının adından alır.

RUNTIME_CLASS(class_name)

Parametreler

class_name
Sınıfın gerçek adı (tırnak içine alınmaz).

Açıklamalar

RUNTIME_CLASStarafından CRuntimeClassbelirtilen sınıfın yapısına yönelik bir class_name işaretçi döndürür. Yalnızca CObject, DECLARE_DYNAMICveya DECLARE_DYNCREATE ile DECLARE_SERIALbildirilen türetilmiş sınıflar bir CRuntimeClass yapıya işaretçiler döndürür.

Daha fazla bilgi için bkz CObject . Sınıf Konuları.

Örnek

CRuntimeClass* prt = RUNTIME_CLASS(CAge);
ASSERT(strcmp(prt->m_lpszClassName, "CAge") == 0);

Gereksinimler

Üstbilgi:afx.h

DECLARE_OLECREATE

Türetilmiş sınıfların nesnelerinin CCmdTargetOLE otomasyonu aracılığıyla oluşturulmasını sağlar.

DECLARE_OLECREATE(class_name)

Parametreler

class_name
Sınıfın gerçek adı.

Açıklamalar

Bu makro, ole özellikli diğer uygulamaların bu tür nesneler oluşturmasına olanak tanır.

Sınıfın DECLARE_OLECREATE modülüne .h makroyu ekleyin ve ardından bu modülü bu sınıfın nesnelerine erişmesi gereken tüm .cpp modüllere ekleyin.

Sınıf bildirimine dahil edilirse DECLARE_OLECREATE , IMPLEMENT_OLECREATE sınıf uygulamasına dahil edilmelidir. kullanan DECLARE_OLECREATE bir sınıf bildirimi de veya DECLARE_DYNCREATEkullanmalıdırDECLARE_SERIAL.

Gereksinimler

Üst Bilgi: afxdisp.h

IMPLEMENT_OLECREATE

Bu makro veya IMPLEMENT_OLECREATE_FLAGS kullanan DECLARE_OLECREATEherhangi bir sınıf için uygulama dosyasında görünmelidir.

IMPLEMENT_OLECREATE(class_name, external_name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)

Parametreler

class_name
Sınıfın gerçek adı.

external_name
Diğer uygulamalara sunulan nesne adı (tırnak içine alınmış).

l, w1, w2, , b1b2, , b3, b4, b5, b6, , , b7Sınıfın b8 CLSID bileşenleri.

Açıklamalar

Not

kullanıyorsanız IMPLEMENT_OLECREATE, varsayılan olarak yalnızca tek iş parçacığı modelini desteklersiniz. kullanıyorsanız IMPLEMENT_OLECREATE_FLAGSparametresini kullanarak nesnenizin hangi iş parçacığı modelini desteklediğini nFlags belirtebilirsiniz.

Dış ad, diğer uygulamalara sunulan tanımlayıcıdır. İstemci uygulamaları, otomasyon sunucusundan bu sınıfın bir nesnesini istemek için dış adı kullanır.

OLE sınıf kimliği, nesne için benzersiz bir 128 bit tanımlayıcıdır. Söz dizimi açıklamasında , , ve aracılığıyla long gösterildiği WORDBYTElgibi bir w1, iki **w2**s ve b1 sekiz **b8**sn'den oluşur. Uygulama Sihirbazı ve kod sihirbazları, gerektiğinde sizin için benzersiz OLE sınıfı kimlikleri oluşturur.

Gereksinimler

Üst Bilgi: afxdisp.h

Ayrıca bkz.

Makrolar ve Genel Ayarlar
MFC Ortak Denetimler Kitaplığını Yalıtma
CLSID Anahtarı