12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #include "main.h"
- #include "./browserWndRecord.h"
- OmBrowserWndRecord::OmBrowserWndRecord(HWND hwnd, const GUID *type)
- : ref(1)
- {
- this->hwnd = hwnd;
- this->type = (NULL != type) ? *type : GUID_NULL;
- }
- OmBrowserWndRecord::~OmBrowserWndRecord()
- {
- }
- HRESULT OmBrowserWndRecord::CreateInstance(HWND hwnd, const GUID *type, OmBrowserWndRecord **instance)
- {
- if (NULL == instance) return E_POINTER;
- if (NULL == hwnd)
- {
- *instance = NULL;
- return E_INVALIDARG;
- }
- *instance = new OmBrowserWndRecord(hwnd, type);
- if (NULL == *instance) return E_OUTOFMEMORY;
- return S_OK;
- }
- ULONG OmBrowserWndRecord::AddRef()
- {
- return InterlockedIncrement((LONG*)&ref);
- }
- ULONG OmBrowserWndRecord::Release()
- {
- if (0 == ref)
- return ref;
-
- LONG r = InterlockedDecrement((LONG*)&ref);
- if (0 == r)
- delete(this);
-
- return r;
- }
- HWND OmBrowserWndRecord::GetHwnd()
- {
- return hwnd;
- }
- HRESULT OmBrowserWndRecord::GetType(GUID *windowType)
- {
- if (NULL == windowType) return E_POINTER;
- *windowType = type;
- return S_OK;
- }
- HRESULT OmBrowserWndRecord::IsEqualType(const GUID *windowType)
- {
- if (NULL == windowType)
- {
- return (FALSE != IsEqualGUID(GUID_NULL, type)) ? S_OK : S_FALSE;
- }
- return (FALSE != IsEqualGUID(*windowType, type)) ? S_OK : S_FALSE;
- }
|