Método IWDFInterrupt::SetExtendedPolicy (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 SetExtendedPolicy especifica la prioridad de interrupción, la afinidad del procesador, la directiva de afinidad y el grupo de procesadores para una interrupción especificada.
Sintaxis
void SetExtendedPolicy(
[in] PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup
);
Parámetros
[in] PolicyAndGroup
Puntero a una estructura de WDF_INTERRUPT_EXTENDED_POLICY asignada por el autor de la llamada que el controlador ha inicializado previamente llamando a WDF_INTERRUPT_EXTENDED_POLICY_INIT.
Valor devuelto
None
Observaciones
Este método es equivalente a WdfInterruptSetExtendedPolicy de KMDF. Vea la sección Comentarios de WdfInterruptSetExtendedPolicy para obtener más información sobre este método.
Si un controlador se ejecuta en una versión del sistema operativo anterior a Windows 7, el marco omite el valor que el controlador especifica para el número de grupo de procesadores cuando llama a SetExtendedPolicy.
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 llama a WDF_INTERRUPT_EXTENDED_POLICY_INIT para inicializar una estructura de WDF_INTERRUPT_EXTENDED_POLICY ; establece los valores de la directiva, la prioridad y el conjunto de procesadores de destino; y llama a SetExtendedPolicy. En el ejemplo se establece la prioridad normal para la interrupción y se asigna la interrupción al procesador 0 en el grupo de procesadores 2.
IWDFInterrupt* pInterrupt;
#define AFFINITY_MASK(n) ((ULONG_PTR)1 << (n))
WDF_INTERRUPT_EXTENDED_POLICY myExtendedPolicy;
WDF_INTERRUPT_EXTENDED_POLICY_INIT(&myExtendedPolicy);
myExtendedPolicy.Policy = WdfIrqPolicySpecifiedProcessors;
myExtendedPolicy.Priority = WdfIrqPriorityNormal;
myExtendedPolicy.TargetProcessorSetAndGroup.Mask = AFFINITY_MASK(0);
myExtendedPolicy.TargetProcessorSetAndGroup.Group = 2;
pInterrupt->SetExtendedPolicy(
&myExtendedPolicy
);
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 |