Microsoft DirectX 9.0


The SetDefaultMonitor method specifies the default monitor that all future instances of the VMR should use for video playback.


HRESULT SetDefaultMonitor(
  const VMRGUID*  pGUID



[in]  Pointer to a VMRGUID structure that identifies the monitor.

Return Values

Returns an HRESULT value. Possible values include the following.

Error 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.


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 overriden 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.

See Also