/*++ Copyright (c) 1996 Microsoft Corporation Module Name: refb.hxx Abstract: Reference counting blob class Author: Philippe Choquier (phillich) 11-sep-1996 --*/ #if !defined(_REFB_INCLUDE) #define _REFB_INCLUDE # if !defined( dllexp) # define dllexp __declspec( dllexport) # endif // !defined( dllexp) typedef VOID (WINAPI * PFN_FREE_BLOB) ( LPVOID ); class RefBlob { public: dllexp RefBlob(); dllexp ~RefBlob(); dllexp BOOL Init( LPVOID pv, DWORD sz, PFN_FREE_BLOB pFn = NULL ); dllexp VOID AddRef(); dllexp VOID Release(); dllexp LPVOID QueryPtr(); dllexp DWORD QuerySize(); dllexp LONG* QueryRefCount() { return &m_lRef; } private: LPVOID m_pvBlob; DWORD m_dwSize; LONG m_lRef; PFN_FREE_BLOB m_pfnFree; } ; #endif