Compartir a través de


KIPI_BROADCAST_WORKER función de devolución de llamada (wdm.h)

La rutina IpiGenericCall se ejecuta simultáneamente en todos los procesadores.

Sintaxis

KIPI_BROADCAST_WORKER KipiBroadcastWorker;

ULONG_PTR KipiBroadcastWorker(
  [in] ULONG_PTR Argument
)
{...}

Parámetros

[in] Argument

Proporciona el valor que se pasó a la rutina keIpiGenericCall que llamó a IpiGenericCall.

Valor devuelto

IpiGenericCall devuelve un valor definido por el controlador. Si IpiGenericCall se ejecutó en el mismo procesador que llamó KeIpiGenericCall, KeIpiGenericCall devuelve el valor definido por el controlador que IpiGenericCall. De lo contrario, se omite el valor.

Observaciones

rutinas de IpiGenericCall se ejecutan en IRQL = IPI_LEVEL, que es mayor que DIRQL para cada dispositivo. rutinas de IpiGenericCall deben cumplir las mismas restricciones que las rutinas de devolución de llamada de comprobación de errores. Para obtener más información sobre estas restricciones, vea Escribir una rutina de devolución de llamada de comprobación de errores.

Ejemplos

Para definir una IpiGenericCall rutina de devolución de llamada, primero debe proporcionar una declaración de función que identifique el tipo de rutina de devolución de llamada que está definiendo. Windows proporciona un conjunto de tipos de función de devolución de llamada para controladores. Declarar una función mediante los tipos de función de devolución de llamada ayuda a Análisis de código para controladores, comprobador de controladores estáticos (SDV) y otras herramientas de comprobación encuentran errores y es un requisito para escribir controladores para el sistema operativo Windows.

Por ejemplo, para definir un IpiGenericCall rutina de devolución de llamada denominada MyIpiGenericCall, use el tipo KIPI_BROADCAST_WORKER como se muestra en este ejemplo de código:

KIPI_BROADCAST_WORKER MyIpiGenericCall;

A continuación, implemente la rutina de devolución de llamada de la siguiente manera:

_Use_decl_annotations_
ULONG_PTR
  MyIpiGenericCall(
    ULONG_PTR  Argument
    )
  {
      // Function body
  }

El tipo de función KIPI_BROADCAST_WORKER se define en el archivo de encabezado Wdm.h. Para identificar con mayor precisión los errores al ejecutar las herramientas de análisis de código, asegúrese de agregar la anotación _Use_decl_annotations_ a la definición de función. La anotación _Use_decl_annotations_ garantiza que se usen las anotaciones que se aplican al tipo de función KIPI_BROADCAST_WORKER en el archivo de encabezado. Para obtener más información sobre los requisitos de las declaraciones de función, vea Declarar funciones mediante tipos de rol de función para controladores WDM. Para obtener información sobre _Use_decl_annotations_, vea Anotación del comportamiento de la función.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
irQL Se llama en IPI_LEVEL.

Consulte también

KeIpiGenericCall