ReactOS 0.4.15-dev-7788-g1ad9096
power.c
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS VT100 emulator
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: drivers/base/green/power.c
5 * PURPOSE: IRP_MJ_POWER operations
6 * PROGRAMMERS: Copyright 2006 Hervé Poussineau (hpoussin@reactos.org)
7 */
8
9#include "green.h"
10
11#define NDEBUG
12#include <debug.h>
13
17 IN PIRP Irp)
18{
21 ULONG_PTR Information = Irp->IoStatus.Information;
22 NTSTATUS Status = Irp->IoStatus.Status;
23
24 Type = ((PCOMMON_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->Type;
26
27 switch (Stack->MinorFunction)
28 {
29 case IRP_MN_SET_POWER: /* 0x02 */
30 {
31 DPRINT("IRP_MJ_POWER / IRP_MN_SET_POWER\n");
32 if (Type == GreenFDO)
33 {
36 }
37 else
38 {
39 DPRINT1("IRP_MJ_POWER / IRP_MN_SET_POWER / Unknown type 0x%lx\n",
40 Type);
42 }
43 break;
44 }
45 default:
46 {
47 DPRINT1("IRP_MJ_POWER / unknown minor function 0x%lx\n", Stack->MinorFunction);
48 break;
49 }
50 }
51
52 Irp->IoStatus.Status = Status;
53 Irp->IoStatus.Information = Information;
56
57 return Status;
58}
Type
Definition: Type.h:7
LONG NTSTATUS
Definition: precomp.h:26
#define DPRINT1
Definition: precomp.h:8
_In_ PIRP Irp
Definition: csq.h:116
#define FALSE
Definition: types.h:117
struct _COMMON_DEVICE_EXTENSION * PCOMMON_DEVICE_EXTENSION
Status
Definition: gdiplustypes.h:25
GREEN_DEVICE_TYPE
Definition: green.h:22
@ GreenFDO
Definition: green.h:26
#define ASSERT(a)
Definition: mode.c:44
NTSTATUS GreenPower(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: power.c:15
#define IoCompleteRequest
Definition: irp.c:1240
VOID NTAPI PoStartNextPowerIrp(IN PIRP Irp)
Definition: power.c:758
#define STATUS_PENDING
Definition: ntstatus.h:82
#define STATUS_SUCCESS
Definition: shellext.h:65
#define DPRINT
Definition: sndvol32.h:71
DEVICE_RELATION_TYPE Type
Definition: iotypes.h:3242
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IN
Definition: typedefs.h:39
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
_In_ WDFREQUEST _In_ PIO_STACK_LOCATION Stack
Definition: wdfrequest.h:639
_In_ WDFREQUEST _In_ NTSTATUS _In_ ULONG_PTR Information
Definition: wdfrequest.h:1049
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(_In_ PIRP Irp)
Definition: iofuncs.h:2793
#define IO_NO_INCREMENT
Definition: iotypes.h:598
#define IRP_MN_SET_POWER