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 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 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 anteriormente llamando a WDF_INTERRUPT_EXTENDED_POLICY_INIT.
Valor devuelto
Ninguno
Observaciones
Este método es equivalente a la 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 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 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 | 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 |