Compartilhar via


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

Confira também

IWDFInterrupt

KAFFINITY

WDF_INTERRUPT_POLICY

WDF_INTERRUPT_PRIORITY