BOOLEAN
MacSynchronizeFunction(
IN PVOID SynchronizeContext
);
MacSynchronizeFunction is called when a nonISR driver function calls NdisSynchronizeWithInterrupt.
MacSynchronizeFunction returns a Boolean value to NdisSynchronizeWithInterrupt.
MacSynchronizeFunction synchronizes access to resources, such as state, device memory, or NIC registers, shared between nonISR driver functions and the driver’s MacInterruptServiceRoutine.
A MacSynchronizeFunction is the only nonISR driver-supplied function that can directly access such shared resources in a multiprocessor-safe way. Resources shared with the ISR are protected by a system-supplied interrupt spin lock that was set up when the driver originally called NdisInitializeInterrupt. The ISR can access shared resources without calling NdisSynchronizeWithInterrupt, but all other driver functions must call this function to have MacSynchronizeFunction access the same resources on their behalf.
MacSynchronizeFunction runs at the DIRQL assigned by the system when the driver called NdisInitializeInterrupt. Consequently, MacSynchronizeFunction can call only the small subset of NDIS library functions that MacInterruptServiceRoutine can call.
MacInterruptServiceRoutine, MiniportSynchronizeISR, NdisInitializeInterrupt, NdisSynchronizeWithInterrupt