STORAGE_RPMB_DESCRIPTOR structure (winioctl.h)
To interface with the Replay Protected Memory Block (RPMB), applications first need to query whether the device contains an RPMB and the max payload size the RPMB supports. To do this, the application sends IOCTL_STORAGE_QUERY_PROPERTY IOCTL with STORAGE_PROPERTY_ID enumeration set to StorageAdapterRpmbProperty (defined in STORAGE_PROPERTY_QUERY in ntddstor.h). Storport then responds with the following payload (defined in ntddstor.h) when STORAGE_QUERY_TYPE enumeration is set to PropertyStandardQuery.
Syntax
typedef struct _STORAGE_RPMB_DESCRIPTOR {
DWORD Version;
DWORD Size;
DWORD SizeInBytes;
DWORD MaxReliableWriteSizeInBytes;
STORAGE_RPMB_FRAME_TYPE FrameFormat;
} STORAGE_RPMB_DESCRIPTOR, *PSTORAGE_RPMB_DESCRIPTOR;
Members
Version
Shall be set to STORAGE_RPMB_DESCRIPTOR_VERSION_1
Size
Shall be set to sizeof(STORAGE_RPMB_DESCRIPTOR)
SizeInBytes
The size of the RPMB, in bytes. 0 if not supported, RPMB size in bytes otherwise.
MaxReliableWriteSizeInBytes
The maximum amount of data supported in one transaction in bytes. 0 if not supported, minimum 512 bytes.
FrameFormat
To support different RPMB frame formats, specifies which frame format the payload will be in so the port driver can take the appropriate action.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10 Build 20348 |
Minimum supported server | Windows 10 Build 20348 |
Header | winioctl.h |