⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drvpower.c

📁 usb。rar 驱动 windowsxp下的 还不错 源码 快下吧
💻 C
字号:
///////////////////////////////////////////////////////////////////
//电源管理例程的实现:
//1. 电源管理例程DrvPowerIrp()。
///////////////////////////////////////////////////////////////////   
#include <driver.h>
#include "usbdriver.h"
//
//DrvPowerIrp()例程。
// 
NTSTATUS DrvPowerIrp(IN PDEVICE_OBJECT fdo,IN PIRP Irp)
{
	NTSTATUS ntStatus = STATUS_SUCCESS;
    //TODO:
		PIO_STACK_LOCATION IrpStack, NextStack;
    PDEVICE_EXTENSION pdx;

    pdx = fdo->DeviceExtension;
 
    Irp->IoStatus.Status = STATUS_SUCCESS;
    Irp->IoStatus.Information = 0;

    IrpStack = IoGetCurrentIrpStackLocation (Irp);

    switch (IrpStack->MinorFunction) {
		case IRP_MN_SET_POWER:
			switch (IrpStack->Parameters.Power.Type) {
				case SystemPowerState:
					break; 
                case DevicePowerState:
					switch (IrpStack->Parameters.Power.State.DeviceState) {
						case PowerDeviceD3:
							break;
                        case PowerDeviceD2:
							break;
                        case PowerDeviceD1:
                            break;
                        case PowerDeviceD0:
                            break;
					}
                break; 
			}
         break;  
         case IRP_MN_QUERY_POWER:
             switch (IrpStack->Parameters.Power.Type) {
            case SystemPowerState:
				break; 
            case DevicePowerState:
				switch (IrpStack->Parameters.Power.State.DeviceState) {
					case PowerDeviceD2:                    
						break;
                    case PowerDeviceD1:
                         break;
                    case PowerDeviceD3:
                         break;
				} 
               break; 
			 }
         break; 
         default:
			 ;
	} 
    NextStack = IoGetNextIrpStackLocation(Irp);
    RtlCopyMemory(NextStack, IrpStack, sizeof(IO_STACK_LOCATION));

    ntStatus = IoCallDriver(pdx->LowerDeviceObject, Irp);

   if (ntStatus == STATUS_PENDING) {
	   IoMarkIrpPending(Irp);
   }

	
	return ntStatus;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -