[Toc][Index]

DosDevIOCtl2


Bindings:  C, MASM 

This call performs control functions on a device specified by an opened 
device handle. 
 DosDevIOCtl2     (Data, DataLength, ParmList, ParmListLength, Function, 
                  Category, DevHandle) 
 
 Data (PVOID) - input 
    Address of the data area. 
 DataLength (USHORT) - input 
    Length of the data buffer. 
 ParmList (PVOID) - input 
    Address of the command-specific argument list. 
 ParmListLength (USHORT) - input 
    Length of the command-specific argument list. 
 Function (USHORT) - input 
    Device-specific function code. 
 Category (USHORT) - input 
    Device category. 
 DevHandle (HFILE) - input 
    Device handle returned by DosOpen or a standard (open) device handle. 
 rc (USHORT) - return 
    Return code descriptions are: 
    0         NO_ERROR 
    1         ERROR_INVALID_FUNCTION 
    6         ERROR_INVALID_HANDLE 
    15        ERROR_INVALID_DRIVE 
    31        ERROR_GEN_FAILURE 
    87        ERROR_INVALID_PARAMETER 
    115       ERROR_PROTECTION_VIOLATION 
    117       ERROR_INVALID_CATEGORY 
    119       ERROR_BAD_DRIVER_LEVEL 
    163       ERROR_UNCERTAIN_MEDIA 
    165       ERROR_MONITORS_NOT_SUPPORTED 
 
 Remarks 
 Values returned in the range hex FF00 through FFFF are user dependent 
 error codes.  Values returned in the range hex FE00 through FEFF are 
 device driver dependent error codes. 
 Refer to the IBM Operating System/2 Version 1.2 I/O Subsystems And Device 
 Support Volume 1 for a complete listing of control functions (DevHlp 
 calls). 
 This function provides a generic, expandable IOCTL facility. 
 A null (zero) value for Data specifies that this parameter is not defined 
 for the generic IOCTL function being specified.  A null value for Data 
 causes the value passed in DataLength to be ignored. 
 A null (zero) value for ParmList specifies that this parameter is not 
 defined for the generic IOCTL function being specified.  A null value for 
 ParmList causes the value passed in ParmListLength to be ignored. 
 The kernel formats a generic IOCTL packet and call the device driver. 
  Since V1.0 and V1.1 device drivers do not understand generic IOCTL 
 packets with DataLength and ParmListLength, the kernel does not pass 
 these fields to the device driver.  Device drivers that are marked as 
 being level 2 or higher must support receipt of the generic IOCTL packets 
 with associated length fields. 
 Do not pass a non-null pointer with a zero length. 

Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs