Assembly Language Help (alang.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
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
                                    -♦-