DIOCParams 

Contains information that an application has passed to the virtual device driver (VxD) by calling the DeviceIoControl64IE_Y8 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 OVERLAPPED1N286M5 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.