22#pragma section("FXARX_DYNPROP$__a", read, shared)
23#pragma section("FXARX_DYNPROP$__z", read, shared)
24#pragma section("FXARX_DYNPROP$__m", read, shared)
31#if defined(_WIN64) || defined(_AC64)
32#define OPM_DYNPROP_OBJECT_ENTRY_PRAGMA(classname, rxclass) __pragma(comment(linker, "/include:__pOpmObjMap_" #rxclass #classname)) ;
34#define OPM_DYNPROP_OBJECT_ENTRY_PRAGMA(classname, rxclass) __pragma(comment(linker, "/include:___pOpmObjMap_" #rxclass #classname)) ;
37#define OPM_DYNPROP_OBJECT_ENTRY_MAKE(classname, rxclass, clsid) \
38 __declspec(selectany) _OPM_DYNPROP_ENTRY __OpmObjMap_##rxclass##classname = {classname::_CreatorClass::CreateInstance, NULL, rxclass::desc (), NULL, &clsid, NULL} ; \
39 extern "C" __declspec(allocate("FXARX_DYNPROP$__m")) __declspec(selectany) _OPM_DYNPROP_ENTRY* const __pOpmObjMap_##rxclass##classname = &__OpmObjMap_##rxclass##classname ; \
40 OPM_DYNPROP_OBJECT_ENTRY_PRAGMA(classname, rxclass)
42#define OPM_DYNPROP_OBJECT_ENTRY_AUTO(classname, rxclass) \
43 OPM_DYNPROP_OBJECT_ENTRY_MAKE(classname, rxclass, __uuidof (IDynamicProperty2))
45#define OPM_DYNPROP_OBJECT_LEGACY1ENTRY_AUTO(classname, rxclass) \
46 OPM_DYNPROP_OBJECT_ENTRY_MAKE(classname, rxclass, __uuidof (IDynamicProperty))GET_OPM_COMMAND_PROPERTY_MANAGER
48#if defined(_WIN64) || defined(_AC64)
49#define OPM_DYNPROP_COMMAND_ENTRY_PRAGMA(classname, cmdname) __pragma(comment(linker, "/include:__pOpmObjMap_" #cmdname #classname)) ;
51#define OPM_DYNPROP_COMMAND_ENTRY_PRAGMA(classname, cmdname) __pragma(comment(linker, "/include:___pOpmObjMap_" #cmdname #classname)) ;
54#define OPM_DYNPROP_COMMAND_ENTRY_MAKE(classname, cmdname, clsid) \
55 __declspec(selectany) _OPM_DYNPROP_ENTRY __OpmObjMap_##cmdname##classname = {classname::_CreatorClass::CreateInstance, _RXST(#cmdname), NULL, NULL, &clsid} ; \
56 extern "C" __declspec(allocate("FXARX_DYNPROP$__m")) __declspec(selectany) _OPM_DYNPROP_ENTRY* const __pOpmObjMap_##cmdname##classname = &__OpmObjMap_##cmdname##classname ; \
57 OPM_DYNPROP_COMMAND_ENTRY_PRAGMA(classname, cmdname)
59#define OPM_DYNPROP_COMMAND_ENTRY_AUTO(classname, cmdname) \
60 OPM_DYNPROP_COMMAND_ENTRY_MAKE(classname, cmdname, __uuidof (IDynamicProperty2))
62#define OPM_DYNPROP_COMMAND_LEGACY1ENTRY_AUTO(classname, cmdname) \
63 OPM_DYNPROP_COMMAND_ENTRY_MAKE(classname, cmdname, __uuidof (IDynamicProperty))
66#define OPM_DYNPROP_PERINSTANCE_ENTRY_AUTO(classname, rxclass) \
67 OPM_DYNPROP_OBJECT_ENTRY_MAKE(classname, rxclass, __uuidof (IPropertySource))
82 ATLASSERT( !( ( *ppEntry )->pClass && ( *ppEntry )->strCmd ) );
83 ATLASSERT( ( *ppEntry )->pClass || ( *ppEntry )->strCmd );
89 else if ( ( *ppEntry )->pClass !=
NULL ) {
103 _com_util::CheckError( ( *ppEntry )->pfnCreateInstance(
NULL , *( ( *ppEntry )->pclsid ) , (
void ** )&( ( *ppEntry )->pProp ) ) );
104 ( *ppEntry )->pProp->AddRef( );
105 _com_util::CheckError(
pPropMan->AddProperty( ( *ppEntry )->pProp ) );
110 _com_util::CheckError( ( *ppEntry )->pfnCreateInstance(
NULL , *( ( *ppEntry )->pclsid ) , (
void ** )&( ( *ppEntry )->pPropSrc ) ) );
112 ( *ppEntry )->pPropSrc->get_Name( &propName );
114 if ( pPropSrc ==
NULL ) {
119 ( *ppEntry )->pPropSrc->Release( );
120 ( *ppEntry )->pPropSrc = pPropSrc;
136 ATLASSERT( !( ( *ppEntry )->pClass && ( *ppEntry )->strCmd ) );
137 ATLASSERT( ( *ppEntry )->pClass || ( *ppEntry )->strCmd );
144 else if ( ( *ppEntry )->pClass !=
NULL ) {
156 if ( ( *ppEntry )->pProp !=
NULL ) {
157 _com_util::CheckError(
pPropMan->RemoveProperty( ( *ppEntry )->pProp ) );
158 ( *ppEntry )->pProp->Release( );
165 ( *ppEntry )->pPropSrc->get_Name( &propName );
168 if ( ( *ppEntry )->pPropSrc->Release( ) <= 1 ) {
#define GET_OPM_PERINSTANCE_EXTENSION_PROTOCOL(pAcRxClass)
#define GET_OPM_PERINSTANCE_PROPERTY_SOURCES()
__declspec(selectany) _FXARX_COMMAND_ENTRY *__pFXARXCommandFirst
static AcRxClass *__cdecl desc(void)
#define GET_OPMEXTENSION_CREATE_PROTOCOL()
#define GET_OPM_COMMAND_PROPERTY_MANAGER(pCommandName)
#define GET_OPMPROPERTY_MANAGER(pAcRxClass)