104 lines
2.1 KiB
C
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_
|