VirtualBox

source: vbox/trunk/src/VBox/HostDrivers/VBoxUSB/win/Device/vboxpwr.h@ 34545

Last change on this file since 34545 was 31896, checked in by vboxsync, 15 years ago

export the VBoxUSB host driver to OSE

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.9 KB
Line 
1/*++
2
3Copyright (c) 2000 Microsoft Corporation
4
5Module Name:
6
7 vboxpwr.h
8
9Abstract:
10
11Environment:
12
13 Kernel mode
14
15Notes:
16
17 Copyright (c) 2000 Microsoft Corporation.
18 All Rights Reserved.
19
20--*/
21
22#ifndef _VBoxUSB_POWER_H
23#define _VBoxUSB_POWER_H
24
25typedef struct _POWER_COMPLETION_CONTEXT {
26 PDEVICE_OBJECT DeviceObject;
27 PIRP SIrp;
28} POWER_COMPLETION_CONTEXT, *PPOWER_COMPLETION_CONTEXT;
29
30typedef struct _WORKER_THREAD_CONTEXT {
31 PDEVICE_OBJECT DeviceObject;
32 PIRP Irp;
33 PIO_WORKITEM WorkItem;
34} WORKER_THREAD_CONTEXT, *PWORKER_THREAD_CONTEXT;
35
36RT_C_DECLS_BEGIN
37NTSTATUS
38VBoxUSB_DispatchPower(
39 IN PDEVICE_OBJECT DeviceObject,
40 IN PIRP Irp
41 );
42
43NTSTATUS
44HandleSystemQueryPower(
45 IN PDEVICE_OBJECT DeviceObject,
46 IN PIRP Irp
47 );
48
49NTSTATUS
50HandleSystemSetPower(
51 IN PDEVICE_OBJECT DeviceObject,
52 IN PIRP Irp
53 );
54
55NTSTATUS
56HandleDeviceQueryPower(
57 PDEVICE_OBJECT DeviceObject,
58 PIRP Irp
59 );
60
61NTSTATUS
62SysPoCompletionRoutine(
63 IN PDEVICE_OBJECT DeviceObject,
64 IN PIRP Irp,
65 IN PDEVICE_EXTENSION DeviceExtension
66 );
67
68VOID
69SendDeviceIrp(
70 IN PDEVICE_OBJECT DeviceObject,
71 IN PIRP Irp
72 );
73
74VOID
75DevPoCompletionRoutine(
76 IN PDEVICE_OBJECT DeviceObject,
77 IN UCHAR MinorFunction,
78 IN POWER_STATE PowerState,
79 IN PVOID Context,
80 IN PIO_STATUS_BLOCK IoStatus
81 );
82
83NTSTATUS
84HandleDeviceSetPower(
85 IN PDEVICE_OBJECT DeviceObject,
86 IN PIRP Irp
87 );
88
89NTSTATUS
90FinishDevPoUpIrp(
91 IN PDEVICE_OBJECT DeviceObject,
92 IN PIRP Irp,
93 IN PDEVICE_EXTENSION DeviceExtension
94 );
95
96NTSTATUS
97SetDeviceFunctional(
98 IN PDEVICE_OBJECT DeviceObject,
99 IN PIRP Irp,
100 IN PDEVICE_EXTENSION DeviceExtension
101 );
102
103NTSTATUS
104FinishDevPoDnIrp(
105 IN PDEVICE_OBJECT DeviceObject,
106 IN PIRP Irp,
107 IN PDEVICE_EXTENSION DeviceExtension
108 );
109
110NTSTATUS
111HoldIoRequests(
112 IN PDEVICE_OBJECT DeviceObject,
113 IN PIRP Irp
114 );
115
116VOID
117HoldIoRequestsWorkerRoutine(
118 IN PDEVICE_OBJECT DeviceObject,
119 IN PVOID Context
120 );
121
122NTSTATUS
123QueueRequest(
124 IN OUT PDEVICE_EXTENSION DeviceExtension,
125 IN PIRP Irp
126 );
127
128VOID
129CancelQueued(
130 IN PDEVICE_OBJECT DeviceObject,
131 IN PIRP Irp
132 );
133
134NTSTATUS
135WaitWakeCompletionRoutine(
136 IN PDEVICE_OBJECT DeviceObject,
137 IN PIRP Irp,
138 IN PDEVICE_EXTENSION DeviceExtension
139 );
140
141NTSTATUS
142IssueWaitWake(
143 IN PDEVICE_EXTENSION DeviceExtension
144 );
145
146VOID
147CancelWaitWake(
148 IN PDEVICE_EXTENSION DeviceExtension
149 );
150
151VOID
152WaitWakeCallback(
153 IN PDEVICE_OBJECT DeviceObject,
154 IN UCHAR MinorFunction,
155 IN POWER_STATE PowerState,
156 IN PVOID Context,
157 IN PIO_STATUS_BLOCK IoStatus
158 );
159
160PCHAR
161PowerMinorFunctionString (
162 IN UCHAR MinorFunction
163 );
164
165RT_C_DECLS_END
166
167#endif
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette