Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

67 lines
1.4 KiB

class CMIMEBitMatcher
{
public:
CMIMEBitMatcher(); // Default constructor
~CMIMEBitMatcher(); // Destructor
HRESULT InitFromBinary( const BYTE* pData, ULONG nBytes,
ULONG* pnBytesToMatch );
HRESULT Match( const BYTE* pBytes, ULONG nBytes ) const;
protected:
char m_achSignature[4];
public:
CMIMEBitMatcher* m_pNext;
protected:
ULONG m_nOffset;
ULONG m_nBytes;
BYTE* m_pMask;
BYTE* m_pData;
};
class CMIMEType
{
public:
CMIMEType(); // Default constructor
~CMIMEType(); // Destructor
UINT GetClipboardFormat() const;
HRESULT InitFromKey( HKEY hKey, LPCTSTR pszName, ULONG* pnMaxBytes );
HRESULT Match( const BYTE* pBytes, ULONG nBytes ) const;
protected:
char m_achSignature[4];
public:
CMIMEType* m_pNext;
protected:
UINT m_nClipboardFormat;
CMIMEBitMatcher* m_lpBitMatchers;
ULONG m_nMaxBytes;
};
class CMIMEIdentifier
{
public:
CMIMEIdentifier(); // Default constructor
~CMIMEIdentifier(); // Destructor
ULONG GetMaxBytes() const;
HRESULT Identify( const BYTE* pbBytes, ULONG nBytes, UINT* pnFormat );
HRESULT IdentifyStream( ISniffStream* pSniffStream,
UINT* pnClipboardFormat );
HRESULT InitFromRegistry();
protected:
char m_achSignature[4];
protected:
ULONG m_nMaxBytes;
CMIMEType* m_lpTypes;
};
void InitMIMEIdentifier();
void CleanupMIMEIdentifier();