You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
3.9 KiB
106 lines
3.9 KiB
///////////////////////////////////////////////////////////////////////////////
|
|
// This file contains the component server code. The FactoryDataArray contains
|
|
// the components that can be served.
|
|
//
|
|
// The following array contains the data used by CFactory to create components.
|
|
// Each element in the array contains the CLSID, the pointer to the creation
|
|
// function, and the name of the component to place in the Registry.
|
|
|
|
#include "factdata.h"
|
|
#include "fact.h"
|
|
|
|
#include "dtct.h"
|
|
|
|
#include "devinfo.h"
|
|
#include "settings.h"
|
|
#include "cstmprop.h"
|
|
#include "regnotif.h"
|
|
|
|
const CLSID APPID_ShellHWDetection = { /* b1b9cbb2-b198-47e2-8260-9fd629a2b2ec */
|
|
0xb1b9cbb2,
|
|
0xb198,
|
|
0x47e2,
|
|
{0x82, 0x60, 0x9f, 0xd6, 0x29, 0xa2, 0xb2, 0xec}
|
|
};
|
|
|
|
CFactoryData g_FactoryDataArray[] =
|
|
{
|
|
{
|
|
&CLSID_HWEventDetector,
|
|
CHWEventDetector::UnkCreateInstance,
|
|
L"Shell.HWEventDetector", // Friendly name
|
|
L"Shell.HWEventDetector.1", // ProgID
|
|
L"Shell.HWEventDetector", // Version-independent
|
|
THREADINGMODEL_FREE, // ThreadingModel == Free
|
|
// this is not a COM server, so following are N/A
|
|
NULL, // CoRegisterClassObject context
|
|
NULL, // CoRegisterClassObject flags
|
|
NULL, // ServiceName
|
|
NULL,
|
|
},
|
|
{
|
|
&CLSID_HWEventSettings,
|
|
CAutoplayHandler::UnkCreateInstance,
|
|
L"AutoplayHandler", // Friendly name
|
|
L"AutoplayHandler.1", // ProgID
|
|
L"AutoplayHandler", // Version-independent
|
|
THREADINGMODEL_FREE, // ThreadingModel == Free
|
|
CLSCTX_LOCAL_SERVER,
|
|
REGCLS_MULTIPLEUSE,
|
|
L"ShellHWDetection",
|
|
&APPID_ShellHWDetection,
|
|
},
|
|
{
|
|
&CLSID_AutoplayHandlerProperties,
|
|
CAutoplayHandlerProperties::UnkCreateInstance,
|
|
L"AutoplayHandlerProperties", // Friendly name
|
|
L"AutoplayHandlerProperties.1", // ProgID
|
|
L"AutoplayHandlerProperties", // Version-independent
|
|
THREADINGMODEL_FREE, // ThreadingModel == Free
|
|
CLSCTX_LOCAL_SERVER,
|
|
REGCLS_MULTIPLEUSE,
|
|
L"ShellHWDetection",
|
|
&APPID_ShellHWDetection,
|
|
},
|
|
{
|
|
&CLSID_HWDevice,
|
|
CHWDevice::UnkCreateInstance,
|
|
L"HWDevice", // Friendly name
|
|
L"HWDevice.1", // ProgID
|
|
L"HWDevice", // Version-independent
|
|
THREADINGMODEL_FREE, // ThreadingModel == Free
|
|
CLSCTX_LOCAL_SERVER,
|
|
REGCLS_MULTIPLEUSE,
|
|
L"ShellHWDetection",
|
|
&APPID_ShellHWDetection,
|
|
},
|
|
{
|
|
&CLSID_HardwareDevices,
|
|
CHardwareDevices::UnkCreateInstance,
|
|
L"HardwareDeviceNotif", // Friendly name
|
|
L"HardwareDeviceNotif.1", // ProgID
|
|
L"HardwareDeviceNotif", // Version-independent
|
|
THREADINGMODEL_FREE, // ThreadingModel == Free
|
|
CLSCTX_LOCAL_SERVER,
|
|
REGCLS_MULTIPLEUSE,
|
|
L"ShellHWDetection",
|
|
&APPID_ShellHWDetection,
|
|
},
|
|
{
|
|
&CLSID_HWDeviceCustomProperties,
|
|
CHWDeviceCustomProperties::UnkCreateInstance,
|
|
L"HWDeviceCustomProperties", // Friendly name
|
|
L"HWDeviceCustomProperties.1", // ProgID
|
|
L"HWDeviceCustomProperties", // Version-independent
|
|
THREADINGMODEL_FREE, // ThreadingModel == Free
|
|
CLSCTX_LOCAL_SERVER,
|
|
REGCLS_MULTIPLEUSE,
|
|
L"ShellHWDetection",
|
|
&APPID_ShellHWDetection,
|
|
},
|
|
};
|
|
|
|
const CFactoryData* CCOMBaseFactory::_pDLLFactoryData = g_FactoryDataArray;
|
|
|
|
const DWORD CCOMBaseFactory::_cDLLFactoryData = sizeof(g_FactoryDataArray) /
|
|
sizeof(g_FactoryDataArray[0]);
|