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