Método IWDFInterrupt::SetExtendedPolicy (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 SetExtendedPolicy especifica a prioridade de interrupção, a afinidade do processador, a política de afinidade e o grupo de processadores para uma interrupção especificada.
Sintaxe
void SetExtendedPolicy(
[in] PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup
);
Parâmetros
[in] PolicyAndGroup
Um ponteiro para uma estrutura de WDF_INTERRUPT_EXTENDED_POLICY alocada pelo chamador que o driver inicializou anteriormente chamando WDF_INTERRUPT_EXTENDED_POLICY_INIT.
Valor de retorno
Nenhum
Observações
Esse método é equivalente ao WdfInterruptSetExtendedPolicy do KMDF. Consulte a seção Comentários do WdfInterruptSetExtendedPolicy para obter mais informações sobre esse método.
Se um driver estiver em execução em uma versão do sistema operacional anterior ao Windows 7, a estrutura ignorará o valor especificado pelo driver para o número do grupo de processadores ao chamar SetExtendedPolicy.
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 chama WDF_INTERRUPT_EXTENDED_POLICY_INIT para inicializar uma estrutura de WDF_INTERRUPT_EXTENDED_POLICY; define valores para a política, a prioridade e o conjunto de processadores de destino; e chama SetExtendedPolicy . O exemplo define a prioridade normal para a interrupção e atribui a interrupção ao processador 0 no grupo de processadores 2.
IWDFInterrupt* pInterrupt;
#define AFFINITY_MASK(n) ((ULONG_PTR)1 << (n))
WDF_INTERRUPT_EXTENDED_POLICY myExtendedPolicy;
WDF_INTERRUPT_EXTENDED_POLICY_INIT(&myExtendedPolicy);
myExtendedPolicy.Policy = WdfIrqPolicySpecifiedProcessors;
myExtendedPolicy.Priority = WdfIrqPriorityNormal;
myExtendedPolicy.TargetProcessorSetAndGroup.Mask = AFFINITY_MASK(0);
myExtendedPolicy.TargetProcessorSetAndGroup.Group = 2;
pInterrupt->SetExtendedPolicy(
&myExtendedPolicy
);
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 |