DMORegister (Compact 2013)

3/26/2014

This function registers a DMO.

Syntax

HRESULT DMORegister(
  LPCWSTR szName,
  REFCLSID clsidDMO,
  REFGUID guidCategory,
  REFCLSID clsidAutoWrap,
  DWORD dwFlags,
  DWORD cInTypes,
  const DMO_PARTIAL_MEDIATYPE* pInTypes,
  DWORD cOutTypes,
  const DMO_PARTIAL_MEDIATYPE* pOutTypes
);

Parameters

  • szName
    Null-terminated string that contains a descriptive name for the DMO. Names longer than 79 characters might be truncated.
  • clsidDMO
    Class identifier (CLSID) of the DMO.
  • guidCategory
    One of the DMO GUIDs. It specifies the category of the DMO.
  • clsidAutoWrap
    The class identifier that specifies the DirectShow filter that will contain the DMO.
  • dwFlags
    Bitwise combination of zero or more flags from the DMO_REGISTER_FLAGS enumeration.
  • cInTypes
    Number of input media types to register, which can be zero.
  • pInTypes
    Pointer to an array of DMO_PARTIAL_MEDIATYPE structures that specify the input media types. The size of the array is specified in the cInTypes parameter.
  • cOutTypes
    Number of output media types to register.
  • pOutTypes
    Pointer to an array of DMO_PARTIAL_MEDIATYPE structures that specify the output media types. The size of the array is specified in the cOutTypes parameter, which can be zero.

Return Value

Returns an HRESULT value. Possible values include the following.

Value

Description

S_OK

Success

E_FAIL

Failure

E_INVALIDARG

Invalid argument

Remarks

This function adds information about a DMO to the registry. Applications or Component Object Model (COM) components can use this information to locate the DMOs they need by calling the DMOEnum function.

For example, to encode a video stream, you would search in the DMOCATEGORY_VIDEO_ENCODER category for a DMO whose media types matched your requirements.

The media types registered by this function are only for finding the DMO. They do not necessarily match the types returned by the IMediaObject::GetInputType and IMediaObject::GetOutputType methods.

For example, a decoder might register just its main input types. After the DMO is created and its input type is set, its GetOutputType method returns all of the decompressed types it can generate.

See Also

Reference

DMO Functions