DeviceIoControl function kernel32
Win32Result<bool>
DeviceIoControl(
- HANDLE hDevice,
- int dwIoControlCode,
- Pointer<
NativeType> ? lpInBuffer, - int nInBufferSize,
- Pointer<
NativeType> ? lpOutBuffer, - int nOutBufferSize,
- Pointer<
Uint32> ? lpBytesReturned, - Pointer<
OVERLAPPED> ? lpOverlapped,
Sends a control code directly to a specified device driver, causing the corresponding device to perform the corresponding operation.
To learn more, see learn.microsoft.com/windows/win32/api/ioapiset/nf-ioapiset-deviceiocontrol.
Implementation
Win32Result<bool> DeviceIoControl(
HANDLE hDevice,
int dwIoControlCode,
Pointer? lpInBuffer,
int nInBufferSize,
Pointer? lpOutBuffer,
int nOutBufferSize,
Pointer<Uint32>? lpBytesReturned,
Pointer<OVERLAPPED>? lpOverlapped,
) {
final result_ = DeviceIoControl_Wrapper(
hDevice,
dwIoControlCode,
lpInBuffer ?? nullptr,
nInBufferSize,
lpOutBuffer ?? nullptr,
nOutBufferSize,
lpBytesReturned ?? nullptr,
lpOverlapped ?? nullptr,
);
return .new(value: result_.value.i32 != FALSE, error: result_.error);
}