Condividi tramite


Funzione KsPinAttemptProcessing (ks.h)

La funzione KsPinAttemptProcessing viene usata per riprendere l'elaborazione su un pin specifico su un filtro incentrato sul pin. Tenta di avviare l'elaborazione su Pin inviando una chiamata dispatch di elaborazione all'oggetto di elaborazione di 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.

Avvertimento

Questo parametro è obbligatorio. Se si chiama KsPinAttemptProcessing con un valore Pin di NULL, 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 arrestato 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 è 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 controllo del flusso in AVStream.

L'invio di elaborazione si verifica 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 asincrono del processo, il dispatch è sempre asincrono. Tuttavia, anche se il chiamante imposta asincrona su FALSE, si verifica un invio sincrono solo se il sistema è attualmente in esecuzione in un runtime di integrazione inferiore al valore irQL massimo di elaborazione. 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 di asincrona. Per altre informazioni, vedere Filter-Centric Processing e Pin-Centric Processing.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione ks.h (include Ks.h)
libreria Ks.lib
IRQL <=DISPATCH_LEVEL (vedere la sezione Note)

Vedere anche

KSFILTER_DISPATCH

KsFilterAttemptProcessing

KsGateCaptureThreshold