summaryrefslogtreecommitdiff
path: root/wia/ProdScan/CapMan.h
diff options
context:
space:
mode:
authorkarlf <[email protected]>2016-08-11 13:28:13 -0700
committerkarlf <[email protected]>2016-08-11 13:28:13 -0700
commit96eb96dfb613e4c745db6bd1f53a92fe7e2290fc (patch)
treead5f3ede5cbcd6b598677ce41bcf8318471bdd92 /wia/ProdScan/CapMan.h
parent687b274aa38fd05c8c26e3068932121876d7f745 (diff)
Updated for "Windows 10 Anniversary Update" (Version 1607)
Diffstat (limited to 'wia/ProdScan/CapMan.h')
-rw-r--r--wia/ProdScan/CapMan.h81
1 files changed, 81 insertions, 0 deletions
diff --git a/wia/ProdScan/CapMan.h b/wia/ProdScan/CapMan.h
new file mode 100644
index 00000000..5147cfef
--- /dev/null
+++ b/wia/ProdScan/CapMan.h
@@ -0,0 +1,81 @@
+/**************************************************************************
+*
+* Copyright � Microsoft Corporation
+*
+* File Title: CapMan.h
+*
+* Project: Production Scanner Driver Sample
+*
+* Description: Contains the class declaration for CWIACapabilityManager
+*
+***************************************************************************/
+
+#pragma once
+
+#define MAX_CAPABILITY_STRING_SIZE_BYTES (sizeof(WCHAR) * MAX_PATH)
+
+class CWIACapabilityManager
+{
+public:
+ CWIACapabilityManager();
+ ~CWIACapabilityManager();
+
+public:
+ HRESULT
+ Initialize(
+ _In_ HINSTANCE hInstance);
+
+ void
+ Destroy();
+
+ HRESULT
+ AddCapability(
+ const GUID guidCapability,
+ UINT uiNameResourceID,
+ UINT uiDescriptionResourceID,
+ ULONG ulFlags,
+ _In_ LPCWSTR wszIcon);
+
+ HRESULT
+ AllocateCapability(
+ _Out_ WIA_DEV_CAP_DRV **ppWIADeviceCapability);
+
+ void
+ FreeCapability(
+ _In_ WIA_DEV_CAP_DRV *pWIADeviceCapability,
+ BOOL bFreeCapabilityContentOnly = FALSE);
+
+ WIA_DEV_CAP_DRV*
+ GetCapabilities();
+
+ WIA_DEV_CAP_DRV*
+ GetCommands();
+
+ WIA_DEV_CAP_DRV*
+ GetEvents();
+
+ ULONG
+ GetNumCapabilities()
+ {
+ return (m_ulEvents + m_ulCommands);
+ }
+
+ ULONG
+ GetNumEvents()
+ {
+ return m_ulEvents;
+ }
+
+ ULONG
+ GetNumCommands()
+ {
+ return m_ulCommands;
+ }
+
+private:
+ HINSTANCE m_hInstance;
+ CBasicDynamicArray<WIA_DEV_CAP_DRV> m_CapabilityArray;
+
+ ULONG m_ulEvents;
+ ULONG m_ulCommands;
+};