FileMaximumInformation
} 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 {
LARGE_INTEGER CurrentByteOffset;
} FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION;
PUNREGISTER_FOR_DEVICE_NOTIFICATIONS2 UnregisterForDeviceNotifications;
} ACPI_INTERFACE_STANDARD2, *PACPI_INTERFACE_STANDARD2;
-#if !defined(_AMD64_) && !defined(_IA64_)
+#if !defined(_AMD64_) && !defined(_ARM_)
#include <pshpack4.h>
#endif
+
typedef struct _IO_STACK_LOCATION {
UCHAR MajorFunction;
UCHAR MinorFunction;
USHORT ShareAccess;
ULONG POINTER_ALIGNMENT EaLength;
} 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 {
ULONG Length;
ULONG POINTER_ALIGNMENT Key;
ULONG Length;
PUNICODE_STRING FileName;
FILE_INFORMATION_CLASS FileInformationClass;
- ULONG FileIndex;
+ ULONG POINTER_ALIGNMENT FileIndex;
} QueryDirectory;
struct {
ULONG Length;
- ULONG CompletionFilter;
+ ULONG POINTER_ALIGNMENT CompletionFilter;
} NotifyDirectory;
+ struct {
+ ULONG Length;
+ ULONG POINTER_ALIGNMENT CompletionFilter;
+ DIRECTORY_NOTIFY_INFORMATION_CLASS POINTER_ALIGNMENT DirectoryNotifyInformationClass;
+ } NotifyDirectoryEx;
struct {
ULONG Length;
FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
ULONG Length;
PVOID EaList;
ULONG EaListLength;
- ULONG EaIndex;
+ ULONG POINTER_ALIGNMENT EaIndex;
} QueryEa;
struct {
ULONG Length;
} QueryVolume;
struct {
ULONG Length;
- FS_INFORMATION_CLASS FsInformationClass;
+ FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass;
} SetVolume;
struct {
ULONG OutputBufferLength;
- ULONG InputBufferLength;
- ULONG FsControlCode;
+ ULONG POINTER_ALIGNMENT InputBufferLength;
+ ULONG POINTER_ALIGNMENT FsControlCode;
PVOID Type3InputBuffer;
} FileSystemControl;
struct {
PLARGE_INTEGER Length;
- ULONG Key;
+ ULONG POINTER_ALIGNMENT Key;
LARGE_INTEGER ByteOffset;
} LockControl;
struct {
PPOWER_SEQUENCE PowerSequence;
} PowerSequence;
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 POINTER_ALIGNMENT State;
POWER_ACTION POINTER_ALIGNMENT ShutdownType;
PIO_COMPLETION_ROUTINE CompletionRoutine;
PVOID Context;
} IO_STACK_LOCATION, *PIO_STACK_LOCATION;
-#if !defined(_AMD64_) && !defined(_IA64_)
-#include <poppack.h>
+
+#if !defined(_AMD64_) && !defined(_ARM_)
+#include "poppack.h"
#endif
+
/* IO_STACK_LOCATION.Control */
#define SL_PENDING_RETURNED 0x01