2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS BDA Proxy
4 * FILE: dll/directx/bdaplgin/classfactory.cpp
5 * PURPOSE: ClassFactory interface
7 * PROGRAMMERS: Johannes Anderwald (janderwald@reactos.org)
12 const GUID CBDADeviceControl_GUID
= {STATIC_KSMETHODSETID_BdaChangeSync
};
13 const GUID CBDAPinControl_GUID
= {0x0DED49D5, 0xA8B7, 0x4d5d, {0x97, 0xA1, 0x12, 0xB0, 0xC1, 0x95, 0x87, 0x4D}};
16 static INTERFACE_TABLE InterfaceTable
[] =
18 {&CBDADeviceControl_GUID
, CBDADeviceControl_fnConstructor
},
19 {&CBDAPinControl_GUID
, CBDAPinControl_fnConstructor
},
33 case DLL_PROCESS_ATTACH
:
37 OutputDebugStringW(L
"BDAPLGIN::DllMain()\n");
40 DisableThreadLibraryCalls(hInstDLL
);
54 DllUnregisterServer(void)
63 DllRegisterServer(void)
77 HRESULT hres
= E_OUTOFMEMORY
;
78 IClassFactory
* pcf
= NULL
;
85 for (i
= 0; InterfaceTable
[i
].riid
; i
++)
87 if (IsEqualIID(*InterfaceTable
[i
].riid
, rclsid
))
89 pcf
= CClassFactory_fnConstructor(InterfaceTable
[i
].lpfnCI
, NULL
, NULL
);
96 return CLASS_E_CLASSNOTAVAILABLE
;
99 hres
= pcf
->QueryInterface(riid
, ppv
);
108 DllCanUnloadNow(void)