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.
140 lines
3.7 KiB
140 lines
3.7 KiB
//+-------------------------------------------------------------------------
|
|
// Microsoft Windows
|
|
//
|
|
// Copyright (C) Microsoft Corporation, 1999 - 1999
|
|
//
|
|
// File: logstor.h
|
|
//
|
|
// Contents: Public functions in logstor.cpp
|
|
//
|
|
// History: 15-Sep-00 philh created
|
|
//--------------------------------------------------------------------------
|
|
|
|
#ifndef __LOGSTOR_H__
|
|
#define __LOGSTOR_H__
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Register wait for callback functions
|
|
//--------------------------------------------------------------------------
|
|
typedef VOID (NTAPI * ILS_WAITORTIMERCALLBACK) (PVOID, BOOLEAN );
|
|
|
|
BOOL
|
|
WINAPI
|
|
ILS_RegisterWaitForSingleObject(
|
|
PHANDLE hNewWaitObject,
|
|
HANDLE hObject,
|
|
ILS_WAITORTIMERCALLBACK Callback,
|
|
PVOID Context,
|
|
ULONG dwMilliseconds,
|
|
ULONG dwFlags
|
|
);
|
|
|
|
BOOL
|
|
WINAPI
|
|
ILS_UnregisterWait(
|
|
HANDLE WaitHandle
|
|
);
|
|
|
|
BOOL
|
|
WINAPI
|
|
ILS_ExitWait(
|
|
HANDLE WaitHandle,
|
|
HMODULE hLibModule
|
|
);
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Registry support functions
|
|
//--------------------------------------------------------------------------
|
|
|
|
void
|
|
ILS_EnableBackupRestorePrivileges();
|
|
|
|
void
|
|
ILS_CloseRegistryKey(
|
|
IN HKEY hKey
|
|
);
|
|
|
|
BOOL
|
|
ILS_ReadDWORDValueFromRegistry(
|
|
IN HKEY hKey,
|
|
IN LPCWSTR pwszValueName,
|
|
IN DWORD *pdwValue
|
|
);
|
|
|
|
BOOL
|
|
ILS_ReadBINARYValueFromRegistry(
|
|
IN HKEY hKey,
|
|
IN LPCWSTR pwszValueName,
|
|
OUT BYTE **ppbValue,
|
|
OUT DWORD *pcbValue
|
|
);
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Get and allocate the REG_SZ value
|
|
//--------------------------------------------------------------------------
|
|
LPWSTR ILS_ReadSZValueFromRegistry(
|
|
IN HKEY hKey,
|
|
IN LPCWSTR pwszValueName
|
|
);
|
|
LPSTR ILS_ReadSZValueFromRegistry(
|
|
IN HKEY hKey,
|
|
IN LPCSTR pszValueName
|
|
);
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Key Identifier registry and roaming file support functions
|
|
//--------------------------------------------------------------------------
|
|
BOOL
|
|
ILS_ReadKeyIdElement(
|
|
IN const CRYPT_HASH_BLOB *pKeyIdentifier,
|
|
IN BOOL fLocalMachine,
|
|
IN OPTIONAL LPCWSTR pwszComputerName,
|
|
OUT BYTE **ppbElement,
|
|
OUT DWORD *pcbElement
|
|
);
|
|
BOOL
|
|
ILS_WriteKeyIdElement(
|
|
IN const CRYPT_HASH_BLOB *pKeyIdentifier,
|
|
IN BOOL fLocalMachine,
|
|
IN OPTIONAL LPCWSTR pwszComputerName,
|
|
IN const BYTE *pbElement,
|
|
IN DWORD cbElement
|
|
);
|
|
BOOL
|
|
ILS_DeleteKeyIdElement(
|
|
IN const CRYPT_HASH_BLOB *pKeyIdentifier,
|
|
IN BOOL fLocalMachine,
|
|
IN OPTIONAL LPCWSTR pwszComputerName
|
|
);
|
|
|
|
typedef BOOL (*PFN_ILS_OPEN_KEYID_ELEMENT)(
|
|
IN const CRYPT_HASH_BLOB *pKeyIdentifier,
|
|
IN const BYTE *pbElement,
|
|
IN DWORD cbElement,
|
|
IN void *pvArg
|
|
);
|
|
|
|
BOOL
|
|
ILS_OpenAllKeyIdElements(
|
|
IN BOOL fLocalMachine,
|
|
IN OPTIONAL LPCWSTR pwszComputerName,
|
|
IN void *pvArg,
|
|
IN PFN_ILS_OPEN_KEYID_ELEMENT pfnOpenKeyId
|
|
);
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Misc alloc and copy functions
|
|
//--------------------------------------------------------------------------
|
|
LPWSTR ILS_AllocAndCopyString(
|
|
IN LPCWSTR pwszSrc,
|
|
IN LONG cchSrc = -1
|
|
);
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Converts the bytes into UNICODE ASCII HEX
|
|
//
|
|
// Needs (cb * 2 + 1) * sizeof(WCHAR) bytes of space in wsz
|
|
//--------------------------------------------------------------------------
|
|
void ILS_BytesToWStr(DWORD cb, void* pv, LPWSTR wsz);
|
|
|
|
#endif // __LOGSTOR_H__
|