// ntddstor.h
typedef struct _STORAGE_RPMB_DATA_FRAME {
UCHAR Stuff[196];
UCHAR KeyOrMAC[32];
UCHAR Data[256];
UCHAR Nonce[16];
UCHAR WriteCounter[4];
UCHAR Address[2];
UCHAR BlockCount[2];
UCHAR OperationResult[2];
UCHAR RequestOrResponseType[2];
} STORAGE_RPMB_DATA_FRAME, *PSTORAGE_RPMB_DATA_FRAME;
View the official Windows Driver Kit DDI reference// winioctl.h
typedef struct _STORAGE_RPMB_DATA_FRAME {
BYTE Stuff[196];
BYTE KeyOrMAC[32];
BYTE Data[256];
BYTE Nonce[16];
BYTE WriteCounter[4];
BYTE Address[2];
BYTE BlockCount[2];
BYTE OperationResult[2];
BYTE RequestOrResponseType[2];
} STORAGE_RPMB_DATA_FRAME, *PSTORAGE_RPMB_DATA_FRAME;
View the official Win32 API referenceNo description available.
The STORAGE_RPMB_DATA_FRAME structure identifies the data frame format of a Replay Protected Memory Block (RPMB) payload.
StuffReserved for system use. Do not use.
KeyOrMACEither the key to be programmed or the message authentication code (MAC) authenticating this frame (or series of frames).
DataContains data input or output.
NonceRandom 128-bit number generated by host. Only required for reads.
WriteCounter32-bit counter. Only required for writes.
AddressThe half-sector address to operate on.
BlockCountThe count of half-sector blocks to read/write.
OperationResultThe result of the operation.
RequestOrResponseTypeThe type of request or response.
This data frame is used to compose all RPMB requests and responses.
Using the information from IOCTL_STORAGE_QUERY_PROPERTY, an application can create an RPMB frame to perform one of the following actions: • Program Authentication Key • Query RPMB Write Counter • Authenticated Write • Authenticated Read • Authenticated Device Configuration Write • Authenticated Device Configuration Read
StuffReserved space.
KeyOrMACEither the key to be programmed or the MAC authenticating this frame or series of frames.
DataThe data input or output.
NonceRandom 128-bit number generated by host. Only required for reads.
WriteCounter32-bit counter. Only required for writes.
AddressThe half-sector address to operate on.
BlockCountThe count of half-sector blocks to read/write.
OperationResultThe result of the operation.
RequestOrResponseTypeThe type of request or response.