Class Provider

The Device Manager calls the class property page provider to provide property pages for both class properties and device properties. This allows the class provider to add property pages to every device in its class.

The class provider is responsible for determining whether the request is for class properties or device properties by checking for the DI_CLASSONLY value in the Flags member in the DEVICE_INFO structure. If the value is present, the request is for class properties; otherwise, for device properties.

When DI_CLASSONLY is set, the provider cannot replace the default resource property page. This means the Device Manager ignores the DI_RESOURCEPAGE_ADDED value even if set.

If the class provider adds or replaces property pages on a request for device properties, it must follow the same rules as the device property provider.