|
|
#include "pch.h"
#pragma hdrstop
#include "exetst.h"
#include "evtapi.h"
#include "oleauto.h"
/*
HRESULT HrComposeEventBody(DWORD cVars, LPWSTR *rgszNames, LPWSTR *rgszTypes, VARIANT *rgvarValues, LPWSTR *pszBody); */
DWORD WINAPI SubmitWorker(LPVOID pvContext) { if (PtrToUlong(pvContext) == 1) { HrSubmitEvent(L"EID 1", L"test body"); HrSubmitEvent(L"EID 1", L"test body"); HrSubmitEvent(L"EID 1", L"test body"); HrSubmitEvent(L"EID 1", L"test body"); HrSubmitEvent(L"EID 1", L"test body"); } else { HrSubmitEvent(L"EID 2", L"test body"); HrSubmitEvent(L"EID 2", L"test body"); HrSubmitEvent(L"EID 2", L"test body"); HrSubmitEvent(L"EID 2", L"test body"); HrSubmitEvent(L"EID 2", L"test body"); HrSubmitEvent(L"EID 2", L"test body"); }
return 0; }
VOID WINAPI Test() { LPWSTR szSid; LPWSTR szSid2 = L"foo";
HRESULT hr;
(VOID)HrInitEventApi(); CoInitialize(NULL);
hr = HrRegisterEventSource(L"EID 1"); hr = HrRegisterEventSource(L"EID 2"); hr = HrRegisterEventSource(L"Testing 3"); hr = HrRegisterEventSource(L"Testing 4");
//LPWSTR szBody;
LPWSTR rgszNames[] = { L"PropertyName1", L"PropertyName2" };
LPWSTR rgszTypes[] = { L"string", L"string" };
VARIANT rgvarValues[2];
VariantInit(&rgvarValues[0]); VariantInit(&rgvarValues[1]);
V_VT(&rgvarValues[0]) = VT_I4; V_VT(&rgvarValues[1]) = VT_I4;
V_I4(&rgvarValues[0]) = 100; V_I4(&rgvarValues[1]) = 200;
//hr = HrComposeEventBody(2, rgszNames, rgszTypes, rgvarValues, &szBody);
DWORD csecTimeout;
LPCWSTR c_rgszCallback1[] = {L"http://danielwew/upnp/foo1"}; LPCWSTR c_rgszCallback2[] = {L"http://danielwew/upnp/foo2"}; LPCWSTR c_rgszCallback3[] = {L"http://danielwew/upnp/foo3"}; LPCWSTR c_rgszCallback4[] = {L"http://danielwew/upnp/foo4"}; LPCWSTR c_rgszCallback5[] = {L"http://danielwew/upnp/foo5"}; LPCWSTR c_rgszCallback6[] = {L"http://danielwew/upnp/foo6"}; LPCWSTR c_rgszCallback7[] = {L"http://danielwew/upnp/foo7"}; LPCWSTR c_rgszCallback8[] = {L"http://danielwew/upnp/foo8"}; LPCWSTR c_rgszCallback9[] = {L"http://danielwew/upnp/foo9"};
csecTimeout = 10; hr = HrAddSubscriber(L"EID 1", 0, 1, c_rgszCallback1, L"test event zero body", &csecTimeout, &szSid); csecTimeout = 20; hr = HrAddSubscriber(L"EID 1", 0, 1, c_rgszCallback2, L"test event zero body", &csecTimeout, &szSid2); csecTimeout = 30; hr = HrAddSubscriber(L"EID 1", 0, 1, c_rgszCallback3, L"test event zero body", &csecTimeout, &szSid); csecTimeout = 40; hr = HrAddSubscriber(L"EID 2", 0, 1, c_rgszCallback4, L"test event zero body", &csecTimeout, &szSid); csecTimeout = 5; hr = HrAddSubscriber(L"EID 2", 0, 1, c_rgszCallback5, L"test event zero body", &csecTimeout, &szSid); csecTimeout = 50; hr = HrAddSubscriber(L"EID 2", 0, 1, c_rgszCallback6, L"test event zero body", &csecTimeout, &szSid); csecTimeout = 60; hr = HrAddSubscriber(L"EID 1", 0, 1, c_rgszCallback7, L"test event zero body", &csecTimeout, &szSid); csecTimeout = 70; hr = HrAddSubscriber(L"EID 1", 0, 1, c_rgszCallback8, L"test event zero body", &csecTimeout, &szSid); csecTimeout = 80; hr = HrAddSubscriber(L"EID 2", 0, 1, c_rgszCallback9, L"test event zero body", &csecTimeout, &szSid);
hr = HrDeregisterEventSource(L"bTesting 4"); hr = HrDeregisterEventSource(L"Testing 3"); hr = HrDeregisterEventSource(L"Testing 2");
//Sleep(20000);
csecTimeout = 100; hr = HrRenewSubscriber(L"EID 1", &csecTimeout, szSid); hr = HrRenewSubscriber(L"EID 1", &csecTimeout, szSid2);
QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)1, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION); QueueUserWorkItem(SubmitWorker, (LPVOID)2, WT_EXECUTELONGFUNCTION);
/* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)1); */ /* SubmitWorker((LPVOID)2); */ /* SubmitWorker((LPVOID)2); */
hr = HrRemoveSubscriber(L"EID 1", szSid2); hr = HrRemoveSubscriber(L"EID 1", szSid);
hr = HrRemoveSubscriber(L"EID 2", szSid);
OutputDebugString(L"Sleeping...\n"); Sleep(20000);
hr = HrDeregisterEventSource(L"EID 1"); hr = HrDeregisterEventSource(L"EID 2");
DeInitEventApi(); CoUninitialize();
Sleep(2000);
OutputDebugString(L"Exiting...\n"); }
|