Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void RunMessageLoop() throw()
- {
- MSG msg;
- while (GetMessage(&msg, 0, 0, 0) > 0)
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- }
- class ATL_NO_VTABLE CICEConnect :
- public CComObjectRootEx<CComMultiThreadModel>,
- public CComCoClass<CICEConnect, &CLSID_ICEConnect>,
- public IDispatchImpl<IICEConnect, &IID_IICEConnect, &LIBID_ICEConnectServerLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
- {
- public:
- CICEConnect()
- {
- }
- DECLARE_CLASSFACTORY_SINGLETON(CICEConnect)
- DECLARE_REGISTRY_RESOURCEID(IDR_ICECONNECT)
- BEGIN_COM_MAP(CICEConnect)
- COM_INTERFACE_ENTRY(IICEConnect)
- COM_INTERFACE_ENTRY(IDispatch)
- END_COM_MAP()
- };
- struct _ATL_OBJMAP_ENTRY30
- {
- HRESULT WINAPI RegisterClassObject(
- _In_ DWORD dwClsContext,
- _In_ DWORD dwFlags)
- {
- IUnknown* p = NULL;
- if (pfnGetClassObject == NULL)
- return S_OK;
- HRESULT hRes = pfnGetClassObject(pfnCreateInstance, __uuidof(IUnknown), (LPVOID*) &p);
- if (SUCCEEDED(hRes))
- hRes = CoRegisterClassObject(*pclsid, p, dwClsContext, dwFlags, &dwRegister);
- if (p != NULL)
- p->Release();
- return hRes;
- }
- // Added in ATL 3.0
- void (WINAPI *pfnObjectMain)(_In_ bool bStarting);
- };
- int _tmain(int argc, _TCHAR* argv[])
- {
- CoInitializeEx(NULL,COINIT_MULTITHREADED);
- COSERVERINFO server;
- memset(&server,0,sizeof(COSERVERINFO));
- COAUTHINFO athn;
- ZeroMemory(&athn, sizeof(COAUTHINFO));
- athn.dwAuthnLevel = RPC_C_AUTHN_LEVEL_NONE;
- athn.dwAuthnSvc = RPC_C_AUTHN_WINNT;
- athn.dwAuthzSvc = RPC_C_AUTHZ_NONE;
- athn.dwCapabilities = EOAC_NONE;
- athn.dwImpersonationLevel = RPC_C_IMP_LEVEL_IMPERSONATE;
- athn.pAuthIdentityData = NULL;
- athn.pwszServerPrincName = NULL;
- server.pAuthInfo = &athn;
- server.pwszName = L"\\localhost";
- server.dwReserved1 = 0;
- server.dwReserved2 = 0;
- MULTI_QI mqi = {&IID_IICEConnect, NULL, S_OK};
- // Access the PMC on the given machine
- HRESULT hRes = CoCreateInstanceEx(CLSID_ICEConnect,NULL,
- CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER,&server,1,&mqi);
- return 0;
- }
Add Comment
Please, Sign In to add comment