CSourceSeeking.CheckCapabilities method
[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
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.
Return code | Description |
---|---|
|
Not all of the capabilities in pCapabilities are present. |
|
All capabilities in pCapabilities are present. |
|
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
{
hr = E_FAIL;
}
*pCapabilities = dwCaps;
}
else
{
*pCapabilities = 0;
}
return hr;
}
Requirements
Requirement | Value |
---|---|
Header |
|
Library |
|