|
|
//***************************************************************************
//
// Copyright � Microsoft Corporation. All rights reserved.
//
// NCEvent.h
//
//***************************************************************************
#ifndef _NCEVENT_H
#define _NCEVENT_H
#ifdef ISP2PDLL
//#define WMIAPI __declspec(dllexport) WINAPI
#define WMIAPI WINAPI
#else
#define WMIAPI __declspec(dllimport) WINAPI
#endif
#ifdef __cplusplus
extern "C" { #endif
typedef enum _tagEVENT_SOURCE_MSG { ESM_START_SENDING_EVENTS, ESM_STOP_SENDING_EVENTS, ESM_NEW_QUERY, ESM_CANCEL_QUERY, ESM_ACCESS_CHECK, } EVENT_SOURCE_MSG;
typedef HRESULT (WINAPI *LPEVENT_SOURCE_CALLBACK)(HANDLE, EVENT_SOURCE_MSG, LPVOID, LPVOID); typedef struct _tagES_ACCESS_CHECK { LPCWSTR szQueryLanguage; LPCWSTR szQuery; DWORD dwSidLen; LPBYTE pSid; } ES_ACCESS_CHECK;
typedef struct _tagES_NEW_QUERY { DWORD dwID; LPCWSTR szQueryLanguage; LPCWSTR szQuery; } ES_NEW_QUERY;
typedef struct _tagES_CANCEL_QUERY { DWORD dwID; } ES_CANCEL_QUERY;
typedef long CIMTYPE;
// Flags for all Create functions
#define WMI_CREATEOBJ_LOCKABLE 1
// Flags for WmiSetAndCommit
#define WMI_SENDCOMMIT_SET_NOT_REQUIRED 1
#define WMI_USE_VA_LIST 2
#ifndef __WbemClient_v1_LIBRARY_DEFINED__
typedef /* [v1_enum] */ enum tag_CIMTYPE_ENUMERATION { CIM_ILLEGAL = 0xfff, CIM_EMPTY = 0, CIM_SINT8 = 16, CIM_UINT8 = 17, CIM_SINT16 = 2, CIM_UINT16 = 18, CIM_SINT32 = 3, CIM_UINT32 = 19, CIM_SINT64 = 20, CIM_UINT64 = 21, CIM_REAL32 = 4, CIM_REAL64 = 5, CIM_BOOLEAN = 11, CIM_STRING = 8, CIM_DATETIME = 101, CIM_REFERENCE = 102, CIM_CHAR16 = 103, CIM_OBJECT = 13, CIM_IUNKNOWN = 104, CIM_FLAG_ARRAY = 0x2000 } CIMTYPE_ENUMERATION; #endif
// Register to send events
HANDLE WMIAPI WmiEventSourceConnect( LPCWSTR szNamespace, LPCWSTR szProviderName, BOOL bBatchSend, DWORD dwBatchBufferSize, DWORD dwMaxSendLatency, LPVOID pUserData, LPEVENT_SOURCE_CALLBACK pCallback);
void WMIAPI WmiEventSourceDisconnect( HANDLE hSource);
BOOL WMIAPI WmiIsObjectActive(HANDLE hObject);
BOOL WMIAPI WmiDestroyObject( HANDLE hObject);
HANDLE WMIAPI WmiCreateObjectWithFormat( HANDLE hSource, LPCWSTR szEventName, DWORD dwFlags, LPCWSTR szFormat);
BOOL WMIAPI WmiSetAndCommitObject( HANDLE hObject, DWORD dwFlags, ...);
HANDLE WMIAPI WmiCreateObject( HANDLE hSource, LPCWSTR szClassName, DWORD dwFlags);
BOOL WMIAPI WmiAddObjectProp( HANDLE hObject, LPCWSTR szPropertyName, CIMTYPE type, DWORD *pdwPropIndex);
HANDLE WMIAPI WmiCreateObjectWithProps( HANDLE hSource, LPCWSTR szEventName, DWORD dwFlags, DWORD nPropertyCount, LPCWSTR *pszPropertyNames, CIMTYPE *pPropertyTypes);
#ifdef __cplusplus
} #endif
#endif
|