windows-nt/Source/XPSP1/NT/sdktools/pdh/pdhpla/plogman.h
2020-09-26 16:20:57 +08:00

161 lines
2.9 KiB
C

/*****************************************************************************\
Copyright (c) Microsoft Corporation. All rights reserved.
\*****************************************************************************/
#ifndef _PLOGMAN_H_04262000_
#define _PLOGMAN_H_04262000_
#include "pdhidef.h"
#define _SECOND ((ULONGLONG) 10000000)
#define _MINUTE (60 * _SECOND)
#define _HOUR (60 * _MINUTE)
#define _DAY (24 * _HOUR)
#define VALIDATE_QUERY( x ) if( NULL == x ){ return PDH_INVALID_ARGUMENT; }
#define PLA_ACCOUNT_BUFFER 256
extern LPCWSTR szCollection;
#define READ_REG_MUI 0x000000001
#define CHECK_STATUS( s ) if( ERROR_SUCCESS != s ){ goto cleanup; }
#define FILE_TICS_PER_DAY ((LONGLONG)((LONGLONG)10000 * (LONGLONG)1000 * (LONGLONG)86400))
#define PLA_ENGLISH (PRIMARYLANGID(GetUserDefaultUILanguage())==LANG_ENGLISH)
#define BYTE_SIZE( s ) (s ? ((DWORD)((BYTE*)&s[wcslen(s)]-(BYTE*)&s[0])) : 0)
#define SEVERITY( s ) ((ULONG)s >> 30)
// Registry
PDH_FUNCTION
PlaiReadRegistryPlaTime (
HKEY hKey,
LPCWSTR cwszValueName,
PPLA_TIME_INFO pstiData
);
PDH_FUNCTION
PlaiWriteRegistryPlaTime (
HKEY hKey,
LPCWSTR cwszValueName,
PPLA_TIME_INFO pstiData
);
PDH_FUNCTION
PlaiReadRegistryDwordValue (
HKEY hKey,
LPCWSTR cwszValueName,
LPDWORD pdwValue
);
PDH_FUNCTION
PlaiWriteRegistryDwordValue (
HKEY hKey,
LPCWSTR cwszValueName,
LPDWORD pdwValue
);
PDH_FUNCTION
PlaiReadRegistryStringValue(
HKEY hKey,
LPCWSTR strKey,
DWORD dwFlags,
LPWSTR* pszBuffer,
DWORD* dwBufLen
);
PDH_FUNCTION
PlaiWriteRegistryStringValue (
HKEY hKey,
LPCWSTR cwszValueName,
DWORD dwType,
LPCWSTR pszBuffer,
DWORD dwBufLen
);
PDH_FUNCTION
PlaiWriteRegistryLastModified(
HKEY hkeyQuery
);
DWORD
PlaiCreateQuery(
HKEY hkeyMachine,
HKEY& rhkeyLogQueries
);
PDH_FUNCTION
PlaiConnectToRegistry(
LPCWSTR szComputerName,
HKEY& rhkeyLogQueries,
BOOL bQueries,
BOOL bWrite = TRUE
);
PDH_FUNCTION
PlaiConnectAndLockQuery (
LPCWSTR szComputerName,
LPCWSTR szQueryName,
HKEY& rhkeyQuery,
BOOL bWrite = TRUE
);
// Wbem Functions
PDH_FUNCTION
PdhPlaWbemSetRunAs(
LPWSTR strName,
LPWSTR strComputer,
LPWSTR strUser,
LPWSTR strPassword
);
// Internal
PDH_FUNCTION
PlaiErrorToPdhStatus(
DWORD dwStatus
);
PDH_FUNCTION
PlaiSetItemList(
HKEY hkeyQuery,
PPDH_PLA_ITEM_W pItems
);
PDH_FUNCTION
PlaiSetRunAs(
HKEY hkeyQuery,
LPWSTR strUser,
LPWSTR strPassword
);
PDH_FUNCTION
PlaiRemoveRepeat(
HKEY hkeyQuery
);
PDH_FUNCTION
PlaiSetInfo(
LPWSTR strComputer,
HKEY hkeyQuery,
PPDH_PLA_INFO_W pInfo
);
PDH_FUNCTION
PlaiScanForInvalidChar(
LPWSTR strScan
);
PDH_FUNCTION
PlaiAddItem(
HKEY hkeyQuery,
PPDH_PLA_ITEM_W pItem
);
#endif //_PLOGMAN_H_04262000_