Platform SDK: Win32 API

DIOCParams

Contains information that an application has passed to the virtual device driver (VxD) by calling the DeviceIoControl function.

include vwin32.inc 
 
DIOCParams STRUC
    Internal1             DD  ?
    VMHandle              DD  ?
    Internal2             DD  ?
    dwIoControlCode       DD  ?
    lpvInBuffer           DD  ?
    cbInBuffer            DD  ?
    lpvOutBuffer          DD  ?
    cbOutBuffer           DD  ?
    lpcbBytesReturned     DD  ?
    lpoOverlapped         DD  ?
    hDevice               DD  ?
    tagProcess            DD  ?
DIOCParams ENDS 
 

Members

Internal1
Reserved.
VMHandle
Handle of virtual machine.
Internal2
Reserved.
dwIoControlCode
Control code to process. This member can be a developer-defined value or one of these system-defined values:
DIOC_CLOSEHANDLE Notifies a VxD that an application has closed its device handle for the VxD. The VxD should perform cleanup operations and release any structures associated with the application.
DIOC_GETVERSION Queries the VxD to determine if it supports the device IOCTL interface. If the VxD supports the interface, it must clear the EAX register. Otherwise, it must place a nonzero value in EAX. If cbOutBuffer is nonzero and the VxD supports the interface, the VxD should copy version information to the lpvOutBuffer.

lpvInBuffer
Address of a buffer that contains data needed to process the control code.
cbInBuffer
Size, in bytes, of the buffer pointed to by lpvInBuffer.
lpvOutBuffer
Address of a buffer that receives the results of processing the control code.
cbOutBuffer
Size, in bytes, of the buffer pointed to by lpvOutBuffer.
lpcbBytesReturned
Number of bytes copied to the buffer pointed to by lpvOutBuffer.
lpoOverlapped
Address of an OVERLAPPED structure that contains information used to complete the command asynchronously. If the command is to be completed synchronously, this member is NULL.
hDevice
Handle of device.
tagProcess
Information that the VxD can use to tag the current request along with hDevice. When the VxD receives a DIOC_CLOSEHANDLE control code for hDevice and tagProcess, it should perform appropriate cleanup operations.