KeIpiGenericCall function (wdm.h)

The KeIpiGenericCall routine causes the specified routine to run on all processors simultaneously.


ULONG_PTR KeIpiGenericCall(
  [in] PKIPI_BROADCAST_WORKER BroadcastFunction,
  [in] ULONG_PTR              Context


[in] BroadcastFunction

Pointer to an IpiGenericCall routine. This routine is run on every processor simultaneously.

[in] Context

Specifies the value to pass to IpiGenericCall when it is called.

Return value

KeIpiGenericCall returns the value that IpiGenericCall returns on the source processor (the processor that called KeIpiGenericCall).


When a driver calls KeIpiGenericCall, the system interrupts every processor and raises the IRQL to IPI_LEVEL (interprocessor interrupt level). Each processor spins on a barrier until all processors have reached the barrier; then, all processors begin calling IpiGenericCall. KeIpiGenericCall waits for all calls to IpiGenericCall to complete before returning.


Minimum supported client Available in Windows Server 2003 and later versions of Windows.
Target Platform Universal
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe

See also