// ks.h
typedef struct {
ULONG CategoriesCount;
const GUID *Categories;
ULONG TopologyNodesCount;
const GUID *TopologyNodes;
ULONG TopologyConnectionsCount;
const KSTOPOLOGY_CONNECTION *TopologyConnections;
const GUID *TopologyNodesNames;
ULONG Reserved;
} KSTOPOLOGY, *PKSTOPOLOGY;
View the official Windows Driver Kit DDI referenceNo description available.
The KSTOPOLOGY structure describes the topology of pins and nodes.
CategoriesCountSpecifies the number of functional categories that the driver supports.
CategoriesPoints to the beginning of the array of functional categories that the driver supports.
TopologyNodesCountSpecifies the number of nodes that the driver supports.
TopologyNodesPoints to the beginning of the array of GUIDs that describe the type of each node. For a list of video kernel streaming related nodes, see Kernel Streaming Topology Nodes. For a list of audio kernel streaming related nodes, see Audio Topology Nodes.
TopologyConnectionsCountSpecifies the number of entries in the array pointed to by TopologyConnections. The node numbers of each entry must correspond to the array offset of the node within TopologyNodes. When this structure is a part of a streaming minidriver's HW_STREAM_HEADER, the pin numbers must correspond to the offsets within the array of HW_STREAM_INFORMATION structures in the minidriver's HW_STREAM_DESCRIPTOR structure.
TopologyConnectionsPoints to the beginning of the array of topology connections for this structure.
TopologyNodesNamesSpecifies the GUID of the localized Unicode string name for the node, stored in the registry.
ReservedReserved for system use. Drivers should set this to zero.
A stream class minidriver creates and passes this structure as part of its HW_STREAM_HEADER structure. The class driver uses this structure to process topology property requests. The property data that the class driver returns is determined from the KSTOPOLOGY structure as follows: