|
|
//+--------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1998
//
// File: ScrptLog.h
//
// Contents:
//
// History: 9-Aug-99 NishadM Created
//
//---------------------------------------------------------------------------
#ifndef _SCRPTLOG_H_
#define _SCRPTLOG_H_
#include <wbemcli.h>
#ifdef __cplusplus
extern "C" { #endif
//
// handle
//
typedef void* RSOPScriptList;
//
// script type strings
//
#define LOGON_VALUE L"Logon"
#define LOGOFF_VALUE L"Logoff"
#define STARTUP_VALUE L"Startup"
#define SHUTDOWN_VALUE L"Shutdown"
#define LOGON_SOM_VALUE L"Logon-SOMIDs"
#define LOGOFF_SOM_VALUE L"Logoff-SOMIDs"
#define STARTUP_SOM_VALUE L"Startup-SOMIDs"
#define SHUTDOWN_SOM_VALUE L"Shutdown-SOMIDs"
#define LOGON_NS_VALUE L"User-RSoP-NS"
#define LOGOFF_NS_VALUE L"User-RSoP-NS"
#define STARTUP_NS_VALUE L"Mach-RSoP-NS"
#define SHUTDOWN_NS_VALUE L"Mach-RSoP-NS"
#define LOGON_RSOP_LOGGING_VALUE L"Logon-RSoP-Logging"
#define LOGOFF_RSOP_LOGGING_VALUE L"Logoff-RSoP-Logging"
#define STARTUP_RSOP_LOGGING_VALUE L"Startup-RSoP-Logging"
#define SHUTDOWN_RSOP_LOGGING_VALUE L"Shutdown-RSoP-Logging"
//
// Script List creation APIs
//
RSOPScriptList CreateScriptListOfStr( LPCWSTR szScriptType );
//
// Script list destructor API
//
void DestroyScriptList( RSOPScriptList pList );
//
// Script list building API
//
BOOL AddScript( RSOPScriptList pList, LPCWSTR szCommand, LPCWSTR szParams, SYSTEMTIME* execTime );
//
// Misc. APIs
//
HRESULT LogScriptsRsopData( RSOPScriptList pScriptList, IWbemServices* pWbemServices, LPCWSTR wszGPOID, LPCWSTR wszSOMID, LPCWSTR wszRSOPGPOID, DWORD cOrder );
HRESULT DeleteScriptsRsopData( RSOPScriptList pScriptList, IWbemServices* pWbemServices );
HRESULT UpdateScriptsRsopData( RSOPScriptList pScriptList, IWbemServices* pWbemServices, LPCWSTR wszGPOID, LPCWSTR wszSOMID );
LPWSTR GPOIDFromPath( LPCWSTR wszPath );
LPWSTR GetNamespace( IWbemServices* pWbemServices );
//
// delay load
//
#define RSOP_SCRIPT_LOG_DLL L"gptext.dll"
typedef RSOPScriptList (*PFNCREATESCRIPTLISTOFSTR)( LPCWSTR ); typedef void (*PFNDESTROYSCRIPTLIST)( RSOPScriptList ); typedef BOOL (*PFNADDSCRIPT)( RSOPScriptList, LPCWSTR, LPCWSTR ); typedef BOOL (*PFNRSOPLOGGINGENABLED)(); typedef HRESULT (*PFNLOGSCRIPTSRSOPDATA)( RSOPScriptList, IWbemServices*, LPCWSTR, LPCWSTR, LPCWSTR, DWORD ); typedef HRESULT (*PFNDELETESCRIPTSRSOPDATA)(RSOPScriptList, IWbemServices*); typedef HRESULT (*PFNUPDATESCRIPTSRSOPDATA)( RSOPScriptList, IWbemServices*, LPCWSTR, LPCWSTR ); typedef LPWSTR (*PFNGPOIDFROMPATH)( LPCWSTR ); typedef LPWSTR (*PFNGETNAMESPACE)( IWbemServices* );
typedef struct _SCRPTLOG_API { HINSTANCE hInstance; PFNCREATESCRIPTLISTOFSTR pfnCreateScriptListOfStr; PFNDESTROYSCRIPTLIST pfnDestroyScriptList; PFNADDSCRIPT pfnAddScript; PFNLOGSCRIPTSRSOPDATA pfnLogScriptsRsopData; PFNDELETESCRIPTSRSOPDATA pfnDeleteScriptsRsopData; PFNUPDATESCRIPTSRSOPDATA pfnUpdateScriptsRsopData; PFNGPOIDFROMPATH pfnGPOIDFromPath; PFNGETNAMESPACE pfnGetNamespace; } SCRPTLOG_API, *PSCRPTLOG_API;
//
// API names
//
#define DESTROYSCRIPTLIST "DestroyScriptList"
#define DELETESCRIPTSRSOPDATA "DeleteScriptsRsopData"
#define CREATESCRIPTLISTOFSTR "CreateScriptListOfStr"
#define ADDSCRIPT "AddScript"
#define LOGSCRIPTSRSOPDATA "LogScriptsRsopData"
#define UPDATESCRIPTSRSOPDATA "UpdateScriptsRsopData"
#define GPOIDFROMPATH "GPOIDFromPath"
#define GETNAMESPACE "GetNamespace"
#ifdef __cplusplus
} #endif
#endif // _SCRPTLOG_H_
|