LoadIntChainHandler (Windows CE 5.0)

Send Feedback

This function is called by a driver to install an ISR to handle a particular interrupt.

HANDLE  LoadIntChainHandler(LPCWSTR lpFilename,LPCWSTR lpszFunctionName,BYTE bIRQ);

Parameters

  • lpFilename
    [in] Pointer to a null-terminated string that names the DLL executable module.

    If the string specifies a path but the file does not exist in the specified directory, the function fails.

    When specifying a path, use backward slashes (\), not forward slashes (/).

    If the string does not specify a path, the function uses a standard search strategy to find the file. For more information, see the LoadLibrary function.

  • lpszFunctionName
    [in] Name of the interrupt handler entry point. The entry point is defined as shown in the following code example.

    DWORD ISRHandler(DWORD InstanceIndex);
    
  • bIRQ
    [in] IRQ value that is used to identify which interrupt the installed ISR will service.

Return Values

If the function succeeds, a valid handle to the installed handler is returned; otherwise, NULL is returned.

Remarks

To unload an existing interrupt handler, call the FreeIntChainHandler function.

The ISR handler is contained in a DLL. This DLL is handled differently and is loaded into the kernel process space. The DLL can contain more than one ISR handler and can be used in several calls to LoadIntChainHandler. All ISR handlers have a full stack, based on the CPU, and can use code written in C to perform the work.

The DLL loaded by LoadIntChainHandler

  • Cannot have dependent DLLs
  • Cannot link implicitly to any other DLL, and all code must be contained in the DLL
  • Must be compiled to eliminate the C Run-Time Library from being included by default

Note   When building a kernel driver for R4111 or Thumb microprocessor, the environment variable NOMIPS16CODE must be set to one.

Requirements

OS Versions: Windows CE .NET 4.0 and later.
Header: Pkfuncs.h.
Link Library: Coredll.lib.

See Also

CreateInstance | FreeIntChainHandler | GIISR_INFO | IOCTL_HAL_DISABLE_WAKE | IOCTL_HAL_ENABLE_WAKE | ISRHandler | KernelLibIoControl | LoadLibrary | NOMIPS16CODE | Installable ISRs | Installable ISRs with Drivers | Trusted APIs

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.