typedef struct _DCB_BLOCKDEV {
ULONG DCB_BDD_Next;
BYTE DCB_BDD_BD_Major_Version; // INIT <BDD_BD_Major_Ver>
BYTE DCB_BDD_BD_Minor_Version; // INIT <BDD_BD_Minor_Ver>
BYTE DCB_BDD_Device_SubType;
BYTE DCB_BDD_Int_13h_Number;
ULONG DCB_BDD_flags; // was BDD_Flags
ULONG DCB_BDD_Name_Ptr;
// Apparent geometry as seen by TSD and above
ULONG DCB_apparent_sector_cnt[2]; // # of sectors
ULONG DCB_apparent_blk_size; // blk size of device
ULONG DCB_apparent_head_cnt; // # of heads
ULONG DCB_apparent_cyl_cnt; // # of cylinders
ULONG DCB_apparent_spt; // # of secs/trk
ULONG DCB_BDD_Sync_Cmd_Proc;
ULONG DCB_BDD_Command_Proc;
ULONG DCB_BDD_Hw_Int_Proc; // INIT <0>
ULONG DCB_BDP_Cmd_Queue_Ascending;
ULONG DCB_BDP_Cmd_Queue_Descending;
ULONG DCB_BDP_Current_Flags;
ULONG DCB_BDP_Int13_Param_Ptr;
ULONG DCB_BDP_Current_Command;
ULONG DCB_BDP_Current_Position[2];
ULONG DCB_BDP_Reserved[5];
ULONG DCB_fastdisk_bdd; // set for DCBs created when a
// fastdisk regs with the
// blockdev BDD for it. Else 0.
} DCB_BLOCKDEV, *PDCB_BLOCKDEV;
Contains block device information. The initial set of members in this structure should not be re-ordered or modified in any way as the offset and the size of members must match those in BLOCKDEV.H for compatibility.