Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Stos.h"
- HRESULT STDMETHODCALLTYPE Stos::QueryInterface(REFIID iid, void **ptr) {
- if (ptr == NULL) return E_POINTER;
- *ptr = NULL;
- if (iid == IID_IUnknown) *ptr = this;
- else if (iid == IID_IStos) *ptr = this;
- if (*ptr != NULL) { AddRef(); return S_OK; };
- return E_NOINTERFACE;
- };
- ULONG STDMETHODCALLTYPE Stos::AddRef() {
- InterlockedIncrement(&m_ref);
- return m_ref;
- };
- ULONG STDMETHODCALLTYPE Stos::Release() {
- ULONG rv = InterlockedDecrement(&m_ref);
- if (rv == 0) delete this;
- return rv;
- };
- extern volatile ULONG usageCount;
- HRESULT Stos::Push(int val)
- {
- return S_OK;
- }
- HRESULT Stos::Pop(int* val)
- {
- *val = 105;
- return S_OK;
- }
- HRESULT Stos::Top(int* val)
- {
- *val = 105;
- return S_OK;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement