Método IWDFInterrupt::SetPolicy (wudfddi.h)
[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum novo recurso está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Os drivers universais do Windows devem usar o UMDF 2. Para obter mais informações, consulte Introdução com UMDF.]
O método SetPolicy especifica a prioridade de interrupção, a afinidade do processador e a política de afinidade para uma interrupção especificada.
Sintaxe
void SetPolicy(
[in] WDF_INTERRUPT_POLICY Policy,
[in] WDF_INTERRUPT_PRIORITY Priority,
[in] KAFFINITY TargetProcessorSet
);
Parâmetros
[in] Policy
Um enumerador do tipo WDF_INTERRUPT_POLICY que especifica uma política de afinidade de processador para a interrupção.
[in] Priority
Um enumerador do tipo WDF_INTERRUPT_PRIORITY que especifica uma prioridade para a interrupção.
[in] TargetProcessorSet
Um valor do tipo KAFFINITY que especifica uma afinidade de processador para a interrupção, se o parâmetro Policy for definido como WdfIrqPolicySpecifiedProcessors.
Retornar valor
Nenhum
Comentários
A partir do Windows Vista, os drivers podem especificar a prioridade, a afinidade do processador e a política de afinidade de uma interrupção. Para obter mais informações sobre como usar o Registro para substituir os valores definidos por SetPolicy , consulte Interromper afinidade e prioridade.
Se um driver estiver em execução em uma versão do sistema operacional anterior ao Windows Vista, a estrutura ignorará os valores especificados pelo driver ao chamar SetPolicy.
Para obter mais informações sobre valores do Registro e seções INF que especificam a prioridade, a afinidade do processador e a política de afinidade de uma interrupção, consulte Interromper afinidade e prioridade.
Se um driver chamar SetPolicy, ele deverá fazer isso em sua função de retorno de chamada IDriverEntry::OnDeviceAdd , depois de chamar o método IWDFDevice3::CreateInterrupt .
Para obter mais informações sobre como lidar com interrupções em drivers UMDF, consulte Acessando interrupções de hardware e tratamento.
Exemplos
O exemplo de código a seguir atribui uma interrupção de dispositivo ao processador 0, com prioridade normal.
#define AFFINITY_MASK(n) ((ULONG_PTR)1 << (n))
pIWdfInterrupt->SetPolicy(
WdfIrqPolicySpecifiedProcessors,
WdfIrqPriorityNormal,
AFFINITY_MASK(0)
);
Requisitos
Requisito | Valor |
---|---|
Fim do suporte | Indisponível no UMDF 2.0 e posterior. |
Plataforma de Destino | Área de Trabalho |
Versão mínima do UMDF | 1.11 |
Cabeçalho | wudfddi.h |
DLL | WUDFx.dll |