CBasePropertyPage.SetObjects method

[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.]

The SetObjects method provides IUnknown pointers for the objects associated with the property page. This method implements the IPropertyPage::SetObjects method.

Syntax

HRESULT SetObjects(
   ULONG     cObjects,
   LPUNKNOWN *ppUnk
);

Parameters

cObjects

Specifies the number of IUnknown pointers in the array specified by ppUnk.

ppUnk

Specifies an array of IUnknown pointers.

Return value

Returns an HRESULT value. Possible values include the following.

Return code Description
S_OK
Success.
E_POINTER
NULL pointer argument.
E_UNEXPECTED
Unexpected failure.

Remarks

Although ppUnk specifies an array of IUnknown pointers, the CBasePropertyPage class is designed only to support one associated object. If cObjects is greater than 1, the method returns E_UNEXPECTED.

If cObjects equals 1, this method calls the CBasePropertyPage::OnConnect method. If cObjects equals 0, this method calls the CBasePropertyPage::OnDisconnect method. The derived class should override both of those methods; for details, see the remarks for those methods.

Requirements

Requirement Value
Header
Cprop.h (include Streams.h)
Library
Strmbase.lib (retail builds);
Strmbasd.lib (debug builds)

See also

CBasePropertyPage Class