ExecuteRawDeviceIoControl

Note

This function is not yet implemented.

Sends an IOCTL to the underlying device or its driver.

Syntax

HRESULT ExecuteRawDeviceIoControl(  
         uint32_t controlCode,  
         size_t inputBufferSize,  
         void const * inputBuffer,  
         size_t outputBufferSize,  
         void * outputBuffer,
         size_t * outputSize  
)  

Parameters

controlCode   _In_
Type: uint32_t

Control code for the operation. This value identifies the specific operation to be performed and the type of device on which to perform it.

inputBufferSize   _In_
Type: size_t

Size of the buffer containing the data required to perform the operation.

inputBuffer   _In_reads_bytes_opt_(inputBufferSize)
Type: void*

User-supplied input buffer that contains the data required to perform the operation. The format of this data depends on the value of the controlCode parameter.

outputBufferSize   _In_
Type: size_t

Size of the output buffer to receive data returned by the operation.

outputBuffer   _Out_writes_bytes_all_opt_(outputBufferSize)
Type: void*

User-supplied output buffer that is to receive the data returned by the operation. The format of this data depends on the value of the dwIoControlCode parameter.

outputSize   _Out_opt_ _Result_zeroonfailure_ Type: size_t*

Size of the output in the output buffer.

Return value

Type: HRESULT

Returns E_NOTIMPL.

Remarks

This method is intended for device-specific communication, so most well-known input/output controls (IOCTLs) implemented by OS drivers are blocked. This method supports all types of devices.

To send raw data to a device, use IGameInputDevice::SendRawDeviceOutput.

Requirements

Header: GameInput.h

Library: xgameruntime.lib

Supported platforms: Windows, Xbox One family consoles and Xbox Series consoles

See also

Overview of GameInput
IGameInputDevice
GameInput