diff options
Diffstat (limited to 'wpd/WpdHelloWorldDriver/WpdCapabilities.h')
| -rw-r--r-- | wpd/WpdHelloWorldDriver/WpdCapabilities.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/wpd/WpdHelloWorldDriver/WpdCapabilities.h b/wpd/WpdHelloWorldDriver/WpdCapabilities.h new file mode 100644 index 00000000..ef2902ef --- /dev/null +++ b/wpd/WpdHelloWorldDriver/WpdCapabilities.h @@ -0,0 +1,64 @@ +#pragma once + +class WpdCapabilities +{ +public: + WpdCapabilities(); + virtual ~WpdCapabilities(); + + HRESULT Initialize(); + + HRESULT DispatchWpdMessage( + _In_ REFPROPERTYKEY Command, + _In_ IPortableDeviceValues* pParams, + _In_ IPortableDeviceValues* pResults); + + HRESULT OnGetSupportedCommands( + _In_ IPortableDeviceValues* pParams, + _In_ IPortableDeviceValues* pResults); + + HRESULT OnGetCommandOptions( + _In_ IPortableDeviceValues* pParams, + _In_ IPortableDeviceValues* pResults); + + HRESULT OnGetFunctionalCategories( + _In_ IPortableDeviceValues* pParams, + _In_ IPortableDeviceValues* pResults); + + HRESULT OnGetFunctionalObjects( + _In_ IPortableDeviceValues* pParams, + _In_ IPortableDeviceValues* pResults); + + HRESULT OnGetSupportedContentTypes( + _In_ IPortableDeviceValues* pParams, + _In_ IPortableDeviceValues* pResults); + + HRESULT OnGetSupportedFormats( + _In_ IPortableDeviceValues* pParams, + _In_ IPortableDeviceValues* pResults); + + HRESULT OnGetSupportedFormatProperties( + _In_ IPortableDeviceValues* pParams, + _In_ IPortableDeviceValues* pResults); + + HRESULT OnGetFixedPropertyAttributes( + _In_ IPortableDeviceValues* pParams, + _In_ IPortableDeviceValues* pResults); + + HRESULT OnGetSupportedEvents( + _In_ IPortableDeviceValues* pParams, + _In_ IPortableDeviceValues* pResults); + + HRESULT OnGetEventOptions( + _In_ IPortableDeviceValues* pParams, + _In_ IPortableDeviceValues* pResults); + +private: + HRESULT AddSupportedPropertyKeys(_In_ REFGUID guidObjectFormat, + _In_ IPortableDeviceKeyCollection* pKeys); + + HRESULT GetFixedPropertyAttributesForFormat(_In_ REFGUID guidObjectFormat, + _In_ REFPROPERTYKEY Key, + _In_ IPortableDeviceValues* pAttributes); +}; + |
