OEMRequestSysIntr (Windows CE 5.0)

Send Feedback

This function implements IOCTL_HAL_TRANSLATE_IRQ and IOCTL_HAL_REQUEST_SYSINTR in the OEMIoControl function.

DWORD OEMRequestSysIntr(DWORD Irq);

Parameters

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

Return Values

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

OS Versions: Windows CE .NET 4.0 and later.
Header: Oalintr.h.
Link Library: Platform OAL.

See Also

OEMEthInit | OEMInit | OEMIoControl

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.