Condividi tramite


Funzione KsPinAttemptProcessing (ks.h)

La funzione KsPinAttemptProcessing viene usata per riprendere l'elaborazione su un pin specifico in un filtro incentrato sui pin. Tenta di avviare l'elaborazione sul Pin inviando una chiamata di invio di elaborazione all'oggetto di elaborazione del pin.

Sintassi

void KsPinAttemptProcessing(
  [in] PKSPIN  Pin,
  [in] BOOLEAN Asynchronous
);

Parametri

[in] Pin

Puntatore a una struttura KSPIN che rappresenta l'oggetto pin AVStream su cui tentare l'elaborazione.

Avviso

Questo parametro è obbligatorio. Se si chiama KsPinAttemptProcessing con un valore PinNULL, l'instabilità del sistema può risultare.

[in] Asynchronous

Questo parametro indica la preferenza del minidriver se l'elaborazione deve essere eseguita in modo sincrono o asincrono. Se TRUE, l'elaborazione è sempre asincrona. Tuttavia, l'elaborazione sincrona avviene solo in determinate circostanze. Per altre informazioni, vedere la sezione Osservazioni di seguito.

Valore restituito

nessuno

Osservazioni

Un minidriver potrebbe dover chiamare KsPinAttemptProcessing per riprendere l'elaborazione in varie situazioni. Ad esempio, se il client ha chiuso il controllo di elaborazione con KsGateTurnInputOff, chiamare questa funzione quando è pronto per tentare l'elaborazione. Si noti che questo causa solo un invio di elaborazione se il controllo del processo si trova nello stato aperto. Un'altra situazione implica che il minidriver abbia precedentemente restituito STATUS_PENDING a un invio di elaborazione. Per altri dettagli, vedere Riavvio dell'elaborazione in AVStream e controlli di flusso in AVStream.

L'invio di elaborazione viene eseguito in modo sincrono o asincrono e solo se il controllo di elaborazione è aperto. Il flag Asincrono specifica la preferenza del minidriver. Se il minidriver richiede un invio di processo asincrono, l'invio è sempre asincrono. Tuttavia, anche se il chiamante imposta Asincrona su FALSE, un dispatch sincrono si verifica solo se il sistema è attualmente in esecuzione in un IRQL inferiore al numero massimo di elaborazione IRQL. In altre parole, se il minidriver non specifica l'elaborazione a livello di invio e la chiamata viene eseguita in IRQL = DISPATCH_LEVEL, la chiamata viene eseguita in un elemento di lavoro asincrono in PASSIVE_LEVEL indipendentemente dal valore asincrono asincrono. Per altre informazioni, vedere Elaborazione basata su filtri e elaborazione basata su pin.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione ks.h (include Ks.h)
Libreria Ks.lib
IRQL <=DISPATCH_LEVEL (vedere la sezione Osservazioni)

Vedi anche

KSFILTER_DISPATCH

KsFilterAttemptProcessing

KsGateCaptureThreshold