Funzione PcNewInterruptSync (portcls.h)

La funzione PcNewInterruptSync crea e inizializza un oggetto di sincronizzazione interrupt.

Sintassi

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

Parametri

[out] OutInterruptSync

Puntatore di output per l'oggetto di sincronizzazione interrupt creato da questa funzione. Questo parametro punta a una variabile puntatore allocata dal chiamante in cui la funzione restituisce un riferimento all'oggetto IInterruptSync appena creato. Specificare un valore di puntatore non NULL valido per questo parametro.

[in, optional] OuterUnknown

Puntatore all'interfaccia IUnknown di un oggetto che deve aggregare l'oggetto. A meno che non sia necessaria l'aggregazione, impostare questo parametro su NULL.

[in] ResourceList

Puntatore all'oggetto IResourceList fornito al driver miniport durante l'inizializzazione. Il driver della porta esaminerà questo elenco di risorse, ma non lo modificherà.

[in] ResourceIndex

Specifica l'indice della risorsa interrupt nell'elenco di risorse. Se il metodo IResourceList::NumberOfEntriesOfType restituisce un conteggio di N per il tipo CmResourceTypeInterrupt, ResourceIndex deve essere un valore compreso nell'intervallo da 0 a N-1.

[in] Mode

Specifica la modalità di gestione di più isr. Impostare questo parametro su uno dei valori di enumerazione INTERRUPTSYNCMODE. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.

Valore restituito

PcNewInterruptSync restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo. In caso contrario, restituisce un codice di errore appropriato.

Commenti

Il parametro Mode è impostato su uno dei valori di enumerazione INTERRUPTSYNCMODE nella tabella seguente.

Valore Significato
InterruptSyncModeNormal Chiamare ogni ISR nell'elenco fino a quando uno di essi non restituisce STATUS_SUCCESS.
InterruptSyncModeAll Chiamare ogni ISR nell'elenco esattamente una volta, indipendentemente dai codici restituiti dei vari ISR.
InterruptSyncModeRepeat Attraversare l'intero elenco ISR fino a quando non viene eseguita una corsa nell'elenco in cui non viene restituito alcun ISR nell'elenco STATUS_SUCCESS.
 

Per descrizioni dettagliate di queste tre modalità, vedere Interrompi sincronizzazione oggetti.

I parametri OutInterruptSync, OuterUnknown e ResourceList seguono le convenzioni di conteggio dei riferimenti per gli oggetti COM.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 2000.
Piattaforma di destinazione Universale
Intestazione portcls.h (include Portcls.h)
Libreria Portcls.lib
IRQL PASSIVE_LEVEL

Vedi anche

IInterruptSync

IResourceList

IResourceList::NumberOfEntriesOfType