blob: 9b8cadec3447fb3d0d4c524af6d9ac835f65d449 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#pragma once
class ATL_NO_VTABLE CDriver :
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CDriver, &CLSID_WpdBasicHardwareDriver>,
public IDriverEntry,
public IObjectCleanup
{
public:
CDriver();
DECLARE_REGISTRY_RESOURCEID(IDR_WpdBasicHardwareDriver)
DECLARE_NOT_AGGREGATABLE(CDriver)
BEGIN_COM_MAP(CDriver)
COM_INTERFACE_ENTRY(IDriverEntry)
END_COM_MAP()
public:
//
// IDriverEntry
//
STDMETHOD (OnInitialize)(
_In_ IWDFDriver* pDriver
);
STDMETHOD (OnDeviceAdd)(
_In_ IWDFDriver* pDriver,
_In_ IWDFDeviceInitialize* pDeviceInit
);
STDMETHOD_ (void, OnDeinitialize)(
_In_ IWDFDriver* pDriver
);
//
// IObjectCleanup
//
STDMETHOD_ (void, OnCleanup)(
_In_ IWDFObject* pWdfObject
);
};
OBJECT_ENTRY_AUTO(__uuidof(WpdBasicHardwareDriver), CDriver)
|