Descrittori AVStream

Un minidriver AVStream descrive se stesso e i tipi di filtro supportati fornendo strutture di descrittore annidate nella chiamata a KsInitializeDriver. Ogni componente chiave, ovvero il dispositivo, la factory del filtro e la factory di pin , ha un descrittore associato.

Come illustrato in AVStream Object Hierarchy, il descrittore di livello più alto per un minidriver AVStream è il descrittore di dispositivo , KSDEVICE_DESCRIPTOR.

Nel descrittore del dispositivo, il membro FilterDescriptors punta a una matrice di strutture KSFILTER_DESCRIPTOR che descrivono i tipi di filtri che questo dispositivo può creare. I client AVStream possono chiamare KsCreateFilterFactory per aggiungere dinamicamente factory di filtro.

Un KSFILTER_DESCRIPTOR indica il numero di tipi di pin supportati dal filtro, le categorie KS in cui il filtro deve essere registrato e la topologia del filtro. All'interno di ogni descrittore di filtro, il minidriver fornisce un puntatore a una matrice di strutture KSPIN_DESCRIPTOR_EX . Ognuno di questi descrittori di pin descrive un tipo di pin che questo filtro può creare un'istanza. È possibile creare altre pin factory chiamando KsFilterCreatePinFactory.

In genere, i minidriver AVStream eseguono il layout delle tabelle del descrittore statico nell'origine e chiamano KsInitializeDriver per eseguire il lavoro di installazione. Per altre informazioni sull'inizializzazione del driver, vedere Inizializzazione di un minidriver AVStream.

Esistono anche altri tipi di descrittori, ad esempio il descrittore di nodo KSNODE_DESCRIPTOR, che descrive un determinato nodo della topologia.

La tabella dispatch è comune a ognuno dei tre tipi di descrittore principali. Vedere Tabelle dispatch AVStream.