+\r
+ ///\r
+ /// TRUE if the WriteBlock () function caches write data.\r
+ ///\r
+ BOOLEAN WriteCaching;\r
+\r
+ ///\r
+ /// The intrinsic block size of the device. If the media changes, then\r
+ /// this field is updated.\r
+ ///\r
+ UINT32 BlockSize;\r
+\r
+ ///\r
+ /// Supplies the alignment requirement for any buffer to read or write block(s).\r
+ ///\r
+ UINT32 IoAlign;\r
+\r
+ ///\r
+ /// The last logical block address on the device.\r
+ /// If the media changes, then this field is updated.\r
+ ///\r
+ EFI_LBA LastBlock;\r
+\r
+ ///\r
+ /// Only present if EFI_BLOCK_IO_PROTOCOL.Revision is greater than or equal to\r
+ /// EFI_BLOCK_IO_PROTOCOL_REVISION2. Returns the first LBA is aligned to\r
+ /// a physical block boundary.\r
+ ///\r
+ EFI_LBA LowestAlignedLba;\r
+\r
+ ///\r
+ /// Only present if EFI_BLOCK_IO_PROTOCOL.Revision is greater than or equal to\r
+ /// EFI_BLOCK_IO_PROTOCOL_REVISION2. Returns the number of logical blocks\r
+ /// per physical block.\r
+ ///\r
+ UINT32 LogicalBlocksPerPhysicalBlock;\r
+\r
+ ///\r
+ /// Only present if EFI_BLOCK_IO_PROTOCOL.Revision is greater than or equal to\r
+ /// EFI_BLOCK_IO_PROTOCOL_REVISION3. Returns the optimal transfer length\r
+ /// granularity as a number of logical blocks.\r
+ ///\r
+ UINT32 OptimalTransferLengthGranularity;\r