Condividi tramite


Funzione PcNewInterruptSync (portcls.h)

La funzione pcNewInterruptSync crea e inizializza un oggetto di sincronizzazione degli 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 IInterrupt Sync appena creato. Specificare un valore valido, nonNULL valore del puntatore 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 altre informazioni, vedere la sezione Osservazioni seguente.

Valore restituito

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

Osservazioni

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 Attraversa 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 Interrupt Sync Objects.

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

Fabbisogno

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

Vedere anche

IInterruptSync

IResourceList

IResourceList::NumberOfEntriesOfType