Guest User

Untitled

a guest
Jan 20th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.63 KB | None | 0 0
  1. void RunMessageLoop() throw()
  2. {
  3. MSG msg;
  4. while (GetMessage(&msg, 0, 0, 0) > 0)
  5. {
  6. TranslateMessage(&msg);
  7. DispatchMessage(&msg);
  8. }
  9. }
  10.  
  11. class ATL_NO_VTABLE CICEConnect :
  12. public CComObjectRootEx<CComMultiThreadModel>,
  13. public CComCoClass<CICEConnect, &CLSID_ICEConnect>,
  14. public IDispatchImpl<IICEConnect, &IID_IICEConnect, &LIBID_ICEConnectServerLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
  15. {
  16. public:
  17. CICEConnect()
  18. {
  19. }
  20. DECLARE_CLASSFACTORY_SINGLETON(CICEConnect)
  21. DECLARE_REGISTRY_RESOURCEID(IDR_ICECONNECT)
  22.  
  23.  
  24. BEGIN_COM_MAP(CICEConnect)
  25. COM_INTERFACE_ENTRY(IICEConnect)
  26. COM_INTERFACE_ENTRY(IDispatch)
  27. END_COM_MAP()
  28.  
  29. };
  30.  
  31. struct _ATL_OBJMAP_ENTRY30
  32. {
  33. HRESULT WINAPI RegisterClassObject(
  34. _In_ DWORD dwClsContext,
  35. _In_ DWORD dwFlags)
  36. {
  37. IUnknown* p = NULL;
  38. if (pfnGetClassObject == NULL)
  39. return S_OK;
  40. HRESULT hRes = pfnGetClassObject(pfnCreateInstance, __uuidof(IUnknown), (LPVOID*) &p);
  41. if (SUCCEEDED(hRes))
  42. hRes = CoRegisterClassObject(*pclsid, p, dwClsContext, dwFlags, &dwRegister);
  43. if (p != NULL)
  44. p->Release();
  45. return hRes;
  46. }
  47. // Added in ATL 3.0
  48. void (WINAPI *pfnObjectMain)(_In_ bool bStarting);
  49. };
  50.  
  51. int _tmain(int argc, _TCHAR* argv[])
  52. {
  53. CoInitializeEx(NULL,COINIT_MULTITHREADED);
  54.  
  55. COSERVERINFO server;
  56. memset(&server,0,sizeof(COSERVERINFO));
  57. COAUTHINFO athn;
  58. ZeroMemory(&athn, sizeof(COAUTHINFO));
  59. athn.dwAuthnLevel = RPC_C_AUTHN_LEVEL_NONE;
  60. athn.dwAuthnSvc = RPC_C_AUTHN_WINNT;
  61. athn.dwAuthzSvc = RPC_C_AUTHZ_NONE;
  62. athn.dwCapabilities = EOAC_NONE;
  63. athn.dwImpersonationLevel = RPC_C_IMP_LEVEL_IMPERSONATE;
  64. athn.pAuthIdentityData = NULL;
  65. athn.pwszServerPrincName = NULL;
  66. server.pAuthInfo = &athn;
  67. server.pwszName = L"\\localhost";
  68. server.dwReserved1 = 0;
  69. server.dwReserved2 = 0;
  70. MULTI_QI mqi = {&IID_IICEConnect, NULL, S_OK};
  71.  
  72. // Access the PMC on the given machine
  73. HRESULT hRes = CoCreateInstanceEx(CLSID_ICEConnect,NULL,
  74. CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER,&server,1,&mqi);
  75. return 0;
  76. }
Add Comment
Please, Sign In to add comment