home *** CD-ROM | disk | FTP | other *** search
- //------------------------------------------------------------------------------
- // File: MFCUtil.h
- //
- // Desc: DirectShow sample code - prototypes for utility functions
- // used by MFC applications.
- //
- // Copyright (c) 2000-2001 Microsoft Corporation. All rights reserved.
- //------------------------------------------------------------------------------
-
- //
- // Application-defined messages
- //
- #define WM_GRAPHNOTIFY WM_APP + 1
-
- #ifndef SAFE_RELEASE
- #define SAFE_RELEASE(x) if(x) {x->Release(); x=0;}
- #endif
-
- #define JIF(x) if (FAILED(hr=(x))) \
- {RetailOutput(TEXT("FAILED(0x%x) ") TEXT(#x) TEXT("\n"), hr); goto CLEANUP;}
-
- //
- // Function prototypes
- //
- HRESULT AddGraphFiltersToList (IGraphBuilder *pGB, CListBox& m_ListFilters);
- HRESULT AddFilterPinsToLists (IGraphBuilder *pGB, CListBox& m_ListFilters,
- CListBox& m_ListPinsInput, CListBox& m_ListPinsOutput);
-
- HRESULT EnumPinsOnFilter (IBaseFilter *pFilter, PIN_DIRECTION PinDir, CListBox& Listbox);
-
- // Enumeration functions that add extra data to the listbox
- HRESULT EnumFiltersAndMonikersToList(IEnumMoniker *pEnumCat, CListBox& ListFilters);
- HRESULT EnumFiltersAndCLSIDsToList(IEnumMoniker *pEnumCat, CListBox& ListFilters);
-
- HRESULT EnumFiltersWithCLSIDToList(ICreateDevEnum *pSysDevEnum,
- const GUID *clsid, CListBox& List);
- HRESULT EnumFiltersWithMonikerToList(ICreateDevEnum *pSysDevEnum,
- const GUID *clsid, CListBox& List);
-
- // Similar to IGraphBuilder::FindFilterByName()
- IBaseFilter *FindFilterFromName(IGraphBuilder *pGB, LPTSTR szNameToFind);
-
- // Listbox add/clear functions that store extra data
- void AddFilterToListWithCLSID (const TCHAR *szFilterName,
- const GUID *pCatGuid, CListBox& ListFilters);
- void AddFilterToListWithMoniker(const TCHAR *szFilterName,
- IMoniker *pMoniker, CListBox& ListFilters);
- void ClearFilterListWithCLSID (CListBox& ListFilters);
- void ClearFilterListWithMoniker(CListBox& ListFilters);
-
- // Listbox manipulation functions
- void AddEventToList(CListBox& ListEvents, long lEventCode);
- void AddFilterCategoriesToList(CListBox& ListFilters);
-
- // Debug output
- void RetailOutput(TCHAR *tszErr, ...);
-
- BOOL GetFileInfoStrings(LPTSTR szFile, TCHAR *szSize, TCHAR *szDate);
-