Compartilhar via


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

Consulte também

IWDFInterrupt

WDF_INTERRUPT_EXTENDED_POLICY

WDF_INTERRUPT_EXTENDED_POLICY_INIT