IOCTL_HAL_REQUEST_SYSINTR (Compact 2013)

10/16/2014

This I/O control message requests an interrupt request-to-system interrupt (IRQ-to-SYSINTR) mapping for bus drivers. Send this message with OEMIoControl.


BOOL OEMIoControl(
    DWORD dwIoControlCode,    // use IOCTL_HAL_REQUEST_SYSINTR
    LPVOID lpInBuffer,        // pointer to input buffer
    DWORD nInBufferSize,      // input buffer size
    LPVOID lpOutBuffer,       // pointer to output buffer
    DWORD nOutBufferSize,     // output buffer size
    LPDWORD lpBytesReturned   // number of bytes returned
);

dwIoControlCode

[in] Control code for the operation. Use IOCTL_HAL_REQUEST_SYSINTR for this operation.

lpInBuffer

[in] IRQ to translate into a SYSINTR.

nInBufferSize

[in] Set to the size of lpInBuffer.

lpOutBuffer

[out] SYSINTR translated from an IRQ.

nOutBufferSize

[in] Set to the size of lpOutBuffer.

lpBytesReturned

[out] If not NULL, set to sizeof(NULL).

Returns TRUE if successful; otherwise, returns FALSE.

To get extended error information, call GetLastError. GetLastError may return other standard error messages as appropriate.

A bus driver reads its SYSINTR value from the registry. It also reads the IRQ value, if necessary. If the driver is for a built-in device, it sets up the mapping in the OEMInit function and places the SYSINTR in the associated registry entry for the device. Bus drivers, such as the PCI bus driver, use IOCTL_HAL_REQUEST_SYSINTR to allocate SYSINTRs and subsequently populate the registry for the device it is loading a driver for.

Header

pkfuncs.h

Show: