Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Minidrivrutiner kan synkronisera strömmar till klockor som skapats av andra minidrivrutiner. Flera strömmar kan synkroniseras till en klocka. Om stiftet använder eller producerar en sådan huvudklocka bör minidrivrutinen stödja KSPROPERTY_STREAM_MASTERCLOCK. Klienter kan också använda den här egenskapen för att ange huvudklockan för pin-koden. Stift som utför återgivnings- och upptagningsåtgärder använder ofta en huvudklocka. Minidrivrutinen ansvarar för att släppa klockreferenser när den avslutas.
Gränssnittet till en huvudklocka är ett filobjekt som stöder metoder, egenskaper och händelser.
Alla frågor mot filobjektet är endast tillgängliga på PASSIVE_LEVEL. Men frågan om klockposition stöds också via en direkt funktionsanropspekare som är tillgänglig på DISPATCH_LEVEL, vilket är giltigt så länge filobjektet är giltigt. Det här direktanropet måste skickas till klockans filobjekt som en kontextparameter.
Filhandtaget erhålls genom en skapandebegäran för en filterpinneinstans, liksom pinnen skapas av IRP_MJ_CREATE. Begäran gör att ett filhandtag skapas, precis som ett filhandtag till en pin-kod skapas, med sin egen kontextinformation. Det här filhandtaget skickas sedan tillbaka till anroparen och kan användas för att ange huvudklockan för kernellägesfilter. När filtret tilldelas diagrammets huvudklocka kan en pin-instans fråga det överordnade filobjektet för att avgöra om det äger huvudklockan.
När ett filter får filhandtaget till den här huvudklockan kan det sedan användas för att fråga efter egenskaper. Om en huvudklocka baseras på ett kernellägesfilter måste den stödja ett gränssnitt för att kunna fråga filhandtaget till kärnlägesdelen av huvudklockan. Om gränssnittet inte stöds antas det att klockan är användarlägesbaserad och att filter i kernelläge inte kan synkroniseras med den.
DirectShow-proxyfiltret som begär huvudklockans handtag skickar det sedan till dess underliggande filterfilhandtag i kernelläge. Kernel-mode-filtret refererar till det underliggande filobjektet. Om filtret redan har en huvudklocka, avrefererar det filobjektet och använder den nya referensen. För att göra detta måste filtret vara i stopptillstånd.
Den fysiska tiden på huvudklockaobjektet är ofta maskinvarubaserad. Om ett filter som visar huvudklockan inte har någon fysisk klocka fortsätter strömtiden enligt tidsstämplarna för de data som presenteras. I en sådan situation kan tidsstämplar sluta fungera på grund av brist på data.
Den fysiska tiden bakom huvudklockan kan vara belägen på avstånd, i vilket fall är det den lokala proxyns ansvar att tillhandahålla exakta avläsningar. Proxyn har till exempel ansvar för att kompensera för fördröjningen över en 1394-anslutning, eller i genomsnitt fördröjningen i ett nätverk. Om något annat kernelfilter är en proxy för en andra enhet på samma 1394-buss, kan de två enheterna dessutom förhandla fram en privat metod för att interagera med huvudklockan. I sådana fall måste enheterna använda privata gränssnitt för att fastställa klocktyp för att verifiera kompatibiliteten.