qa.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
   Summary  Notes  Back
──────────────────────────────────────────────────────────────────────────────
 
  Description:  IOCTL: Get Device Information
 
  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, etc.)
                        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 standard output
                         bit 0     = 1 if standard input
                        If function unsuccessful
                        Carry flag= set
                        AX=error code
                                    -♦-