typedef struct _DEVICE_OBJECT_POWER_EXTENSION { volatile unsigned long IdleCount; volatile unsigned long BusyCount; volatile unsigned long BusyReference; unsigned long TotalBusyCount; unsigned long ConservationIdleTime; unsigned long PerformanceIdleTime; DEVICE_OBJECT *DeviceObject; LIST_ENTRY IdleList; POP_DEVICE_IDLE_TYPE IdleType; DEVICE_POWER_STATE IdleState; DEVICE_POWER_STATE CurrentState; LIST_ENTRY Volume; union { struct { unsigned long IdleTime; unsigned long NonIdleTime; } Disk; } Specific; } DEVICE_OBJECT_POWER_EXTENSION, *PDEVICE_OBJECT_POWER_EXTENSION;