Función PcNewInterruptSync (portcls.h)

La función PcNewInterruptSync crea e inicializa un objeto de sincronización de interrupciones.

Sintaxis

PORTCLASSAPI NTSTATUS PcNewInterruptSync(
  [out]          PINTERRUPTSYNC    *OutInterruptSync,
  [in, optional] PUNKNOWN          OuterUnknown,
  [in]           PRESOURCELIST     ResourceList,
  [in]           ULONG             ResourceIndex,
  [in]           INTERRUPTSYNCMODE Mode
);

Parámetros

[out] OutInterruptSync

Puntero de salida para el objeto de sincronización de interrupciones creado por esta función. Este parámetro apunta a una variable de puntero asignada por el autor de la llamada en la que la función genera una referencia al objeto IInterruptSync recién creado. Especifique un valor de puntero válido que no sea NULL para este parámetro.

[in, optional] OuterUnknown

Puntero a la interfaz IUnknown de un objeto que necesita agregar el objeto. A menos que se requiera la agregación, establezca este parámetro en NULL.

[in] ResourceList

Puntero al objeto IResourceList que se proporcionó al controlador de minipuerto durante la inicialización. El controlador de puerto examinará esta lista de recursos, pero no la modificará.

[in] ResourceIndex

Especifica el índice del recurso de interrupción en la lista de recursos. Si el método IResourceList::NumberOfEntriesOfType devuelve un recuento de N para el tipo CmResourceTypeInterrupt, ResourceIndex debe ser un valor del intervalo comprendido entre 0 y N-1.

[in] Mode

Especifica la forma en que se controlan varios ISR. Establezca este parámetro en uno de los valores de enumeración INTERRUPTSYNCMODE. Para obtener más información, vea la sección Comentarios que se muestra más adelante.

Valor devuelto

PcNewInterruptSync devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, devuelve un código de error adecuado.

Comentarios

El parámetro Mode se establece en uno de los valores de enumeración INTERRUPTSYNCMODE de la tabla siguiente.

Valor Significado
InterruptSyncModeNormal Llame a cada ISR de la lista hasta que uno de ellos devuelva STATUS_SUCCESS.
InterruptSyncModeAll Llame a cada ISR de la lista exactamente una vez, independientemente de los códigos de retorno de los distintos ISR.
InterruptSyncModeRepeat Recorrer toda la lista de ISR hasta que se produzca un recorrido por la lista en el que ningún ISR de la lista devuelva STATUS_SUCCESS.
 

Para obtener descripciones detalladas de estos tres modos, vea Objetos de sincronización de interrupciones.

Los parámetros OutInterruptSync, OuterUnknown y ResourceList siguen las convenciones de recuento de referencias para objetos COM.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Universal
Encabezado portcls.h (incluir Portcls.h)
Library Portcls.lib
IRQL PASSIVE_LEVEL

Consulte también

IInterruptSync

IResourceList

IResourceList::NumberOfEntriesOfType