// ntddstor.h
typedef struct _DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT {
ULONG Version;
ULONG Flags;
ULONG TotalNumberOfRanges;
ULONG NumberOfRangesReturned;
DEVICE_STORAGE_ADDRESS_RANGE Ranges[ANYSIZE_ARRAY];
} DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT, *PDEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT;
View the official Windows Driver Kit DDI referenceNo description available.
The DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT structure stores physical address ranges that correspond with one or more logical block ranges.
VersionVersion of this structure. Set to sizeof(DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT).
FlagsReserved for future use; do not use.
TotalNumberOfRangesNumber of DEVICE_STORAGE_ADDRESS_RANGE structure(s) needed to satisfy a DeviceDsmAction_GetPhysicalAddresses request.
NumberOfRangesReturnedNumber of physical address ranges returned in Ranges.
RangesArray of DEVICE_STORAGE_ADDRESS_RANGE structure(s) in which to return physical address ranges.
The output block in the payload of an IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES request is formatted as a DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT structure when the action is DeviceDsmAction_GetPhysicalAddresses. See DEVICE_DSM_ACTION Descriptions for more details about this action.
DEVICE_DSM_ACTION Descriptions
IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES