Geoff Chappell - Software Analyst
The POP_CURRENT_BROADCAST structure (formally _POP_CURRENT_BROADCAST) is the type of the kernel’s internal variable PopCurrentBroadcast. This can be helpful to know when debugging problems with power management.
As merely the type of an internal variable, the POP_CURRENT_BROADCAST is not documented.
Also because the POP_CURRENT_BROADCAST is used only as the type of a variable that the kernel does not expose even to other kernel-mode software, it is highly susceptible to changing between builds. And yet, it has not ever changed. It is 0x10 and 0x18 bytes in 32-bit and 64-bit WIndows, respectively, in all versions from 6.2 up to and including the 2004 release of Windows 10.
The offsets, names and types below are from type information in public symbol files for the kernel, starting with Windows 8. What’s known of it for Windows 7 is inferred from comparing this version’s use of the PopCurrentBroadcast variable with that of later versions.
Offset (x86) | Offset (x64) | Definition | Versions |
---|---|---|---|
0x00 | 0x00 |
BOOLEAN InProgress; |
6.1 and higher |
0x04 | 0x04 |
SYSTEM_POWER_STATE_CONTEXT SystemContext; |
6.1 and higher |
0x08 | 0x08 |
POWER_ACTION PowerAction; |
6.1 and higher |
0x0C | 0x10 |
POP_DEVICE_SYS_STATE *DeviceState; |
6.1 and higher |