// ntddndis.h
typedef struct _NDIS_PM_WAKE_REASON {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
NDIS_PM_WAKE_REASON_TYPE WakeReason;
ULONG InfoBufferOffset;
ULONG InfoBufferSize;
} NDIS_PM_WAKE_REASON, *PNDIS_PM_WAKE_REASON;
View the official Windows Driver Kit DDI referenceNo description available.
The NDIS_PM_WAKE_REASON structure specifies information about the wake-up event that was generated by a network adapter.
HeaderThe type, revision, and size of the NDIS_PM_WAKE_REASON structure. This member is formatted as an NDIS_OBJECT_HEADER structure.
The miniport driver must set the Type member of Header to NDIS_OBJECT_TYPE_DEFAULT. To specify the version of the NDIS_PM_WAKE_REASON structure, the driver must set the Revision member of Header to the following value:
Original version for NDIS 6.30 and later.
Set the Size member to NDIS_SIZEOF_PM_WAKE_REASON_REVISION_1.
FlagsA ULONG value that contains a bitwise OR of flags. This member is reserved for NDIS.
WakeReasonAn NDIS_PM_WAKE_REASON_TYPE enumeration value that specifies the reason why the network adapter generated the wake-up event.
InfoBufferOffsetA ULONG value that specifies the offset, in units of bytes, from the beginning of the NDIS_PM_WAKE_REASON structure to the start of a buffer that contains additional information about the wake-up event.
Note If the WakeReason member is not set to NdisWakeReasonPacket, the miniport driver must set the InfoBufferOffset member to zero.
Note The offset to the buffer must be aligned on a 64-bit boundary.
InfoBufferSizeA ULONG value that specifies the length, in units of bytes, of the buffer that contains additional information about the wake-up event.
Note If the WakeReason member is not set to NdisWakeReasonPacket, the miniport driver must set the InfoBufferSize member to zero.
The NDIS_PM_WAKE_REASON structure is used in the NDIS_STATUS_PM_WAKE_REASON status indication.
For more information about how to issue an NDIS_STATUS_PM_WAKE_REASON status indication, see Issuing NDIS Wake Reason Status Indications.