Método IWDFInterrupt::SetPolicy (wudfddi.h)
[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui o UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum recurso novo 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 aoda 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 tipo WDF_INTERRUPT_POLICYque especifica uma política de afinidade de processador para a interrupção.
[in] Priority
Um enumerador tipo WDF_INTERRUPT_PRIORITYque especifica uma prioridade para a interrupção.
[in] TargetProcessorSet
Um valor kaffinitydigitado que especifica uma afinidade de processador para a interrupção, se o parâmetro Policy for definido como WdfIrqPolicySpecifiedProcessors.
Valor de retorno
Nenhum
Observações
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 que conjuntos de SetPolicy, consulte de prioridade e afinidade de interrupção.
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 a afinidade e a prioridade.
Se um driver chamar SetPolicy, ele deverá fazê-lo em sua função de retorno de chamada IDriverEntry::OnDeviceAdd, depois de chamar o método de IWDFDevice3::CreateInterrupt.
Para obter mais informações sobre como lidar com interrupções em drivers UMDF, consulte Acessando o hardware e tratando interrupções.
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. |
da Plataforma de Destino | Área de trabalho |
versão mínima do UMDF | 1.11 |
cabeçalho | wudfddi.h |
de DLL | WUDFx.dll |