Microsoft DirectX 8.0 |
This interface provides methods for enumerating Microsoft® DirectX® Media Objects (DMOs). It is based on the OLE enumeration interfaces. For more information, see the IEnumXXXX topic in the Platform SDK.
To enumerate registered DMOs, call the DMOEnum function.
IUnknown methods Description QueryInterface Retrieves pointers to supported interfaces. AddRef Increments the reference count. Release Decrements the reference count. IEnumDMO methods Description Next Retrieves a specified number of items in the enumeration sequence. Skip Skips over a specified number of items in the enumeration sequence. Reset Resets the enumeration sequence to the beginning. Clone Not implemented.
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 the following:
S_FALSE Retrieved fewer items than requested. S_OK Retrieved the requested number of items. E_INVALIDARG Invalid argument. E_OUTOFMEMORY Insufficient memory. E_POINTER NULL pointer argument.
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.
Skips over a specified number of items in the enumeration sequence.
Syntax
HRESULT Skip( DWORD cItemsToSkip );
Parameters
- cItemsToSkip
- Number of items to skip.
Return Value
Returns S_OK if the number items skipped equals cItemsToSkip. Otherwise, returns S_FALSE.
Resets the enumeration sequence to the beginning.
Syntax
HRESULT Reset(void);
Return Value
Returns S_OK.
This method is not implemented.
Syntax
HRESULT Clone( IEnumDMO **ppEnum );
Return Value
Returns E_NOTIMPL.