mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 20:53:02 +00:00
[XDK][NDK] Fix IO_STACK_LOCATION alignments
* Also add missing DIRECTORY_NOTIFY_INFORMATION_CLASS
This commit is contained in:
parent
03c86af7d5
commit
8719252e48
2 changed files with 75 additions and 40 deletions
|
@ -940,9 +940,6 @@ typedef struct _EXTENDED_DRIVER_EXTENSION
|
||||||
//
|
//
|
||||||
// Extended I/O Stack Location Structure
|
// Extended I/O Stack Location Structure
|
||||||
//
|
//
|
||||||
#if !defined(_ALPHA_)
|
|
||||||
#include <pshpack4.h>
|
|
||||||
#endif
|
|
||||||
typedef struct _EXTENDED_IO_STACK_LOCATION
|
typedef struct _EXTENDED_IO_STACK_LOCATION
|
||||||
{
|
{
|
||||||
UCHAR MajorFunction;
|
UCHAR MajorFunction;
|
||||||
|
@ -955,15 +952,15 @@ typedef struct _EXTENDED_IO_STACK_LOCATION
|
||||||
{
|
{
|
||||||
PIO_SECURITY_CONTEXT SecurityContext;
|
PIO_SECURITY_CONTEXT SecurityContext;
|
||||||
ULONG Options;
|
ULONG Options;
|
||||||
USHORT FileAttributes;
|
USHORT POINTER_ALIGNMENT FileAttributes;
|
||||||
USHORT ShareAccess;
|
USHORT ShareAccess;
|
||||||
ULONG EaLength;
|
ULONG POINTER_ALIGNMENT EaLength;
|
||||||
} Create;
|
} Create;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
PIO_SECURITY_CONTEXT SecurityContext;
|
PIO_SECURITY_CONTEXT SecurityContext;
|
||||||
ULONG Options;
|
ULONG Options;
|
||||||
USHORT Reserved;
|
USHORT POINTER_ALIGNMENT Reserved;
|
||||||
USHORT ShareAccess;
|
USHORT ShareAccess;
|
||||||
struct _NAMED_PIPE_CREATE_PARAMETERS *Parameters;
|
struct _NAMED_PIPE_CREATE_PARAMETERS *Parameters;
|
||||||
} CreatePipe;
|
} CreatePipe;
|
||||||
|
@ -971,20 +968,20 @@ typedef struct _EXTENDED_IO_STACK_LOCATION
|
||||||
{
|
{
|
||||||
PIO_SECURITY_CONTEXT SecurityContext;
|
PIO_SECURITY_CONTEXT SecurityContext;
|
||||||
ULONG Options;
|
ULONG Options;
|
||||||
USHORT Reserved;
|
USHORT POINTER_ALIGNMENT Reserved;
|
||||||
USHORT ShareAccess;
|
USHORT ShareAccess;
|
||||||
struct _MAILSLOT_CREATE_PARAMETERS *Parameters;
|
struct _MAILSLOT_CREATE_PARAMETERS *Parameters;
|
||||||
} CreateMailslot;
|
} CreateMailslot;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
ULONG Length;
|
ULONG Length;
|
||||||
ULONG Key;
|
ULONG POINTER_ALIGNMENT Key;
|
||||||
LARGE_INTEGER ByteOffset;
|
LARGE_INTEGER ByteOffset;
|
||||||
} Read;
|
} Read;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
ULONG Length;
|
ULONG Length;
|
||||||
ULONG Key;
|
ULONG POINTER_ALIGNMENT Key;
|
||||||
LARGE_INTEGER ByteOffset;
|
LARGE_INTEGER ByteOffset;
|
||||||
} Write;
|
} Write;
|
||||||
struct
|
struct
|
||||||
|
@ -992,23 +989,29 @@ typedef struct _EXTENDED_IO_STACK_LOCATION
|
||||||
ULONG Length;
|
ULONG Length;
|
||||||
PUNICODE_STRING FileName;
|
PUNICODE_STRING FileName;
|
||||||
FILE_INFORMATION_CLASS FileInformationClass;
|
FILE_INFORMATION_CLASS FileInformationClass;
|
||||||
ULONG FileIndex;
|
ULONG POINTER_ALIGNMENT FileIndex;
|
||||||
} QueryDirectory;
|
} QueryDirectory;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
ULONG Length;
|
ULONG Length;
|
||||||
ULONG CompletionFilter;
|
ULONG POINTER_ALIGNMENT CompletionFilter;
|
||||||
} NotifyDirectory;
|
} NotifyDirectory;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
ULONG Length;
|
ULONG Length;
|
||||||
FILE_INFORMATION_CLASS FileInformationClass;
|
ULONG POINTER_ALIGNMENT CompletionFilter;
|
||||||
|
enum _DIRECTORY_NOTIFY_INFORMATION_CLASS POINTER_ALIGNMENT DirectoryNotifyInformationClass;
|
||||||
|
} NotifyDirectoryEx;
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
ULONG Length;
|
||||||
|
FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
|
||||||
} QueryFile;
|
} QueryFile;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
ULONG Length;
|
ULONG Length;
|
||||||
FILE_INFORMATION_CLASS FileInformationClass;
|
FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
|
||||||
PFILE_OBJECT FileObject;
|
PFILE_OBJECT FileObject;
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
struct
|
struct
|
||||||
|
@ -1025,7 +1028,7 @@ typedef struct _EXTENDED_IO_STACK_LOCATION
|
||||||
ULONG Length;
|
ULONG Length;
|
||||||
PVOID EaList;
|
PVOID EaList;
|
||||||
ULONG EaListLength;
|
ULONG EaListLength;
|
||||||
ULONG EaIndex;
|
ULONG POINTER_ALIGNMENT EaIndex;
|
||||||
} QueryEa;
|
} QueryEa;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
|
@ -1034,31 +1037,31 @@ typedef struct _EXTENDED_IO_STACK_LOCATION
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
ULONG Length;
|
ULONG Length;
|
||||||
FS_INFORMATION_CLASS FsInformationClass;
|
FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass;
|
||||||
} QueryVolume;
|
} QueryVolume;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
ULONG Length;
|
ULONG Length;
|
||||||
FS_INFORMATION_CLASS FsInformationClass;
|
FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass;
|
||||||
} SetVolume;
|
} SetVolume;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
ULONG OutputBufferLength;
|
ULONG OutputBufferLength;
|
||||||
ULONG InputBufferLength;
|
ULONG POINTER_ALIGNMENT InputBufferLength;
|
||||||
ULONG FsControlCode;
|
ULONG POINTER_ALIGNMENT FsControlCode;
|
||||||
PVOID Type3InputBuffer;
|
PVOID Type3InputBuffer;
|
||||||
} FileSystemControl;
|
} FileSystemControl;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
PLARGE_INTEGER Length;
|
PLARGE_INTEGER Length;
|
||||||
ULONG Key;
|
ULONG POINTER_ALIGNMENT Key;
|
||||||
LARGE_INTEGER ByteOffset;
|
LARGE_INTEGER ByteOffset;
|
||||||
} LockControl;
|
} LockControl;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
ULONG OutputBufferLength;
|
ULONG OutputBufferLength;
|
||||||
ULONG InputBufferLength;
|
ULONG POINTER_ALIGNMENT InputBufferLength;
|
||||||
ULONG IoControlCode;
|
ULONG POINTER_ALIGNMENT IoControlCode;
|
||||||
PVOID Type3InputBuffer;
|
PVOID Type3InputBuffer;
|
||||||
} DeviceIoControl;
|
} DeviceIoControl;
|
||||||
struct
|
struct
|
||||||
|
@ -1121,7 +1124,7 @@ typedef struct _EXTENDED_IO_STACK_LOCATION
|
||||||
ULONG WhichSpace;
|
ULONG WhichSpace;
|
||||||
PVOID Buffer;
|
PVOID Buffer;
|
||||||
ULONG Offset;
|
ULONG Offset;
|
||||||
ULONG Length;
|
ULONG POINTER_ALIGNMENT Length;
|
||||||
} ReadWriteConfig;
|
} ReadWriteConfig;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
|
@ -1134,28 +1137,34 @@ typedef struct _EXTENDED_IO_STACK_LOCATION
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
DEVICE_TEXT_TYPE DeviceTextType;
|
DEVICE_TEXT_TYPE DeviceTextType;
|
||||||
LCID LocaleId;
|
LCID POINTER_ALIGNMENT LocaleId;
|
||||||
} QueryDeviceText;
|
} QueryDeviceText;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
BOOLEAN InPath;
|
BOOLEAN InPath;
|
||||||
BOOLEAN Reserved[3];
|
BOOLEAN Reserved[3];
|
||||||
DEVICE_USAGE_NOTIFICATION_TYPE Type;
|
DEVICE_USAGE_NOTIFICATION_TYPE POINTER_ALIGNMENT Type;
|
||||||
} UsageNotification;
|
} UsageNotification;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
SYSTEM_POWER_STATE PowerState;
|
SYSTEM_POWER_STATE PowerState;
|
||||||
} WaitWake;
|
} WaitWake;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
PPOWER_SEQUENCE PowerSequence;
|
PPOWER_SEQUENCE PowerSequence;
|
||||||
} PowerSequence;
|
} PowerSequence;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
ULONG SystemContext;
|
union
|
||||||
POWER_STATE_TYPE Type;
|
{
|
||||||
POWER_STATE State;
|
ULONG SystemContext;
|
||||||
POWER_ACTION ShutdownType;
|
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||||
|
SYSTEM_POWER_STATE_CONTEXT SystemPowerStateContext;
|
||||||
|
#endif // (NTDDI_VERSION >= NTDDI_VISTA)
|
||||||
|
};
|
||||||
|
POWER_STATE_TYPE POINTER_ALIGNMENT Type;
|
||||||
|
POWER_STATE POINTER_ALIGNMENT State;
|
||||||
|
POWER_ACTION POINTER_ALIGNMENT ShutdownType;
|
||||||
} Power;
|
} Power;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
|
@ -1182,9 +1191,6 @@ typedef struct _EXTENDED_IO_STACK_LOCATION
|
||||||
PIO_COMPLETION_ROUTINE CompletionRoutine;
|
PIO_COMPLETION_ROUTINE CompletionRoutine;
|
||||||
PVOID Context;
|
PVOID Context;
|
||||||
} EXTENDED_IO_STACK_LOCATION, *PEXTENDED_IO_STACK_LOCATION;
|
} EXTENDED_IO_STACK_LOCATION, *PEXTENDED_IO_STACK_LOCATION;
|
||||||
#if !defined(_ALPHA_)
|
|
||||||
#include <poppack.h>
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -1272,6 +1272,11 @@ typedef enum _FILE_INFORMATION_CLASS {
|
||||||
FileMaximumInformation
|
FileMaximumInformation
|
||||||
} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
|
} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
|
||||||
|
|
||||||
|
typedef enum _DIRECTORY_NOTIFY_INFORMATION_CLASS {
|
||||||
|
DirectoryNotifyInformation = 1,
|
||||||
|
DirectoryNotifyExtendedInformation
|
||||||
|
} DIRECTORY_NOTIFY_INFORMATION_CLASS, *PDIRECTORY_NOTIFY_INFORMATION_CLASS;
|
||||||
|
|
||||||
typedef struct _FILE_POSITION_INFORMATION {
|
typedef struct _FILE_POSITION_INFORMATION {
|
||||||
LARGE_INTEGER CurrentByteOffset;
|
LARGE_INTEGER CurrentByteOffset;
|
||||||
} FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION;
|
} FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION;
|
||||||
|
@ -2754,6 +2759,20 @@ typedef struct _IO_STACK_LOCATION {
|
||||||
USHORT ShareAccess;
|
USHORT ShareAccess;
|
||||||
ULONG POINTER_ALIGNMENT EaLength;
|
ULONG POINTER_ALIGNMENT EaLength;
|
||||||
} Create;
|
} Create;
|
||||||
|
struct {
|
||||||
|
struct _IO_SECURITY_CONTEXT *SecurityContext;
|
||||||
|
ULONG Options;
|
||||||
|
USHORT POINTER_ALIGNMENT Reserved;
|
||||||
|
USHORT ShareAccess;
|
||||||
|
struct _NAMED_PIPE_CREATE_PARAMETERS *Parameters;
|
||||||
|
} CreatePipe;
|
||||||
|
struct {
|
||||||
|
PIO_SECURITY_CONTEXT SecurityContext;
|
||||||
|
ULONG Options;
|
||||||
|
USHORT POINTER_ALIGNMENT Reserved;
|
||||||
|
USHORT ShareAccess;
|
||||||
|
struct _MAILSLOT_CREATE_PARAMETERS *Parameters;
|
||||||
|
} CreateMailslot;
|
||||||
struct {
|
struct {
|
||||||
ULONG Length;
|
ULONG Length;
|
||||||
ULONG POINTER_ALIGNMENT Key;
|
ULONG POINTER_ALIGNMENT Key;
|
||||||
|
@ -2768,12 +2787,17 @@ typedef struct _IO_STACK_LOCATION {
|
||||||
ULONG Length;
|
ULONG Length;
|
||||||
PUNICODE_STRING FileName;
|
PUNICODE_STRING FileName;
|
||||||
FILE_INFORMATION_CLASS FileInformationClass;
|
FILE_INFORMATION_CLASS FileInformationClass;
|
||||||
ULONG FileIndex;
|
ULONG POINTER_ALIGNMENT FileIndex;
|
||||||
} QueryDirectory;
|
} QueryDirectory;
|
||||||
struct {
|
struct {
|
||||||
ULONG Length;
|
ULONG Length;
|
||||||
ULONG CompletionFilter;
|
ULONG POINTER_ALIGNMENT CompletionFilter;
|
||||||
} NotifyDirectory;
|
} NotifyDirectory;
|
||||||
|
struct {
|
||||||
|
ULONG Length;
|
||||||
|
ULONG POINTER_ALIGNMENT CompletionFilter;
|
||||||
|
DIRECTORY_NOTIFY_INFORMATION_CLASS POINTER_ALIGNMENT DirectoryNotifyInformationClass;
|
||||||
|
} NotifyDirectoryEx;
|
||||||
struct {
|
struct {
|
||||||
ULONG Length;
|
ULONG Length;
|
||||||
FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
|
FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
|
||||||
|
@ -2795,7 +2819,7 @@ typedef struct _IO_STACK_LOCATION {
|
||||||
ULONG Length;
|
ULONG Length;
|
||||||
PVOID EaList;
|
PVOID EaList;
|
||||||
ULONG EaListLength;
|
ULONG EaListLength;
|
||||||
ULONG EaIndex;
|
ULONG POINTER_ALIGNMENT EaIndex;
|
||||||
} QueryEa;
|
} QueryEa;
|
||||||
struct {
|
struct {
|
||||||
ULONG Length;
|
ULONG Length;
|
||||||
|
@ -2806,7 +2830,7 @@ typedef struct _IO_STACK_LOCATION {
|
||||||
} QueryVolume;
|
} QueryVolume;
|
||||||
struct {
|
struct {
|
||||||
ULONG Length;
|
ULONG Length;
|
||||||
FS_INFORMATION_CLASS FsInformationClass;
|
FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass;
|
||||||
} SetVolume;
|
} SetVolume;
|
||||||
struct {
|
struct {
|
||||||
ULONG OutputBufferLength;
|
ULONG OutputBufferLength;
|
||||||
|
@ -2816,7 +2840,7 @@ typedef struct _IO_STACK_LOCATION {
|
||||||
} FileSystemControl;
|
} FileSystemControl;
|
||||||
struct {
|
struct {
|
||||||
PLARGE_INTEGER Length;
|
PLARGE_INTEGER Length;
|
||||||
ULONG Key;
|
ULONG POINTER_ALIGNMENT Key;
|
||||||
LARGE_INTEGER ByteOffset;
|
LARGE_INTEGER ByteOffset;
|
||||||
} LockControl;
|
} LockControl;
|
||||||
struct {
|
struct {
|
||||||
|
@ -2897,7 +2921,12 @@ typedef struct _IO_STACK_LOCATION {
|
||||||
PPOWER_SEQUENCE PowerSequence;
|
PPOWER_SEQUENCE PowerSequence;
|
||||||
} PowerSequence;
|
} PowerSequence;
|
||||||
struct {
|
struct {
|
||||||
ULONG SystemContext;
|
union {
|
||||||
|
ULONG SystemContext;
|
||||||
|
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||||
|
SYSTEM_POWER_STATE_CONTEXT SystemPowerStateContext;
|
||||||
|
#endif // (NTDDI_VERSION >= NTDDI_VISTA)
|
||||||
|
};
|
||||||
POWER_STATE_TYPE POINTER_ALIGNMENT Type;
|
POWER_STATE_TYPE POINTER_ALIGNMENT Type;
|
||||||
POWER_STATE POINTER_ALIGNMENT State;
|
POWER_STATE POINTER_ALIGNMENT State;
|
||||||
POWER_ACTION POINTER_ALIGNMENT ShutdownType;
|
POWER_ACTION POINTER_ALIGNMENT ShutdownType;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue