00001 /* 00002 Free Download Manager Copyright (c) 2003-2007 FreeDownloadManager.ORG 00003 Open Download Manager Copyright (c) 2008-2010 OpenDownloadManager.ORG 00004 */ 00005 00006 #if !defined(AFX_FSDSHOWFILTERDETECTOR_H__7B357AEC_A90F_4E5D_B217_875875A49469__INCLUDED_) 00007 #define AFX_FSDSHOWFILTERDETECTOR_H__7B357AEC_A90F_4E5D_B217_875875A49469__INCLUDED_ 00008 00009 #if _MSC_VER > 1000 00010 #pragma once 00011 #endif 00012 00013 #include <dshow.h> 00014 #include <limits.h> 00015 00016 class fsDShowFilterDetector 00017 { 00018 public: 00019 00020 const AM_MEDIA_TYPE* Get_MediaType(); 00021 00022 00023 const AM_MEDIA_TYPE* DetectMediaType (HANDLE hFile, UINT64 uFileOkLen = _UI64_MAX); 00024 00025 fsDShowFilterDetector(); 00026 virtual ~fsDShowFilterDetector(); 00027 00028 protected: 00029 UINT64 m_uFileOkLen; 00030 00031 00032 BOOL IsFilterMeets (HANDLE hFile, LPCSTR pszOffset, LPCSTR pszCb, LPCSTR pszMask, LPCSTR pszVal); 00033 BOOL IsFilterMeets (HANDLE hFile, LPCSTR pszCheckBytes); 00034 BOOL IsFilterMeets (HANDLE hFile, HKEY hkFilter); 00035 const AM_MEDIA_TYPE* DetectMediaType (HANDLE hFile, HKEY hkFiltrs); 00036 AM_MEDIA_TYPE m_mt; 00037 }; 00038 00039 #endif
1.5.6