1 /*++
2 
3 Copyright (c) Microsoft. All rights reserved.
4 
5 Module Name:
6 
7     device_common.h
8 
9 Abstract:
10 
11     This file contains common types for device objects that are used in
12     all three components (Wudfx, Wudfhost, WudfRd).
13 
14 Author:
15 
16 
17 
18 Revision History:
19 
20 
21 
22 --*/
23 
24 #pragma once
25 
26 typedef struct _STACK_DEVICE_CAPABILITIES {
27     //
28     // The capabilities as garnered from IRP_MN_QUERY_CAPABILITIES.
29     //
30     DEVICE_CAPABILITIES DeviceCaps;
31 
32     //
33     // The lowest-power D-state that a device can be in and still generate
34     // a wake signal, indexed by system state.  (PowerSystemUnspecified is
35     // an unused slot in this array.)
36     //
37     DEVICE_WAKE_DEPTH DeepestWakeableDstate[PowerSystemHibernate+1];
38 } STACK_DEVICE_CAPABILITIES, *PSTACK_DEVICE_CAPABILITIES;
39 
40 #define ERROR_STRING_HW_ACCESS_NOT_ALLOWED                          \
41         "Hardware access not allowed. Set the INF directive "       \
42         "UmdfDirectHardwareAccess to AllowDirectHardwareAccess "    \
43         "in driver's INF file to enable direct hardware access"
44 
45 #define WUDF_POWER_POLICY_SETTINGS L"WudfPowerPolicySettings"
46 
47