Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Windows.h>
- #include <tchar.h>
- class TestInterfaceImplementation : public IUnknown, public IClassFactory{
- public:
- /* begin implement IUnknown */
- ULONG STDMETHODCALLTYPE AddRef()
- {
- MessageBox(NULL,
- _T("TEST1"),
- _T("TEST1"),
- NULL);
- return 0;
- }
- HRESULT STDMETHODCALLTYPE QueryInterface(IN REFIID riid, OUT void **ppvObject)
- {
- MessageBox(NULL,
- _T("TEST2"),
- _T("TEST2"),
- NULL);
- return S_OK;
- }
- ULONG STDMETHODCALLTYPE Release() {
- MessageBox(NULL,
- _T("TEST3"),
- _T("TEST3"),
- NULL);
- return 0;
- }
- /* end implement IUnknown */
- /* begin implement IClassFactory */
- HRESULT STDMETHODCALLTYPE CreateInstance(IN IUnknown *pUnkOuter, IN REFIID riid, OUT void **ppvObject)
- {
- MessageBox(NULL,
- _T("TEST4"),
- _T("TEST4"),
- NULL);
- return S_OK;
- }
- HRESULT STDMETHODCALLTYPE LockServer(IN BOOL fLock)
- {
- MessageBox(NULL,
- _T("TEST5"),
- _T("TEST5"),
- NULL);
- return S_OK;
- }
- /* end implement IClassFactory */
- };
- HRESULT __stdcall DllGetClassObject(IN REFCLSID rclsid, IN REFIID riid, OUT LPVOID *ppv) {
- HRESULT hr = E_OUTOFMEMORY;
- *ppv = NULL;
- TestInterfaceImplementation *tii = new TestInterfaceImplementation(rclsid);
- if (tii != NULL) {
- hr = tii->QueryInterface(riid, ppv);
- tii->Release();
- }
- return S_OK;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement