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 |