DosQHandType: Difference between revisions
Appearance
mNo edit summary |
|||
Line 9: | Line 9: | ||
;FileHandle (HFILE) - input : File handle. | ;FileHandle (HFILE) - input : File handle. | ||
;HandType (PUSHORT) - output : Address of the value indicating the handle type. HandType is composed of two bytes: | ;HandType (PUSHORT) - output : Address of the value indicating the handle type. HandType is composed of two bytes: | ||
:15 - Network bit: | |||
::0 = The handle refers to a local file, device, or pipe. | |||
::1 = Means that the handle refers to a remote file, device, or pipe. | |||
:14-8 - Reserved. | |||
:7-0 - HandleClass describes the handle class. It may take on the following values in the low byte of HandleType: | |||
::0 - Handle is for a disk file | |||
::1 - Handle is for a character device | |||
::2 - Handle is for a pipe. | |||
::Values greater than 2 are reserved. | |||
;FlagWord (PUSHORT) - output : Address of the device driver's attribute word if HandleType indicates a local character device. | ;FlagWord (PUSHORT) - output : Address of the device driver's attribute word if HandleType indicates a local character device. | ||
Revision as of 13:32, 14 August 2017
This call determines whether a handle references a file or a device.
This is the legacy function. It is recommended to use: "DosQueryHType".
Syntax
DosQHandType (FileHandle, HandType, FlagWord)
Parameters
- FileHandle (HFILE) - input
- File handle.
- HandType (PUSHORT) - output
- Address of the value indicating the handle type. HandType is composed of two bytes:
- 15 - Network bit:
- 0 = The handle refers to a local file, device, or pipe.
- 1 = Means that the handle refers to a remote file, device, or pipe.
- 14-8 - Reserved.
- 7-0 - HandleClass describes the handle class. It may take on the following values in the low byte of HandleType:
- 0 - Handle is for a disk file
- 1 - Handle is for a character device
- 2 - Handle is for a pipe.
- Values greater than 2 are reserved.
- FlagWord (PUSHORT) - output
- Address of the device driver's attribute word if HandleType indicates a local character device.
Return Code
rc (USHORT) - return
Return code descriptions are:
- 0 NO_ERROR
- 6 ERROR_INVALID_HANDLE
Remarks
This function allows programs that are interactive or file-oriented to determine the source of their input. For example, CMD.EXE suppresses writing prompts if the input is from a disk file.
Example Code
C Binding
#define INCL_DOSFILEMGR USHORT rc = DosQHandType(FileHandle, HandType, FlagWord); HFILE FileHandle; /* File handle */ PUSHORT HandType; /* Handle type (returned) */ PUSHORT FlagWord; /* Device driver attribute (returned) */ USHORT rc; /* return code */
MASM Binding
EXTRN DosQHandType:FAR INCL_DOSFILEMGR EQU 1 PUSH WORD FileHandle ;File handle PUSH@ WORD HandType ;Handle type (returned) PUSH@ WORD FlagWord ;Device driver attribute (returned) CALL DosQHandType Returns WORD