Condividi tramite


Funzione KsFilterAttemptProcessing (ks.h)

La funzione KsFilterAttemptProcessing tenta di avviare l'elaborazione in Filter.

Sintassi

void KsFilterAttemptProcessing(
  [in] PKSFILTER Filter,
  [in] BOOLEAN   Asynchronous
);

Parametri

[in] Filter

Puntatore a una struttura KSFILTER che rappresenta l'oggetto filtro AVStream su cui tentare l'elaborazione.

[in] Asynchronous

Questo parametro contiene un'indicazione relativa all'eventuale esecuzione asincrona dell'invio di elaborazione (in caso di verificarsi). Un invio asincrono è garantito se si tratta di TRUE; Tuttavia, i dispatch di elaborazione sincroni sono regolati dalle condizioni descritte di seguito.

Valore restituito

Nessuno

Osservazioni

Se il minidriver chiama KsFilterAttemptProcessing quando vengono soddisfatte tutte le condizioni necessarie per elaborare i dati, si verifica un invio di elaborazione. Per altre informazioni sul callback del processo, vedere KSFILTER_DISPATCH. Per consentire al tentativo di generare un invio effettivo, il controllo del processo del filtro deve trovarsi in uno stato aperto. A differenza dell'elaborazione incentrata sui pin, l'elaborazione basata sui filtri presenta molte condizioni che influiscono sul controllo del processo. Per altre informazioni su questi requisiti, vedere Filter-Centric Processing and Pin-Centric Processing.

Se il controllo del processo è aperto, si verifica un invio di elaborazione, in modo sincrono o asincrono. Se il chiamante specifica TRUE nel parametro asincrona, l'invio di elaborazione viene sempre generato in modo asincrono in un elemento di lavoro. Tuttavia, se il chiamante richiede un dispatch di elaborazione sincrono, l'invio viene eseguito in modo sincrono solo se il sistema è attualmente in un runtime di integrazione in corrispondenza del quale il minidriver può gestire l'elaborazione. Se il sistema è in PASSIVE_LEVEL, l'invio viene garantito in modo sincrono. Viceversa, se il sistema è in DISPATCH_LEVEL, l'invio avviene in modo sincrono solo se KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING viene specificato nel filtro. In caso contrario, un elemento di lavoro viene accodato per eseguire l'elaborazione.

Si noti che si tratta solo di un tentativo di elaborazione; la chiamata a questa funzione non garantisce che l'elaborazione inizierà. L'elaborazione avviene solo se il controllo del processo è "aperto". Per altre informazioni, vedere Riavvio dell'elaborazione in AVStream e controllo del flusso in AVStream.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile in Microsoft Windows XP e nei sistemi operativi successivi e in DirectX 8.0 e versioni successive di DirectX.
piattaforma di destinazione Universale
intestazione ks.h (include Ks.h)
libreria Ks.lib
IRQL <=DISPATCH_LEVEL

Vedere anche

KSFILTER_DISPATCH

KSGATE

KsGateCaptureThreshold

KsPinAttemptProcessing