Microsoft DirectX 9.0 |
The CheckCapabilities method queries whether the stream has specified seeking capabilities. This method implements the IMediaSeeking::CheckCapabilities method.
Syntax
HRESULT CheckCapabilities(
DWORD *pCapabilities
);
Parameters
pCapabilities
Pointer to a bitwise combination of one or more AM_SEEKING_SEEKING_CAPABILITIES attributes.
Return Value
Returns one of the HRESULT values listed in the following table.
Value | Description |
S_FALSE | Not all of the capabilities in pCapabilities are present. |
S_OK | All capabilities in pCapabilities are present. |
E_POINTER | NULL pointer argument. |
Remarks
As implemented, this method checks the value of *pCapabilities against the CSourceSeeking::m_dwSeekingCaps member variable. However, it does not set *pCapabilities equal to m_dwSeekingCaps, as described for the IMediaSeeking::CheckCapabilities method. Also, in the case where none of the specified capabilities are available, the method does not return E_FAIL. A more complete implementation would be as follows:
STDMETHODIMP CheckCapabilities(DWORD *pCapabilities)
{
CheckPointer(pCapabilities, E_POINTER);
DWORD dwCaps;
HRESULT hr = GetCapabilities(&dwCaps);
if (SUCCEEDED(hr))
{
dwCaps &= *pCapabilities;
if (dwCaps)
{
hr = (dwCaps == *pCapabilities ? S_OK : S_FALSE );
}
else
{
dwCaps = E_FAIL;
}
*pCapabilities = dwCaps;
}
else *pCapabilities = 0;
return hr;
}
See Also