Share via


NdisMSynchronizeWithInterrupt

This function synchronizes execution of a Miniport-supplied function with the MiniportISR or the MiniportDisableInterrupt function.

BOOLEAN NdisMSynchronizeWithInterrupt(
IN PNDIS_MINIPORT_INTERRUPT Interrupt, 
IN PVOID SynchronizeFunction, 
IN PVOID SynchronizeContext );

Parameters

  • Interrupt
    Pointer to the caller-supplied storage for the interrupt object initialized with the NdisMRegisterInterrupt function.
  • SynchronizeFunction
    Specifies the entry point of the driver's MiniportSynchronizeISR function.
  • SynchronizeContext
    Pointer to a miniport-determined context area to be passed to the MiniportSynchronizeISR function when it is called.

Return Values

Returns the Boolean value returned by MiniportSynchronizeISR.

Remarks

The value returned by MiniportSynchronizeISR is also returned by this function. This propagated value can be used to provide a status to the caller.

Any miniport function that shares resources with any other driver function that runs at DIRQL must use this function to synchronize its access to those resources. The MiniportSynchronizeISR function also runs at DIRQL, and the shared resources are protected by a system-allocated spin lock on multiprocessor platforms. Thus, the shared resources are protected from simultaneous access by MiniportISR or MiniportDisableInterrupt and the caller whenever the driver is running on a multiprocessor platform.

This function releases the system spin lock and restores the original IRQL of its caller before it returns control.

A driver that calls this function runs at IRQL <= DIRQL.

Requirements

Runs on Versions Defined in Include Link to
Windows CE OS 2.0 and later Ndis.h    

Note   This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.

See Also

NdisMDeregisterInterrupt, NdisMRegisterInterrupt

 Last updated on Tuesday, July 13, 2004

© 1992-2000 Microsoft Corporation. All rights reserved.