blob: ed199ff8bb2bb29acab0c96bb49749441c5cb610 (
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
|
/*****************************************************************************
*
* wiacapabilitymanager.h
*
* Copyright (c) 2003 Microsoft Corporation. All Rights Reserved.
*
* DESCRIPTION:
*
* Contains 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_ LPWSTR wszIcon);
HRESULT DeleteCapability(const GUID guidCapability,ULONG ulFlags);
HRESULT AllocateCapability(_Out_ WIA_DEV_CAP_DRV **ppWIADeviceCapability);
void FreeCapability(_In_ WIA_DEV_CAP_DRV *pWIADeviceCapability, BOOL bFreeCapabilityContentOnly = FALSE);
LONG GetNumCapabilities();
LONG GetNumCommands();
LONG GetNumEvents();
WIA_DEV_CAP_DRV* GetCapabilities();
WIA_DEV_CAP_DRV* GetCommands();
WIA_DEV_CAP_DRV* GetEvents();
private:
HINSTANCE m_hInstance;
CBasicDynamicArray<WIA_DEV_CAP_DRV> m_CapabilityArray;
};
|