Property Sets (DirectShow)

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

Microsoft DirectShow uses property sets to support extended services offered by hardware and its associated drivers and filters. Hardware and filter vendors can define new capabilities as properties, arrange them in property sets, and publish the specification for these property sets. As the application developer, you can use the methods of the IKsPropertySet interface to determine whether a driver or filter supports a particular set of properties, and retrieve or set those properties.

All the methods exposed by IKsPropertySet require a GUID that identifies the property set (the guidPropSet parameter) and a DWORD that identifies the property within the property set (the dwPropID parameter). The dwPropID parameter is typically a member of an enumerated data type.

Individual properties can have associated data that you specify in the pPropData parameter in the IKsPropertySet::Set and IKsPropertySet::Get methods. In these methods, the property data is typed as a pointer to void. The data type and the meaning of the data are specified in the definition of the property set.

The following sections provide information about the property sets supported in DirectShow: