windows-nt/Source/XPSP1/NT/admin/pchealth/sr/restmap/restmap.h
2020-09-26 16:20:57 +08:00

104 lines
2.1 KiB
C

/******************************************************************************
*
* Copyright (c) 1999 Microsoft Corporation
*
* Module Name:
* RestMap.h
*
* Abstract:
* This file code for RestMap.
*
* Revision History:
* Kanwaljit S Marok ( kmarok ) 05/17/99
* created
*
*****************************************************************************/
#ifndef _RESTMAP_H_
#define _RESTMAP_H_
#ifdef __cplusplus
extern "C" {
#endif
#include "srapi.h"
#define OPR_FILE_DELETE SrEventFileDelete
#define OPR_FILE_RENAME SrEventFileRename
#define OPR_FILE_ADD SrEventFileCreate
#define OPR_FILE_MODIFY SrEventStreamOverwrite
#define OPR_DIR_DELETE SrEventDirectoryDelete
#define OPR_DIR_CREATE SrEventDirectoryCreate
#define OPR_DIR_RENAME SrEventDirectoryRename
#define OPR_SETATTRIB SrEventAttribChange
#define OPR_UNKNOWN SrEventInvalid
#define OPR_SETACL SrEventAclChange
#define IsRename(a) (a == OPR_FILE_RENAME || a == OPR_DIR_RENAME)
#pragma pack(push, vxdlog_include)
#pragma pack(1)
//
// Structure of Restore Map Entry
//
typedef struct RESTORE_MAP_ENTRY
{
DWORD m_dwSize; // Size of Vxd Log Entry
DWORD m_dwOperation ; // Operation to be performed
DWORD m_dwAttribute ; // Attributes
DWORD m_cbAcl; // if acl op, then size of acl
BOOL m_fAclInline; // whether acl is inline or in file
BYTE m_bData [ 1 ]; // pSrc / pTemp / pDest / pAcl
} RestoreMapEntry;
#pragma pack()
//
// Function Prototypes
//
DWORD
CreateRestoreMap(
LPWSTR pszDrive,
DWORD dwRPNum,
HANDLE hFile
);
BOOL
AppendRestoreMapEntry(
HANDLE hFile,
DWORD dwOperation,
DWORD dwAttribute,
LPWSTR pTmpFile,
LPWSTR pPathSrc,
LPWSTR pPathDes,
BYTE* pbAcl,
DWORD cbAcl,
BOOL fAclInline);
DWORD
ReadRestoreMapEntry(
HANDLE hFile,
RestoreMapEntry **pprme);
PVOID
GetOptional(
RestoreMapEntry *prme);
void
FreeRestoreMapEntry(
RestoreMapEntry *prme);
#ifdef __cplusplus
}
#endif
#endif // _RESTOREMAP_H_