Compartilhar via


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

Consulte também

IWDFInterrupt

KAFFINITY

WDF_INTERRUPT_POLICY

WDF_INTERRUPT_PRIORITY