Condividi tramite


Funzione KsRecalculateStackDepth (ks.h)

La funzione KsRecalculateStackDepth ricalcola la profondità massima dello stack richiesta dall'oggetto dispositivo sottostante in base a tutti gli oggetti che hanno impostato un dispositivo di destinazione (sono stati aggiunti all'elenco di oggetti nell'oggetto dispositivo sottostante usando la funzione KsSetTargetDeviceObject). Se l'oggetto dispositivo PnP è stato impostato nell'intestazione del dispositivo sottostante usando KsSetDevicePnpAndBaseObject, tale dispositivo viene preso in considerazione anche quando si calcola la profondità massima dello stack.

Sintassi

KSDDKAPI VOID KsRecalculateStackDepth(
  [in] KSDEVICE_HEADER Header,
  [in] BOOLEAN         ReuseStackLocation
);

Parametri

[in] Header

Punta a un'intestazione allocata in precedenza da KsAllocateDeviceHeader.

[in] ReuseStackLocation

Se questa opzione è impostata su TRUE, la posizione dello stack corrente viene riutilizzata quando viene inoltrato qualsiasi provider di risorse. Questo significa che questo oggetto non richiede la propria posizione dello stack quando si inoltrano i runtime di integrazione e non viene aggiunta una posizione aggiuntiva alle dimensioni massime dello stack. Se impostato su FALSE, le dimensioni dello stack calcolate vengono incrementate di uno. Se lo stack di oggetti Pnp è impostato, il parametro di riutilizzo si applica anche a tale stack. Si noti che KsDefaultDispatchPnp riutilizza sempre la posizione dello stack corrente. La profondità minima dello stack è 1.

Valore restituito

Nessuno

Osservazioni

La funzione KsRecalculateStackDepth presuppone che KsSetDevicePnpAndBaseObject sia stato chiamato su questa intestazione del dispositivo e abbia assegnato un oggetto di base la cui profondità dello stack deve essere ricalcolata.

Questa funzione consente l'inoltro dei runtime di integrazione tramite un oggetto assicurando che qualsiasi IRP allocato in questo dispositivo disponga di posizioni dello stack sufficienti per consentirne l'inoltro. La profondità dello stack deve essere ricalcolata in un dispositivo di streaming quando il dispositivo esce da uno stato Stop. Può anche essere ricalcolato quando un oggetto viene liberato per risparmiare risorse.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione ks.h (include Ks.h)
libreria Ks.lib

Vedere anche

KsAllocateDeviceHeader

KsDefaultDispatchPnp

KsSetDevicePnpAndBaseObject

KsSetTargetDeviceObject