IVMRMonitorConfig::SetDefaultMonitor method (strmif.h)

[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 SetDefaultMonitor method specifies the default monitor that all future instances of the VMR should use for video playback.

Syntax

HRESULT SetDefaultMonitor(
  [in] const VMRGUID *pGUID
);

Parameters

[in] pGUID

Pointer to a VMRGUID structure that identifies the monitor.

Return value

Returns an HRESULT value. Possible values include the following.

Return code Description
E_FAIL
Could not set the specified monitor as the default.
E_INVALIDARG
Invalid argument. The specified monitor does not exist, or the pGUID parameter was not formatted correctly.
E_POINTER
NULL pointer argument.
S_OK
Success.
VFW_E_WRONG_STATE
The allocator-presenter has not been loaded.

Remarks

Use this method on a multi-monitor system to specify to the VMR the default DirectDraw device to use when connecting to an upstream filter. The default DirectDraw device can be overridden for a particular connection by the SetMonitor method.

The pGUID member of the VMRGUID structure must be either NULL, indicating the default DirectDraw device, or equal to the address of the GUID member of the VMRGUID structure. Otherwise, the method returns E_INVALIDARG.

If the specified GUID does not correspond to any monitor, the method return E_INVALIDARG.

Requirements

Requirement Value
Minimum supported client Windows XP with SP1 [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header strmif.h (include Dshow.h)
Library Strmiids.lib

See also

Error and Success Codes

IVMRMonitorConfig Interface

IVMRMonitorConfig::GetDefaultMonitor

Using the Video Mixing Renderer