diff options
Diffstat (limited to 'wpd/WpdMultiTransportDriver/WpdBaseDriver.h')
| -rw-r--r-- | wpd/WpdMultiTransportDriver/WpdBaseDriver.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/wpd/WpdMultiTransportDriver/WpdBaseDriver.h b/wpd/WpdMultiTransportDriver/WpdBaseDriver.h new file mode 100644 index 00000000..a7462df2 --- /dev/null +++ b/wpd/WpdMultiTransportDriver/WpdBaseDriver.h @@ -0,0 +1,39 @@ +#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); + +public: // IUnknown + ULONG __stdcall AddRef(); + + _At_(this, __drv_freesMem(Mem)) + ULONG __stdcall Release(); + + HRESULT __stdcall QueryInterface(REFIID riid, void** ppv); + +public: + WpdObjectEnumerator m_ObjectEnum; + WpdObjectProperties m_ObjectProperties; + WpdObjectResources m_ObjectResources; + WpdCapabilities m_Capabilities; + CComPtr<IWDFIoQueue> m_pWpdQueue; + CComPtr<IQueueCallbackDeviceIoControl> m_pQueueCallback; + +private: + ULONG m_cRef; +}; + |
