Share via


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)

Confira também

KeInsertQueueDpc

STOR_DPC

StorPortInitializeDpc