Compartir a través de


Método IWDFInterrupt::SetPolicy (wudfddi.h)

[Advertencia: UMDF 2 es la versión más reciente de UMDF y sustituye a UMDF 1. Todos los nuevos controladores UMDF deben escribirse mediante UMDF 2. No se agregan nuevas características a UMDF 1 y hay compatibilidad limitada con UMDF 1 en versiones más recientes de Windows 10. Los controladores universales de Windows deben usar UMDF 2. Para obtener más información, consulta Introducción a UMDF.]

El método SetPolicy especifica la prioridad de interrupción, la afinidad del procesador y la directiva de afinidad para una interrupción especificada.

Sintaxis

void SetPolicy(
  [in] WDF_INTERRUPT_POLICY   Policy,
  [in] WDF_INTERRUPT_PRIORITY Priority,
  [in] KAFFINITY              TargetProcessorSet
);

Parámetros

[in] Policy

Enumerador con tipo WDF_INTERRUPT_POLICYque especifica una directiva de afinidad de procesador para la interrupción.

[in] Priority

Enumerador con tipo WDF_INTERRUPT_PRIORITYque especifica una prioridad para la interrupción.

[in] TargetProcessorSet

Valor KAFFINITYcon tipo que especifica una afinidad de procesador para la interrupción, si el parámetro Policy de se establece en WdfIrqPolicySpecifiedProcessors.

Valor devuelto

Ninguno

Observaciones

A partir de Windows Vista, los controladores pueden especificar la prioridad de una interrupción, la afinidad de procesador y la directiva de afinidad. Para obtener más información sobre cómo usar el Registro para invalidar los valores que conjuntos de SetPolicy, vea afinidad de interrupción y prioridad.

Si un controlador se ejecuta en una versión del sistema operativo anterior a Windows Vista, el marco omite los valores que el controlador especifica cuando llama a SetPolicy.

Para obtener más información sobre los valores del Registro y las secciones INF que especifican la prioridad de una interrupción, la afinidad de procesador y la directiva de afinidad, consulte afinidad de interrupción y prioridad.

Si un controlador llama a SetPolicy, debe hacerlo en su IDriverEntry::OnDeviceAdd función de devolución de llamada, después de llamar al método IWDFDevice3::CreateInterrupt.

Para obtener más información sobre cómo controlar las interrupciones en los controladores UMDF, consulte acceso a hardware y control de interrupciones.

Ejemplos

En el ejemplo de código siguiente se asigna una interrupción del dispositivo al procesador 0, con prioridad normal.

#define AFFINITY_MASK(n) ((ULONG_PTR)1 << (n))

pIWdfInterrupt->SetPolicy(
                          WdfIrqPolicySpecifiedProcessors,
                          WdfIrqPriorityNormal,
                          AFFINITY_MASK(0)
                          );

Requisitos

Requisito Valor
fin del soporte técnico No disponible en UMDF 2.0 y versiones posteriores.
de la plataforma de destino de Escritorio
versión mínima de UMDF 1.11
encabezado de wudfddi.h
DLL de WUDFx.dll

Consulte también

IWDFInterrupt

KAFFINITY

WDF_INTERRUPT_POLICY

WDF_INTERRUPT_PRIORITY