EngDeviceIoControl function

The EngDeviceIoControl function sends a control code to the specified video miniport driver, causing the device to perform the specified operation.


ENGAPI DWORD EngDeviceIoControl(
  HANDLE  hDevice,
  DWORD   dwIoControlCode,
  LPVOID  lpInBuffer,
  DWORD   nInBufferSize,
  LPVOID  lpOutBuffer,
  DWORD   nOutBufferSize,
  LPDWORD lpBytesReturned



Handle to the device that is to perform the operation.


Specifies the control code for the operation. The I/O controls are listed and described in full in Video Miniport Driver I/O Control Codes.


Pointer to a buffer containing data required to perform the operation. This parameter can be NULL if the control code specifies an operation that does not require input data.


Specifies the size, in bytes, of lpInBuffer.


Pointer to a buffer in which the operation's output data is returned. This parameter can be NULL if the control code specifies an operation that does not produce output data.


Specifies the size, in bytes, of lpOutBuffer.


Pointer to a DWORD that specifies the actual size, in bytes, of the data returned in lpOutBuffer.

Return Value

The return value is a 32-bit Win32 API-defined error code.


EngDeviceIoControl is used by a display driver to communicate I/O requests to its corresponding miniport driver. This function provides the only communication channel between a display and video miniport driver.


Minimum supported client Available in Windows 2000 and later versions of the Windows operating systems.
Target Platform Universal
Header winddi.h (include Winddi.h)
Library Win32k.lib
DLL Win32k.sys

See Also