| 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;}
 |