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 |