summaryrefslogtreecommitdiff
path: root/wpd/WpdServiceSampleDriver/WpdBaseDriver.h
diff options
context:
space:
mode:
authorDave Wilson <[email protected]>2015-03-17 19:50:07 -0700
committerDave Wilson <[email protected]>2015-03-17 19:50:07 -0700
commit97cf5197cf5b882b2c689d8dc2b555f2edf8f418 (patch)
tree46f3701832d70b420eb0fc0eb93261f9da45db3f /wpd/WpdServiceSampleDriver/WpdBaseDriver.h
parentef1905bf1e8825bb31120dfb27e0daf3154d859a (diff)
Initial publish
Diffstat (limited to 'wpd/WpdServiceSampleDriver/WpdBaseDriver.h')
-rw-r--r--wpd/WpdServiceSampleDriver/WpdBaseDriver.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/wpd/WpdServiceSampleDriver/WpdBaseDriver.h b/wpd/WpdServiceSampleDriver/WpdBaseDriver.h
new file mode 100644
index 00000000..3e731f52
--- /dev/null
+++ b/wpd/WpdServiceSampleDriver/WpdBaseDriver.h
@@ -0,0 +1,45 @@
+#pragma once
+
+class WpdBaseDriver :
+ public IUnknown
+{
+public:
+ WpdBaseDriver();
+ virtual ~WpdBaseDriver();
+
+ HRESULT Initialize();
+ VOID Uninitialize();
+
+ HRESULT DispatchWpdMessage(_In_ IPortableDeviceValues* pParams,
+ _In_ IPortableDeviceValues* pResults);
+
+private:
+ HRESULT OnGetObjectIDsFromPersistentUniqueIDs(_In_ IPortableDeviceValues* pParams,
+ _In_ IPortableDeviceValues* pResults);
+
+
+ HRESULT OnSaveClientInfo(_In_ IPortableDeviceValues* pParams,
+ _In_ IPortableDeviceValues* pResults);
+
+public: // IUnknown
+ ULONG __stdcall AddRef();
+
+ _At_(this, __drv_freesMem(Mem))
+ ULONG __stdcall Release();
+
+ HRESULT __stdcall QueryInterface(REFIID riid, void** ppv);
+
+public:
+ WpdObjectEnumerator m_ObjectEnum;
+ WpdObjectManagement m_ObjectManagement;
+ WpdObjectProperties m_ObjectProperties;
+ WpdObjectResources m_ObjectResources;
+ WpdObjectPropertiesBulk m_ObjectPropertiesBulk;
+ WpdCapabilities m_Capabilities;
+ WpdService m_Service;
+
+private:
+ FakeDevice m_Device;
+ ULONG m_cRef;
+};
+