Microsoft DirectX 9.0


On a multi-monitor system, the SetMonitor method specifies the monitor that this instance of the VMR should use for video playback.


HRESULT SetMonitor(
  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_INVALIDARG Invalid argument.
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 which DirectDraw driver should be used when connecting to an upstream decoder filter.

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