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