Compartir a través de


Función StorPortIssueDpc (storport.h)

La rutina StorPortIssueDpc emite una llamada a procedimiento diferido (DPC).

Sintaxis

BOOLEAN StorPortIssueDpc(
  [in] PVOID     DeviceExtension,
  [in] PSTOR_DPC Dpc,
  [in] PVOID     SystemArgument1,
  [in] PVOID     SystemArgument2
);

Parámetros

[in] DeviceExtension

Puntero a la extensión de dispositivo por adaptador.

[in] Dpc

Puntero a un búfer que contiene un objeto DPC inicializado de tipo STOR_DPC devuelto por la rutina StorPortInitializeDpc .

[in] SystemArgument1

Puntero a la información proporcionada por el autor de la llamada que se pasará a la rutina diferida.

[in] SystemArgument2

Puntero a la información proporcionada por el autor de la llamada que se pasará a la rutina diferida.

Valor devuelto

La rutina StorPortIssueDpc devuelve TRUE si el DPC se insertó correctamente en la cola DPC y FALSE en caso contrario.

Comentarios

La rutina StorPortIssueDpc llama a la rutina del kernel KeInsertQueueDpc para poner en cola el DPC. La rutina del kernel KeInsertQueueDpc no permite que un DPC se en cola varias veces. Por lo tanto, si el objeto DPC especificado por el parámetro Dpc ya está en la cola DPC , KeInsertQueueDpc omite la solicitud de cola. Esto garantiza que una rutina diferida inicializada con StorPortInitializeDpc siempre se sincronice con sí misma. En otras palabras, el autor de la llamada no necesita secuencializar llamadas a la rutina StorPortIssueDpc para asegurarse de que varias instancias de la rutina no se ejecutan simultáneamente.

Si un controlador de minipuerto tiene varios elementos de trabajo que debe realizar el mismo DPC, el controlador de minipuerto debe asegurarse de que cada elemento de trabajo se complete antes de emitir el DPC para el siguiente elemento de trabajo.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado storport.h (incluya Storport.h)

Consulte también

KeInsertQueueDpc

STOR_DPC

StorPortInitializeDpc