55 lines
976 B
C++
55 lines
976 B
C++
#include "CHWMFT.h"
|
|
|
|
// Helper Macros
|
|
#define SAFERELEASE(x) \
|
|
if((x) != NULL) \
|
|
{ \
|
|
(x)->Release(); \
|
|
(x) = NULL; \
|
|
} \
|
|
|
|
HRESULT CHWMFT::GetParameters(
|
|
DWORD* pdwFlags,
|
|
DWORD* pdwQueue)
|
|
{
|
|
HRESULT hr = S_OK;
|
|
|
|
do
|
|
{
|
|
if((pdwFlags == NULL) || (pdwQueue == NULL))
|
|
{
|
|
hr = E_POINTER;
|
|
break;
|
|
}
|
|
|
|
(*pdwFlags) = 0;
|
|
(*pdwQueue) = m_dwDecodeWorkQueueID;
|
|
}while(false);
|
|
|
|
return hr;
|
|
}
|
|
|
|
HRESULT CHWMFT::Invoke(
|
|
IMFAsyncResult *pAsyncResult)
|
|
{
|
|
/*********************************
|
|
** Todo: This function is called
|
|
** when you schedule an async event
|
|
** Determine the event type from
|
|
** the result and take appropriate
|
|
** action
|
|
*********************************/
|
|
|
|
HRESULT hr = S_OK;
|
|
|
|
do
|
|
{
|
|
if(pAsyncResult == NULL)
|
|
{
|
|
hr = E_POINTER;
|
|
break;
|
|
}
|
|
}while(false);
|
|
|
|
return hr;
|
|
} |