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

Consulte también

IWDFInterrupt

WDF_INTERRUPT_EXTENDED_POLICY

WDF_INTERRUPT_EXTENDED_POLICY_INIT