OEMRequestSysIntr

Windows Mobile Not SupportedWindows Embedded CE Supported

8/27/2008

This function implements IOCTL_HAL_TRANSLATE_IRQ and IOCTL_HAL_REQUEST_SYSINTR in the OEMIoControl function.

Syntax

DWORD OEMRequestSysIntr(
  DWORD Irq
);

Parameters

  • Irq
    [in] IRQ within the allowed IRQ range.

Return Value

The return value depends on the condition associated with the IRQ passed to this function.

The following table shows the return values for this function.

IRQ condition Return value

IRQ not mapped.

Next available new SYSINTR mapping is created and that SYSINTR is returned.

IRQ mapped and not shareable.

Returns the SYSINTR that is mapped.

IRQ mapped and shareable.

New SYSINTR mapping is created and the next available SYSINTR is used.

Remarks

The OEMInit routine tries to map the IRQ and SYSINTR tables for static mapping on built-in devices when their drivers read their SYSINTR values from the registry.

The OAL must also be responsible for determining which interrupts are shareable — typically, each of the four PCI interrupts — and which interrupts are not shareable.

In general, a device driver should never request a SYSINTR. If it must, a device driver should never request a new SYSINTR more than once.

A PCI device should read its SYSINTR from the registry because the PCI bus driver has already requested it.

Most legacy drivers request a new SYSINTR that is different from the one the PCI bus requests. This works, if installable ISRs are used.

Be sure the Ethernet debugging adapter Init routine calls OEMRequestSysIntr.

Requirements

Header oalintr.h
Library Developer Implemented
Windows Embedded CE Windows CE .NET 4.0 and later

See Also

Reference

OEMEthInit
OEMInit
OEMIoControl