KeIpiGenericCall function (wdm.h)

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

Syntax

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

Parameters

[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).

Remarks

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.

Requirements

Requirement Value
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
IRQL < IPI_LEVEL

See also

IpiGenericCall