Assembly Language Help (alang.hlp) (Table of Contents; Topic list)
Int 21h Function 44h Subfunction 00h
 Detail                                    Up Contents Index Back
────────────────────────────────────────────────────────────────────────────
 
  Interrupt:   21h     Function:   44h     Subfunction:   00h
 
  Title:       IOCTL: Get Device Information
 
  See also:    Get Drive Parameters
 
  Description:
 
     Returns a device information word for the file or device
     associated with the specified handle.
 
     Input            Output
 
     AH = 44h         If function successful
     AL = 00h           Carry flag: clear
     BX = Handle        DX = Device information word
                           For a file:
                           Bits 8-15 = 0 (reserved)
                           Bit  7    = 0 (indicating a file)
                           Bit  6    = 0 (file has been written)
                                     = 1 (file has not been written)
                           Bits 0-5  = drive number (0 = A, 1 = B,...)
                           For a device:
                           Bit 15    = reserved
                           Bit 14    = 1 (if device supports IOCTL Read
                                       and  Write Control Data
                                       subfunctions)
                                     = 0 (if Control Data subfunctions not
                                       supported)
                           Bits 8-13 = reserved
                           Bit 7     = 1 (indicating a device)
                           Bit 6     = 0 (if end of file on input)
                           Bit 5     = 0 (if handle in ASCII ("cooked")
                                         mode)
                                     = 1 (if handle in binary ("raw") mode)
                           Bit 4     = reserved
                           Bit 3     = 1 (if clock device)
                           Bit 2     = 1 (if NUL device)
                           Bit 1     = 1 (if console output)
                           Bit 0     = 1 (if console input)
 
                      If function unsuccessful
                        Carry flag: set
                        AX = Error code (01h, 05h,
                             or 06h)
                        See: Error codes
                                    -♦-