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 |