Microsoft DirectX 8.1 (C++)

DMOGetTypes

The DMOGetTypes function retrieves the media types registered for a DMO.

Requirements

Declared in Dmoreg.h; include Dmo.h. Link to Msdmo.lib.

Syntax

HRESULT DMOGetTypes(
    REFCLSID clsidDMO,
    unsigned long ulInputTypesRequested,
    unsigned long *pulInputTypesSupplied,
    DMO_PARTIAL_MEDIATYPE *pInputTypes,
    unsigned long ulOutputTypesRequested,
    unsigned long *pulOutputTypesSupplied,
    DMO_PARTIAL_MEDIATYPE *pOutputTypes
);

Parameters

clsidDMO

Class identifier (CLSID) of the DMO.

ulInputTypesRequested

Size of the array passed in the pInputTypes parameter.

pulInputTypesSupplied

Pointer to a variable that receives the number of DMO_PARTIAL_MEDIATYPE structures in pInputTypes that the function fills in.

pInputTypes

Pointer to a caller-allocated array of DMO_PARTIAL_MEDIATYPE structures. The size of the array is given in the ulInputTypesRequested parameter. The function fills the array with the input types registered for the DMO.

ulOutputTypesRequested

Size of the array passed in the pOutputTypes parameter.

pulOutputTypesSupplied

Pointer to a variable that receives the number of DMO_PARTIAL_MEDIATYPE structures in pOutputTypes that the function fills in.

pOutputTypes

Pointer to a caller-allocated array of DMO_PARTIAL_MEDIATYPE structures. The size of the array is given in the ulOutputTypesRequested parameter. The function fills the array with the DMO output types registered for the DMO.

Return Value

Returns an HRESULT value. Possible values include the following.

Result Code Description
E_FAIL Failure
S_FALSE Array too small
S_OK Success

Remarks

If one of the arrays is too small to hold all of the registered types, the function fills the array but returns S_FALSE.

If the DMO did not register any media types, the function returns S_OK and sets *pulInputTypesSupplied and *pulOutputTypesSupplied to zero.

See Also