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.

Syntax

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
);

Parameters

  • 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).

Return Values

Returns TRUE if successful; otherwise, returns FALSE.

Remarks

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.

Requirements

Header

pkfuncs.h

See Also

Reference

CEDDK IOCTLs
IOCTL_HAL_TRANSLATE_IRQ
IOCTL_HAL_RELEASE_SYSINTR
OEMInit
OEMIoControl