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_
|