Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Till skillnad från filter och stift har noderna inte ett associerat filhandtag som program i Ring 3 kan komma åt dem med. Eftersom noder är interna komponenter i ett filter finns de någonstans mellan filtrets indata- och utdatastift. Nätverksleverantören måste bestämma vilken filterpinne som ska användas, och sedan använda filterpinnen för att komma åt en nod. Den här filterstiftet kallas för kontrollstiftet för den noden. För att fastställa styrstiftet för varje nod i BDA-mallanslutningslistan för ett filter förfrågar nätverksprovidern egenskaps-ID:t KSPROPERTY_BDA_CONTROLLING_PIN_ID för egenskapsuppsättning KSPROPSETID_BdaTopology. BDA-minidrivrutinen anropar i sin tur stödfunktionen BdaPropertyGetControllingPinId för varje nod. I det här anropet skickar minidrivern en pekare till en KSP_BDA_NODE_PIN struktur. Den här strukturen identifierar egenskapsbegäran för att hämta det kontrollerande stiftet för en viss nodtyp och ett par av filtrens indata- och utdatastift. BDA-stödbiblioteket returnerar identifieraren för kontrollstiftet för nodtypen.
En BDA-minidriver fångar vanligtvis inte upp egenskapen KSPROPERTY_BDA_CONTROLLING_PIN_ID. Minidrivern skickar automatiskt stödfunktionen BdaPropertyGetControllingPinId från egenskapsuppsättningen KSPROPSETID_BdaTopology. Mer information finns i Fastställa BDA-enhetstopologi .
Supportbiblioteket kan utföra allt arbete med att fastställa identifieraren för kontrollstiftet eftersom BDA-minidrivrutinen gav supportbiblioteket en pekare till BDA_FILTER_TEMPLATE strukturen när BDA-minidrivrutinen började arbeta. Mer information finns under Starta en BDA-minidriver . En BDA-minidrivrutin ger BDA-supportbiblioteket information om hur man bestämmer styrande anslutningar genom information som finns i BDA_FILTER_TEMPLATE. Den här informationen omfattar:
En matris med anslutningar. Den här matrisen är en KSTOPOLOGY_CONNECTION matris som ger en representation av alla möjliga anslutningar mellan nod- och stifttyper som kan göras i ett filter eller mellan ett filter och angränsande filter. Se Kartläggning av anslutningstopologi för mer information om KSTOPOLOGY_CONNECTION-arrayen.
En matris med gemensamma värden. En nod är en punkt i topologin där en indata delas upp i en eller flera vägar till olika utgångar, eller en eller flera indata förenas i en enda utgångsväg. Värdet som ges till en joint motsvarar indexet för ett element i den KSTOPOLOGY_CONNECTION matrisen. De flesta topologier har bara en gemensam.
Ett fält av BDA_PIN_PAIRING-strukturer. Dessa strukturer identifierar pin-typer för indata och utdata, det maximala antalet instanser av indatatyp som kan skapas i filtret och det maximala antalet instanser av utdatatyp som kan skapas i filtret. Dessa strukturer innehåller också en pekare till matrisen med gemensamma värden mellan indata- och utdatastiften. Mer information om BDA_PIN_PAIRING matrisen finns i Starta en BDA Minidrivrutin.
Följande bild visar hur stöd biblioteket bestämmer den filterpinne som kontrollerar en specifik nod.