Microsoft DirectX 8.1 (C++)

IEnumDMO::Next

The Next method retrieves a specified number of items in the enumeration sequence.

Syntax

HRESULT Next(
    DWORD cItemsToFetch,
    CLSID *pCLSID,
    WCHAR **Names,
    DWORD *pcItemsFetched
);

Parameters

cItemsToFetch

Number of items to retrieve.

pCLSID

[out] Array of size cItemsToFetch that is filled with the CLSIDs of the enumerated DMOs.

Names

[out] Array of size cItemsToFetch that is filled with the friendly names of the enumerated DMOs.

pcItemsFetched

[out] Pointer to a variable that receives the actual number of items retrieved. Can be NULL if cItemsToFetch equals 1.

Return Value

Returns an HRESULT value. Possible values include those in the following table.

Return Code Description
E_INVALIDARG Invalid argument.
E_OUTOFMEMORY Insufficient memory.
E_POINTER NULL pointer argument.
S_FALSE Retrieved fewer items than requested.
S_OK Retrieved the requested number of items.

Remarks

If the method succeeds, the arrays given by the pCLSID and Names parameters are filled with CLSIDs and wide-character strings. The value of *pcItemsFetched specifies the number of items returned in these arrays.

The method returns S_OK if it retrieves the requested number of items (in other words, if *pcItemsFetched equals cItemsToFetch). Otherwise, it returns S_FALSE or an error code.

The caller must free the memory allocated for each string returned in the Names parameter, using the CoTaskMemFree function.

See Also