Função StorPortIssueDpc (storport.h)
A rotina StorPortIssueDpc emite uma DPC (chamada de procedimento adiado).
Sintaxe
BOOLEAN StorPortIssueDpc(
[in] PVOID DeviceExtension,
[in] PSTOR_DPC Dpc,
[in] PVOID SystemArgument1,
[in] PVOID SystemArgument2
);
Parâmetros
[in] DeviceExtension
Ponteiro para a extensão de dispositivo por adaptador.
[in] Dpc
Ponteiro para um buffer que contém um objeto DPC inicializado do tipo STOR_DPC retornado pela rotina StorPortInitializeDpc .
[in] SystemArgument1
Ponteiro para informações fornecidas pelo chamador que serão passadas para a rotina adiada.
[in] SystemArgument2
Ponteiro para informações fornecidas pelo chamador que serão passadas para a rotina adiada.
Retornar valor
A rotina StorPortIssueDpc retornará TRUE se o DPC tiver sido inserido com êxito na fila DPC e FALSE caso contrário.
Comentários
A rotina StorPortIssueDpc chama a rotina de kernel KeInsertQueueDpc para enfileirar o DPC. A rotina do kernel KeInsertQueueDpc não permite que um DPC seja enfileirado várias vezes. Portanto, se o objeto DPC especificado pelo parâmetro Dpc já estiver na fila DPC, KeInsertQueueDpc ignorará a solicitação de fila. Isso garante que uma rotina adiada inicializada com StorPortInitializeDpc seja sempre sincronizada consigo mesma. Em outras palavras, o chamador não precisa sequencializar chamadas para a rotina StorPortIssueDpc para garantir que várias instâncias da rotina não sejam executadas simultaneamente.
Se um driver de miniporto tiver vários itens de trabalho que devem ser executados pelo mesmo DPC, o driver de miniporto deverá garantir que cada item de trabalho seja concluído antes de emitir o DPC para o próximo item de trabalho.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | storport.h (inclua Storport.h) |