* include/winbase.h: Add stream ids BACKUP_OBJECT_ID,

BACKUP_REPARSE_DATA and BACKUP_SPARSE_BLOCK.
        Add file open flags FILE_FLAG_OPEN_REPARSE_POINT and
        FILE_FLAG_OPEN_NO_RECALL.
        * winioctl.h: Add device io control codes FSCTL_GET_REPARSE_POINT,
        FSCTL_SET_REPARSE_POINT and FSCTL_DELETE_REPARSE_POINT.
        * winnt.h: Add typedef for GUID.
        Add file attributes FILE_ATTRIBUTE_ENCRYPTED,
        FILE_ATTRIBUTE_SPARSE_FILE, FILE_ATTRIBUTE_REPARSE_POINT and
        FILE_ATTRIBUTE_NOT_CONTENT_INDEXED.
        Add volume attributes FILE_VOLUME_QUOTAS, FILE_SUPPORTS_SPARSE_FILES,
        FILE_SUPPORTS_REPARSE_POINTS, FILE_SUPPORTS_REMOTE_STORAGE,
        FILE_SUPPORTS_OBJECT_IDS and FILE_SUPPORTS_ENCRYPTION.
        Add several reparse point defines and typedefs for REPARSE_DATA_BUFFER,
        REPARSE_GUID_DATA_BUFFER and REPARSE_POINT_INFORMATION.
        * lib/psapi.def: New file.
This commit is contained in:
Corinna Vinschen 2000-06-27 18:21:31 +00:00
parent 650536b382
commit 666b9d7bb8
5 changed files with 118 additions and 1 deletions

View File

@ -1,3 +1,22 @@
Tue Jun 27 19:35:00 2000 Corinna Vinschen <corinna@vinschen.de>
* include/winbase.h: Add stream ids BACKUP_OBJECT_ID,
BACKUP_REPARSE_DATA and BACKUP_SPARSE_BLOCK.
Add file open flags FILE_FLAG_OPEN_REPARSE_POINT and
FILE_FLAG_OPEN_NO_RECALL.
* winioctl.h: Add device io control codes FSCTL_GET_REPARSE_POINT,
FSCTL_SET_REPARSE_POINT and FSCTL_DELETE_REPARSE_POINT.
* winnt.h: Add typedef for GUID.
Add file attributes FILE_ATTRIBUTE_ENCRYPTED,
FILE_ATTRIBUTE_SPARSE_FILE, FILE_ATTRIBUTE_REPARSE_POINT and
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED.
Add volume attributes FILE_VOLUME_QUOTAS, FILE_SUPPORTS_SPARSE_FILES,
FILE_SUPPORTS_REPARSE_POINTS, FILE_SUPPORTS_REMOTE_STORAGE,
FILE_SUPPORTS_OBJECT_IDS and FILE_SUPPORTS_ENCRYPTION.
Add several reparse point defines and typedefs for REPARSE_DATA_BUFFER,
REPARSE_GUID_DATA_BUFFER and REPARSE_POINT_INFORMATION.
* lib/psapi.def: New file.
Thu Jun 22 14:36:19 2000 Christopher Faylor <cgf@cygnus.com>
* rpcdce.h: Protect OPTIONAL definition since it may be (legally)

View File

@ -176,6 +176,8 @@ extern "C" {
#define FILE_FLAG_DELETE_ON_CLOSE 67108864
#define FILE_FLAG_BACKUP_SEMANTICS 33554432
#define FILE_FLAG_POSIX_SEMANTICS 16777216
#define FILE_FLAG_OPEN_REPARSE_POINT 2097152
#define FILE_FLAG_OPEN_NO_RECALL 1048576
#define CLRDTR 6
#define CLRRTS 4
#define SETDTR 5
@ -434,6 +436,9 @@ extern "C" {
#define BACKUP_ALTERNATE_DATA 4
#define BACKUP_LINK 5
#define BACKUP_PROPERTY_DATA 6
#define BACKUP_OBJECT_ID 7
#define BACKUP_REPARSE_DATA 8
#define BACKUP_SPARSE_BLOCK 9
#define STREAM_NORMAL_ATTRIBUTE 0
#define STREAM_MODIFIED_WHEN_READ 1
#define STREAM_CONTAINS_SECURITY 2

View File

@ -113,6 +113,9 @@ extern "C" {
#define FSCTL_SET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,16,METHOD_BUFFERED,FILE_READ_DATA|FILE_WRITE_DATA)
#define FSCTL_READ_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,17,METHOD_NEITHER,FILE_READ_DATA)
#define FSCTL_WRITE_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,18,METHOD_NEITHER,FILE_WRITE_DATA)
#define FSCTL_GET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define FSCTL_SET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 41, METHOD_BUFFERED, FILE_WRITE_DATA)
#define FSCTL_DELETE_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 43, METHOD_BUFFERED, FILE_WRITE_DATA)
typedef WORD BAD_TRACK_NUMBER,*PBAD_TRACK_NUMBER;
typedef enum _BIN_TYPES {RequestSize,RequestLocation} BIN_TYPES;
typedef struct _BIN_RANGE {

View File

@ -125,6 +125,16 @@ typedef LONGLONG USN;
#define UNICODE_NULL L'\0'
typedef BYTE BOOLEAN,*PBOOLEAN;
#endif
#ifndef GUID_DEFINED
#define GUID_DEFINED
typedef struct _GUID
{
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[8];
} GUID,*REFGUID,*LPGUID;
#endif /* GUID_DEFINED */
#define NTAPI __stdcall
#define APPLICATION_ERROR_MASK 0x20000000
@ -194,10 +204,14 @@ typedef BYTE BOOLEAN,*PBOOLEAN;
#define FILE_ATTRIBUTE_SYSTEM 4
#define FILE_ATTRIBUTE_DIRECTORY 16
#define FILE_ATTRIBUTE_ARCHIVE 32
#define FILE_ATTRIBUTE_ENCRYPTED 64
#define FILE_ATTRIBUTE_NORMAL 128
#define FILE_ATTRIBUTE_TEMPORARY 256
#define FILE_ATTRIBUTE_SPARSE_FILE 512
#define FILE_ATTRIBUTE_REPARSE_POINT 1024
#define FILE_ATTRIBUTE_COMPRESSED 2048
#define FILE_ATTRIBUTE_OFFLINE 0x1000
#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x2000
#define FILE_NOTIFY_CHANGE_FILE_NAME 1
#define FILE_NOTIFY_CHANGE_DIR_NAME 2
#define FILE_NOTIFY_CHANGE_ATTRIBUTES 4
@ -213,7 +227,13 @@ typedef BYTE BOOLEAN,*PBOOLEAN;
#define FILE_UNICODE_ON_DISK 4
#define FILE_PERSISTENT_ACLS 8
#define FILE_FILE_COMPRESSION 16
#define FILE_VOLUME_QUOTAS 32
#define FILE_SUPPORTS_SPARSE_FILES 64
#define FILE_SUPPORTS_REPARSE_POINTS 128
#define FILE_SUPPORTS_REMOTE_STORAGE 256
#define FILE_VOLUME_IS_COMPRESSED 0x8000
#define FILE_SUPPORTS_OBJECT_IDS 0x10000
#define FILE_SUPPORTS_ENCRYPTION 0x20000
#define IO_COMPLETION_MODIFY_STATE 2
#define IO_COMPLETION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|3)
#define DUPLICATE_CLOSE_SOURCE 1
@ -1018,7 +1038,19 @@ typedef BYTE BOOLEAN,*PBOOLEAN;
#define INCREF(x) ((((x)&~N_BTMASK)<<N_TSHIFT)|(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT)|((x)&N_BTMASK))
#define DECREF(x) ((((x)>>N_TSHIFT)&~N_BTMASK)|((x)&N_BTMASK))
#define TLS_MINIMUM_AVAILABLE 64
#define REPARSE_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_DATA_BUFFER, GenericReparseBuffer)
#define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_GUID_DATA_BUFFER, GenericReparseBuffer)
#define MAXIMUM_REPARSE_DATA_BUFFER_SIZE 16384
#define IO_REPARSE_TAG_RESERVED_ZERO 0
#define IO_REPARSE_TAG_RESERVED_ONE 1
#define IO_REPARSE_TAG_RESERVED_RANGE IO_REPARSE_TAG_RESERVED_ONE
#define IsReparseTagMicrosoft(x) ((x)&0x80000000)
#define IsReparseTagHighLatency(x) ((x)&0x40000000)
#define IsReparseTagNameSurrogate(x) ((x)&0x20000000)
#define IO_REPARSE_TAG_VALID_VALUES 0xE000FFFF
#define IsReparseTagValid(x) (!((x)&~IO_REPARSE_TAG_VALID_VALUES)&&((x)>IO_REPARSE_TAG_RESERVED_RANGE))
#define IO_REPARSE_TAG_SYMBOLIC_LINK IO_REPARSE_TAG_RESERVED_ZERO
#define IO_REPARSE_TAG_MOUNT_POINT 0xA0000003
#ifndef RC_INVOKED
typedef DWORD ACCESS_MASK;
typedef struct _GENERIC_MAPPING {
@ -2356,6 +2388,43 @@ typedef struct _NT_TIB {
PVOID ArbitraryUserPointer;
struct _NT_TIB *Self;
} NT_TIB,*PNT_TIB;
typedef struct _REPARSE_DATA_BUFFER {
DWORD ReparseTag;
WORD ReparseDataLength;
WORD Reserved;
union {
struct {
WORD SubstituteNameOffset;
WORD SubstituteNameLength;
WORD PrintNameOffset;
WORD PrintNameLength;
WCHAR PathBuffer[1];
} SymbolicLinkReparseBuffer;
struct {
WORD SubstituteNameOffset;
WORD SubstituteNameLength;
WORD PrintNameOffset;
WORD PrintNameLength;
WCHAR PathBuffer[1];
} MountPointReparseBuffer;
struct {
BYTE DataBuffer[1];
} GenericReparseBuffer;
};
} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
typedef struct _REPARSE_GUID_DATA_BUFFER {
DWORD ReparseTag;
WORD ReparseDataLength;
WORD Reserved;
GUID ReparseGuid;
struct {
BYTE DataBuffer[1];
} GenericReparseBuffer;
} REPARSE_GUID_DATA_BUFFER, *PREPARSE_GUID_DATA_BUFFER;
typedef struct _REPARSE_POINT_INFORMATION {
WORD ReparseDataLength;
WORD UnparsedNameLength;
} REPARSE_POINT_INFORMATION, *PREPARSE_POINT_INFORMATION;
PVOID GetCurrentFiber(void);
PVOID GetFiberData(void);
#endif

View File

@ -0,0 +1,21 @@
LIBRARY PSAPI.DLL
EXPORTS
EmptyWorkingSet@4
EnumDeviceDrivers@12
EnumProcesses@12
EnumProcessModules@16
GetDeviceDriverBaseNameA@12
GetDeviceDriverBaseNameW@12
GetDeviceDriverFileNameA@12
GetDeviceDriverFileNameW@12
GetMappedFileNameA@16
GetMappedFileNameW@16
GetModuleBaseNameA@16
GetModuleBaseNameW@16
GetModuleFileNameExA@16
GetModuleFileNameExW@16
GetModuleInformation@16
GetProcessMemoryInfo@12
GetWsChanges@12
InitializeProcessForWsWatch@4
QueryWorkingSet@12