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 controladores UMDF nuevos deben escribirse con 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 con 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_POLICY que especifica una directiva de afinidad de procesador para la interrupción.

[in] Priority

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

[in] TargetProcessorSet

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

Valor devuelto

None

Observaciones

A partir de Windows Vista, los controladores pueden especificar la prioridad de una interrupción, la afinidad del procesador y la directiva de afinidad. Para obtener más información sobre cómo usar el Registro para invalidar los valores que establece SetPolicy , consulte Affinity and Priority (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 función de devolución de llamada IDriverEntry::OnDeviceAdd , después de llamar al método IWDFDevice3::CreateInterrupt .

Para obtener más información sobre el control de 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 Value
Finalización del soporte técnico No disponible en UMDF 2.0 y versiones posteriores.
Plataforma de destino Escritorio
Versión mínima de UMDF 1.11
Encabezado wudfddi.h
Archivo DLL WUDFx.dll

Consulte también

IWDFInterrupt

KAFFINITY

WDF_INTERRUPT_POLICY

WDF_INTERRUPT_PRIORITY