Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#pragma once
#ifndef _EVTAPI_H
#define _EVTAPI_H
struct UPNP_EVENT_SOURCE;
struct UPNP_EVENT { LPWSTR szBody; // Body of event NOTIFY message
UPNP_EVENT * pevtNext; // Next in list
};
struct UPNP_WAIT_PARAMS { LPWSTR szEsid; // Event source identifier
LPWSTR szSid; // Subscription Identifier
};
struct UPNP_RENEWAL { LPWSTR szEsid; // Event source identifier
LPWSTR szSid; // Subscription Identifier
DWORD iRenewal; // renewal index
};
struct UPNP_SUBSCRIBER { UPNP_EVENT_SOURCE * pes; // Pointer to event source [valid
// only when subscriber is in list]
LPWSTR * rgszUrl; // Callback URL list
DWORD cszUrl; // Number of URLs in the list
DWORD csecTimeout; // Timeout period
FILETIME ftTimeout; // Timeout period in FILETIME
DWORD iSeq; // Event sequence number
LPWSTR szSid; // Subscription Identifier
DWORD cRenewals; // # of renewals received
DWORD dwIpAddr; // IP address of subscriber's host
HANDLE hEventQ; // Event signaled when Q full
UPNP_EVENT * pevtQueue; // Event queue
UPNP_EVENT * pevtQueueTail; // Event queue tail
HANDLE hWait; // Handle of registered wait
HANDLE hTimer; // TimerQueue timer handle
UPNP_WAIT_PARAMS uwp; // Params for the registered wait
UPNP_RENEWAL ur; // Subscription renewal params
UPNP_SUBSCRIBER * psubNext; // Next in list
};
const DWORD c_cuwlAlloc = 5; // Number of items to alloc in one chunk
struct UPNP_EVENT_SOURCE { LPWSTR szEsid; // Event source identifier
UPNP_SUBSCRIBER * psubList; // List of subscribers
UPNP_EVENT_SOURCE * pesNext; // Next in list
};
HRESULT HrInitEventApi(VOID); HRESULT HrInitInternetSession(VOID); VOID DeInitEventApi(VOID);
HRESULT HrRegisterEventSource(LPCWSTR szEsid);
HRESULT HrDeregisterEventSource(LPCWSTR szEsid);
HRESULT HrSubmitEvent(LPCWSTR szEsid, LPCWSTR szEventBody);
HRESULT HrSubmitEventZero(LPCWSTR szEsid, LPCWSTR szSid, LPCWSTR szEventBody);
UPNP_EVENT_SOURCE *PesFindEventSource(LPCWSTR szEsid); UPNP_SUBSCRIBER *PsubFindSubscriber(UPNP_EVENT_SOURCE *pes, LPCWSTR szSid); VOID WINAPI EventQueueWorker(LPVOID pvContext, BOOL fTimeOut); VOID AppendToEventQueue(UPNP_SUBSCRIBER * psub, UPNP_EVENT * pevt); HRESULT HrComposeUpnpNotifyHeaders(DWORD iSeq, LPCTSTR szSid, LPWSTR *pszHeaders); //HRESULT HrComposeXmlBodyFromEventSource(EVENT_VARIABLE *rgevVars, DWORD cVars,
// LPWSTR *pszOut);
HRESULT HrSubmitNotifyToSubscriber(LPCWSTR szHeaders, LPCWSTR szBody, LPCWSTR szUrl);
VOID DbgDumpListEventSource(VOID);
HRESULT HrAddSubscriber( LPCWSTR szEsid, DWORD dwIpAddr, DWORD cszUrl, LPCWSTR * rgszCallbackUrl, LPCWSTR szEventBody, DWORD * pcsecTimeout, LPWSTR * pszSid);
HRESULT HrRenewSubscriber( LPCWSTR szEsid, DWORD * pcsecTimeout, LPCWSTR szSid);
HRESULT HrRemoveSubscriber( LPCWSTR szEsid, LPCWSTR szSid);
#endif //!_EVTAPI_H
|