mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-03 12:23:25 +00:00
[XDK]
* Massive annotations commit. Dedicated to Timo. svn path=/trunk/; revision=55067
This commit is contained in:
+152
-153
@@ -14,19 +14,19 @@ NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcInitializeCacheMap(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PCC_FILE_SIZES FileSizes,
|
||||
IN BOOLEAN PinAccess,
|
||||
IN PCACHE_MANAGER_CALLBACKS Callbacks,
|
||||
IN PVOID LazyWriteContext);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PCC_FILE_SIZES FileSizes,
|
||||
_In_ BOOLEAN PinAccess,
|
||||
_In_ PCACHE_MANAGER_CALLBACKS Callbacks,
|
||||
_In_ PVOID LazyWriteContext);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
CcUninitializeCacheMap(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER TruncateSize OPTIONAL,
|
||||
IN PCACHE_UNINITIALIZE_EVENT UninitializeCompleteEvent OPTIONAL);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_opt_ PLARGE_INTEGER TruncateSize,
|
||||
_In_opt_ PCACHE_UNINITIALIZE_EVENT UninitializeCompleteEvent);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
@@ -39,256 +39,255 @@ NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcSetDirtyPageThreshold(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN ULONG DirtyPageThreshold);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ ULONG DirtyPageThreshold);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcFlushCache(
|
||||
IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
IN PLARGE_INTEGER FileOffset OPTIONAL,
|
||||
IN ULONG Length,
|
||||
OUT PIO_STATUS_BLOCK IoStatus OPTIONAL);
|
||||
_In_ PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
_In_opt_ PLARGE_INTEGER FileOffset,
|
||||
_In_ ULONG Length,
|
||||
_Out_opt_ PIO_STATUS_BLOCK IoStatus);
|
||||
|
||||
NTKERNELAPI
|
||||
LARGE_INTEGER
|
||||
NTAPI
|
||||
CcGetFlushedValidData(
|
||||
IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
IN BOOLEAN BcbListHeld);
|
||||
_In_ PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
_In_ BOOLEAN BcbListHeld);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
CcZeroData(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER StartOffset,
|
||||
IN PLARGE_INTEGER EndOffset,
|
||||
IN BOOLEAN Wait);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PLARGE_INTEGER StartOffset,
|
||||
_In_ PLARGE_INTEGER EndOffset,
|
||||
_In_ BOOLEAN Wait);
|
||||
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
CcRemapBcb(
|
||||
IN PVOID Bcb);
|
||||
_In_ PVOID Bcb);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcRepinBcb(
|
||||
IN PVOID Bcb);
|
||||
_In_ PVOID Bcb);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcUnpinRepinnedBcb(
|
||||
IN PVOID Bcb,
|
||||
IN BOOLEAN WriteThrough,
|
||||
OUT PIO_STATUS_BLOCK IoStatus);
|
||||
_In_ PVOID Bcb,
|
||||
_In_ BOOLEAN WriteThrough,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatus);
|
||||
|
||||
NTKERNELAPI
|
||||
PFILE_OBJECT
|
||||
NTAPI
|
||||
CcGetFileObjectFromSectionPtrs(
|
||||
IN PSECTION_OBJECT_POINTERS SectionObjectPointer);
|
||||
_In_ PSECTION_OBJECT_POINTERS SectionObjectPointer);
|
||||
|
||||
NTKERNELAPI
|
||||
PFILE_OBJECT
|
||||
NTAPI
|
||||
CcGetFileObjectFromBcb(
|
||||
IN PVOID Bcb);
|
||||
_In_ PVOID Bcb);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
CcCanIWrite(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN ULONG BytesToWrite,
|
||||
IN BOOLEAN Wait,
|
||||
IN BOOLEAN Retrying);
|
||||
_In_opt_ PFILE_OBJECT FileObject,
|
||||
_In_ ULONG BytesToWrite,
|
||||
_In_ BOOLEAN Wait,
|
||||
_In_ BOOLEAN Retrying);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcDeferWrite(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PCC_POST_DEFERRED_WRITE PostRoutine,
|
||||
IN PVOID Context1,
|
||||
IN PVOID Context2,
|
||||
IN ULONG BytesToWrite,
|
||||
IN BOOLEAN Retrying);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PCC_POST_DEFERRED_WRITE PostRoutine,
|
||||
_In_ PVOID Context1,
|
||||
_In_ PVOID Context2,
|
||||
_In_ ULONG BytesToWrite,
|
||||
_In_ BOOLEAN Retrying);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
CcCopyRead(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN Wait,
|
||||
OUT PVOID Buffer,
|
||||
OUT PIO_STATUS_BLOCK IoStatus);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PLARGE_INTEGER FileOffset,
|
||||
_In_ ULONG Length,
|
||||
_In_ BOOLEAN Wait,
|
||||
_Out_writes_bytes_(Length) PVOID Buffer,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatus);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcFastCopyRead(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN ULONG FileOffset,
|
||||
IN ULONG Length,
|
||||
IN ULONG PageCount,
|
||||
OUT PVOID Buffer,
|
||||
OUT PIO_STATUS_BLOCK IoStatus);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ ULONG FileOffset,
|
||||
_In_ ULONG Length,
|
||||
_In_ ULONG PageCount,
|
||||
_Out_writes_bytes_(Length) PVOID Buffer,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatus);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
CcCopyWrite(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN Wait,
|
||||
IN PVOID Buffer);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PLARGE_INTEGER FileOffset,
|
||||
_In_ ULONG Length,
|
||||
_In_ BOOLEAN Wait,
|
||||
_In_reads_bytes_(Length) PVOID Buffer);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcFastCopyWrite(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN ULONG FileOffset,
|
||||
IN ULONG Length,
|
||||
IN PVOID Buffer);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ ULONG FileOffset,
|
||||
_In_ ULONG Length,
|
||||
_In_reads_bytes_(Length) PVOID Buffer);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcMdlRead(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Length,
|
||||
OUT PMDL *MdlChain,
|
||||
OUT PIO_STATUS_BLOCK IoStatus);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PLARGE_INTEGER FileOffset,
|
||||
_In_ ULONG Length,
|
||||
_Out_ PMDL *MdlChain,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatus);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcMdlReadComplete(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PMDL MdlChain);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PMDL MdlChain);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcPrepareMdlWrite(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Length,
|
||||
OUT PMDL *MdlChain,
|
||||
OUT PIO_STATUS_BLOCK IoStatus);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PLARGE_INTEGER FileOffset,
|
||||
_In_ ULONG Length,
|
||||
_Out_ PMDL *MdlChain,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatus);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcMdlWriteComplete(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN PMDL MdlChain);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PLARGE_INTEGER FileOffset,
|
||||
_In_ PMDL MdlChain);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcScheduleReadAhead(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Length);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PLARGE_INTEGER FileOffset,
|
||||
_In_ ULONG Length);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CcWaitForCurrentLazyWriterActivity(
|
||||
VOID);
|
||||
CcWaitForCurrentLazyWriterActivity(VOID);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcSetReadAheadGranularity(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN ULONG Granularity);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ ULONG Granularity);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
CcPinRead(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Length,
|
||||
IN ULONG Flags,
|
||||
OUT PVOID *Bcb,
|
||||
OUT PVOID *Buffer);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PLARGE_INTEGER FileOffset,
|
||||
_In_ ULONG Length,
|
||||
_In_ ULONG Flags,
|
||||
_Outptr_ PVOID *Bcb,
|
||||
_Outptr_result_bytebuffer_(Length) PVOID *Buffer);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
CcPinMappedData(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Length,
|
||||
IN ULONG Flags,
|
||||
IN OUT PVOID *Bcb);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PLARGE_INTEGER FileOffset,
|
||||
_In_ ULONG Length,
|
||||
_In_ ULONG Flags,
|
||||
_Inout_ PVOID *Bcb);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
CcPreparePinWrite(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN Zero,
|
||||
IN ULONG Flags,
|
||||
OUT PVOID *Bcb,
|
||||
OUT PVOID *Buffer);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PLARGE_INTEGER FileOffset,
|
||||
_In_ ULONG Length,
|
||||
_In_ BOOLEAN Zero,
|
||||
_In_ ULONG Flags,
|
||||
_Outptr_ PVOID *Bcb,
|
||||
_Outptr_result_bytebuffer_(Length) PVOID *Buffer);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcSetDirtyPinnedData(
|
||||
IN PVOID BcbVoid,
|
||||
IN PLARGE_INTEGER Lsn OPTIONAL);
|
||||
_In_ PVOID BcbVoid,
|
||||
_In_opt_ PLARGE_INTEGER Lsn);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcUnpinData(
|
||||
IN PVOID Bcb);
|
||||
_In_ PVOID Bcb);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcSetBcbOwnerPointer(
|
||||
IN PVOID Bcb,
|
||||
IN PVOID OwnerPointer);
|
||||
_In_ PVOID Bcb,
|
||||
_In_ PVOID OwnerPointer);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcUnpinDataForThread(
|
||||
IN PVOID Bcb,
|
||||
IN ERESOURCE_THREAD ResourceThreadId);
|
||||
_In_ PVOID Bcb,
|
||||
_In_ ERESOURCE_THREAD ResourceThreadId);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcSetAdditionalCacheAttributes(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN BOOLEAN DisableReadAhead,
|
||||
IN BOOLEAN DisableWriteBehind);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ BOOLEAN DisableReadAhead,
|
||||
_In_ BOOLEAN DisableWriteBehind);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
CcIsThereDirtyData(
|
||||
IN PVPB Vpb);
|
||||
_In_ PVPB Vpb);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
|
||||
|
||||
@@ -298,25 +297,25 @@ NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcMdlWriteAbort(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PMDL MdlChain);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PMDL MdlChain);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcSetLogHandleForFile(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PVOID LogHandle,
|
||||
IN PFLUSH_TO_LSN FlushToLsnRoutine);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PVOID LogHandle,
|
||||
_In_ PFLUSH_TO_LSN FlushToLsnRoutine);
|
||||
|
||||
NTKERNELAPI
|
||||
LARGE_INTEGER
|
||||
NTAPI
|
||||
CcGetDirtyPages(
|
||||
IN PVOID LogHandle,
|
||||
IN PDIRTY_PAGE_ROUTINE DirtyPageRoutine,
|
||||
IN PVOID Context1,
|
||||
IN PVOID Context2);
|
||||
_In_ PVOID LogHandle,
|
||||
_In_ PDIRTY_PAGE_ROUTINE DirtyPageRoutine,
|
||||
_In_ PVOID Context1,
|
||||
_In_ PVOID Context2);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -325,23 +324,23 @@ NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
CcMapData(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Length,
|
||||
IN ULONG Flags,
|
||||
OUT PVOID *Bcb,
|
||||
OUT PVOID *Buffer);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PLARGE_INTEGER FileOffset,
|
||||
_In_ ULONG Length,
|
||||
_In_ ULONG Flags,
|
||||
_Outptr_ PVOID *Bcb,
|
||||
_Outptr_result_bytebuffer_(Length) PVOID *Buffer);
|
||||
#elif (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
CcMapData(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN Wait,
|
||||
OUT PVOID *Bcb,
|
||||
OUT PVOID *Buffer);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PLARGE_INTEGER FileOffset,
|
||||
_In_ ULONG Length,
|
||||
_In_ BOOLEAN Wait,
|
||||
_Outptr_ PVOID *Bcb,
|
||||
_Outptr_result_bytebuffer_(Length) PVOID *Buffer);
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
@@ -350,27 +349,27 @@ NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CcSetFileSizesEx(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PCC_FILE_SIZES FileSizes);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PCC_FILE_SIZES FileSizes);
|
||||
|
||||
NTKERNELAPI
|
||||
PFILE_OBJECT
|
||||
NTAPI
|
||||
CcGetFileObjectFromSectionPtrsRef(
|
||||
IN PSECTION_OBJECT_POINTERS SectionObjectPointer);
|
||||
_In_ PSECTION_OBJECT_POINTERS SectionObjectPointer);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcSetParallelFlushFile(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN BOOLEAN EnableParallelFlush);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ BOOLEAN EnableParallelFlush);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
CcIsThereDirtyDataEx(
|
||||
IN PVPB Vpb,
|
||||
IN PULONG NumberOfDirtyPages OPTIONAL);
|
||||
_In_ PVPB Vpb,
|
||||
_In_opt_ PULONG NumberOfDirtyPages);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -379,11 +378,11 @@ NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CcCoherencyFlushAndPurgeCache(
|
||||
IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
IN PLARGE_INTEGER FileOffset OPTIONAL,
|
||||
IN ULONG Length,
|
||||
OUT PIO_STATUS_BLOCK IoStatus,
|
||||
IN ULONG Flags OPTIONAL);
|
||||
_In_ PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
_In_opt_ PLARGE_INTEGER FileOffset,
|
||||
_In_ ULONG Length,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatus,
|
||||
_In_opt_ ULONG Flags);
|
||||
#endif
|
||||
|
||||
#define CcGetFileSizePointer(FO) ( \
|
||||
@@ -395,19 +394,19 @@ NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
CcPurgeCacheSection(
|
||||
IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
IN PLARGE_INTEGER FileOffset OPTIONAL,
|
||||
IN ULONG Length,
|
||||
IN ULONG Flags);
|
||||
_In_ PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
_In_opt_ PLARGE_INTEGER FileOffset,
|
||||
_In_ ULONG Length,
|
||||
_In_ ULONG Flags);
|
||||
#elif (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
CcPurgeCacheSection(
|
||||
IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
IN PLARGE_INTEGER FileOffset OPTIONAL,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN UninitializeCacheMaps);
|
||||
_In_ PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
_In_opt_ PLARGE_INTEGER FileOffset,
|
||||
_In_ ULONG Length,
|
||||
_In_ BOOLEAN UninitializeCacheMaps);
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
@@ -415,9 +414,9 @@ NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
CcCopyWriteWontFlush(
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Length);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PLARGE_INTEGER FileOffset,
|
||||
_In_ ULONG Length);
|
||||
#else
|
||||
#define CcCopyWriteWontFlush(FO, FOFF, LEN) ((LEN) <= 0x10000)
|
||||
#endif
|
||||
|
||||
@@ -19,21 +19,21 @@ typedef struct _CC_FILE_SIZES {
|
||||
|
||||
typedef BOOLEAN
|
||||
(NTAPI *PACQUIRE_FOR_LAZY_WRITE) (
|
||||
IN PVOID Context,
|
||||
IN BOOLEAN Wait);
|
||||
_In_ PVOID Context,
|
||||
_In_ BOOLEAN Wait);
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PRELEASE_FROM_LAZY_WRITE) (
|
||||
IN PVOID Context);
|
||||
_In_ PVOID Context);
|
||||
|
||||
typedef BOOLEAN
|
||||
(NTAPI *PACQUIRE_FOR_READ_AHEAD) (
|
||||
IN PVOID Context,
|
||||
IN BOOLEAN Wait);
|
||||
_In_ PVOID Context,
|
||||
_In_ BOOLEAN Wait);
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PRELEASE_FROM_READ_AHEAD) (
|
||||
IN PVOID Context);
|
||||
_In_ PVOID Context);
|
||||
|
||||
typedef struct _CACHE_MANAGER_CALLBACKS {
|
||||
PACQUIRE_FOR_LAZY_WRITE AcquireForLazyWrite;
|
||||
@@ -49,23 +49,23 @@ typedef struct _CACHE_UNINITIALIZE_EVENT {
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PDIRTY_PAGE_ROUTINE) (
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PLARGE_INTEGER FileOffset,
|
||||
IN ULONG Length,
|
||||
IN PLARGE_INTEGER OldestLsn,
|
||||
IN PLARGE_INTEGER NewestLsn,
|
||||
IN PVOID Context1,
|
||||
IN PVOID Context2);
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PLARGE_INTEGER FileOffset,
|
||||
_In_ ULONG Length,
|
||||
_In_ PLARGE_INTEGER OldestLsn,
|
||||
_In_ PLARGE_INTEGER NewestLsn,
|
||||
_In_ PVOID Context1,
|
||||
_In_ PVOID Context2);
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PFLUSH_TO_LSN) (
|
||||
IN PVOID LogHandle,
|
||||
IN LARGE_INTEGER Lsn);
|
||||
_In_ PVOID LogHandle,
|
||||
_In_ LARGE_INTEGER Lsn);
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PCC_POST_DEFERRED_WRITE) (
|
||||
IN PVOID Context1,
|
||||
IN PVOID Context2);
|
||||
_In_ PVOID Context1,
|
||||
_In_ PVOID Context2);
|
||||
|
||||
#define UNINITIALIZE_CACHE_MAPS (1)
|
||||
#define DO_NOT_RETRY_PURGE (2)
|
||||
|
||||
@@ -4,65 +4,72 @@
|
||||
|
||||
$if (_WDMDDK_)
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmRegisterCallback(
|
||||
IN PEX_CALLBACK_FUNCTION Function,
|
||||
IN PVOID Context OPTIONAL,
|
||||
OUT PLARGE_INTEGER Cookie);
|
||||
_In_ PEX_CALLBACK_FUNCTION Function,
|
||||
_In_opt_ PVOID Context,
|
||||
_Out_ PLARGE_INTEGER Cookie);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmUnRegisterCallback(
|
||||
IN LARGE_INTEGER Cookie);
|
||||
_In_ LARGE_INTEGER Cookie);
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmRegisterCallbackEx(
|
||||
PEX_CALLBACK_FUNCTION Function,
|
||||
PCUNICODE_STRING Altitude,
|
||||
PVOID Driver,
|
||||
PVOID Context,
|
||||
PLARGE_INTEGER Cookie,
|
||||
PVOID Reserved);
|
||||
_In_ PEX_CALLBACK_FUNCTION Function,
|
||||
_In_ PCUNICODE_STRING Altitude,
|
||||
_In_ PVOID Driver,
|
||||
_In_opt_ PVOID Context,
|
||||
_Out_ PLARGE_INTEGER Cookie,
|
||||
_Reserved_ PVOID Reserved);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
CmGetCallbackVersion(
|
||||
OUT PULONG Major OPTIONAL,
|
||||
OUT PULONG Minor OPTIONAL);
|
||||
_Out_opt_ PULONG Major,
|
||||
_Out_opt_ PULONG Minor);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmSetCallbackObjectContext(
|
||||
IN OUT PVOID Object,
|
||||
IN PLARGE_INTEGER Cookie,
|
||||
IN PVOID NewContext,
|
||||
OUT PVOID *OldContext OPTIONAL);
|
||||
_Inout_ PVOID Object,
|
||||
_In_ PLARGE_INTEGER Cookie,
|
||||
_In_ PVOID NewContext,
|
||||
_Out_opt_ PVOID *OldContext);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmCallbackGetKeyObjectID(
|
||||
IN PLARGE_INTEGER Cookie,
|
||||
IN PVOID Object,
|
||||
OUT PULONG_PTR ObjectID OPTIONAL,
|
||||
OUT PCUNICODE_STRING *ObjectName OPTIONAL);
|
||||
_In_ PLARGE_INTEGER Cookie,
|
||||
_In_ PVOID Object,
|
||||
_Out_opt_ PULONG_PTR ObjectID,
|
||||
_Outptr_opt_ PCUNICODE_STRING *ObjectName);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
CmGetBoundTransaction(
|
||||
IN PLARGE_INTEGER Cookie,
|
||||
IN PVOID Object);
|
||||
_In_ PLARGE_INTEGER Cookie,
|
||||
_In_ PVOID Object);
|
||||
|
||||
#endif // NTDDI_VERSION >= NTDDI_VISTA
|
||||
|
||||
|
||||
@@ -586,13 +586,13 @@ typedef struct _KEY_VALUE_PARTIAL_INFORMATION {
|
||||
ULONG TitleIndex;
|
||||
ULONG Type;
|
||||
ULONG DataLength;
|
||||
UCHAR Data[1];
|
||||
_Field_size_bytes_(DataLength) UCHAR Data[1];
|
||||
} KEY_VALUE_PARTIAL_INFORMATION, *PKEY_VALUE_PARTIAL_INFORMATION;
|
||||
|
||||
typedef struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 {
|
||||
ULONG Type;
|
||||
ULONG DataLength;
|
||||
UCHAR Data[1];
|
||||
_Field_size_bytes_(DataLength) UCHAR Data[1];
|
||||
} KEY_VALUE_PARTIAL_INFORMATION_ALIGN64, *PKEY_VALUE_PARTIAL_INFORMATION_ALIGN64;
|
||||
|
||||
typedef struct _KEY_VALUE_ENTRY {
|
||||
@@ -680,11 +680,13 @@ typedef enum _REG_NOTIFY_CLASS {
|
||||
MaxRegNtNotifyClass
|
||||
} REG_NOTIFY_CLASS, *PREG_NOTIFY_CLASS;
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(EX_CALLBACK_FUNCTION)
|
||||
typedef NTSTATUS
|
||||
(NTAPI EX_CALLBACK_FUNCTION)(
|
||||
IN PVOID CallbackContext,
|
||||
IN PVOID Argument1,
|
||||
IN PVOID Argument2);
|
||||
_In_ PVOID CallbackContext,
|
||||
_In_opt_ PVOID Argument1,
|
||||
_In_opt_ PVOID Argument2);
|
||||
typedef EX_CALLBACK_FUNCTION *PEX_CALLBACK_FUNCTION;
|
||||
|
||||
typedef struct _REG_DELETE_KEY_INFORMATION {
|
||||
|
||||
+368
-194
File diff suppressed because it is too large
Load Diff
@@ -56,33 +56,43 @@ typedef enum _EX_POOL_PRIORITY {
|
||||
|
||||
typedef struct _LOOKASIDE_LIST_EX *PLOOKASIDE_LIST_EX;
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(ALLOCATE_FUNCTION)
|
||||
typedef PVOID
|
||||
(NTAPI *PALLOCATE_FUNCTION)(
|
||||
IN POOL_TYPE PoolType,
|
||||
IN SIZE_T NumberOfBytes,
|
||||
IN ULONG Tag);
|
||||
_In_ POOL_TYPE PoolType,
|
||||
_In_ SIZE_T NumberOfBytes,
|
||||
_In_ ULONG Tag);
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(ALLOCATE_FUNCTION_EX)
|
||||
typedef PVOID
|
||||
(NTAPI *PALLOCATE_FUNCTION_EX)(
|
||||
IN POOL_TYPE PoolType,
|
||||
IN SIZE_T NumberOfBytes,
|
||||
IN ULONG Tag,
|
||||
IN OUT PLOOKASIDE_LIST_EX Lookaside);
|
||||
_In_ POOL_TYPE PoolType,
|
||||
_In_ SIZE_T NumberOfBytes,
|
||||
_In_ ULONG Tag,
|
||||
_Inout_ PLOOKASIDE_LIST_EX Lookaside);
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(FREE_FUNCTION)
|
||||
typedef VOID
|
||||
(NTAPI *PFREE_FUNCTION)(
|
||||
IN PVOID Buffer);
|
||||
_In_ PVOID Buffer);
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(FREE_FUNCTION_EX)
|
||||
typedef VOID
|
||||
(NTAPI *PFREE_FUNCTION_EX)(
|
||||
IN PVOID Buffer,
|
||||
IN OUT PLOOKASIDE_LIST_EX Lookaside);
|
||||
_In_ PVOID Buffer,
|
||||
_Inout_ PLOOKASIDE_LIST_EX Lookaside);
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(CALLBACK_FUNCTION)
|
||||
typedef VOID
|
||||
(NTAPI CALLBACK_FUNCTION)(
|
||||
IN PVOID CallbackContext OPTIONAL,
|
||||
IN PVOID Argument1 OPTIONAL,
|
||||
IN PVOID Argument2 OPTIONAL);
|
||||
_In_opt_ PVOID CallbackContext,
|
||||
_In_opt_ PVOID Argument1,
|
||||
_In_opt_ PVOID Argument2);
|
||||
typedef CALLBACK_FUNCTION *PCALLBACK_FUNCTION;
|
||||
|
||||
#define GENERAL_LOOKASIDE_LAYOUT \
|
||||
@@ -136,7 +146,7 @@ LOOKASIDE_CHECK(TotalFrees);
|
||||
LOOKASIDE_CHECK(Tag);
|
||||
LOOKASIDE_CHECK(Future);
|
||||
|
||||
typedef struct _PAGED_LOOKASIDE_LIST {
|
||||
typedef struct LOOKASIDE_ALIGN _PAGED_LOOKASIDE_LIST {
|
||||
GENERAL_LOOKASIDE L;
|
||||
#if !defined(_AMD64_) && !defined(_IA64_)
|
||||
FAST_MUTEX Lock__ObsoleteButDoNotDelete;
|
||||
@@ -182,9 +192,11 @@ typedef enum _WORK_QUEUE_TYPE {
|
||||
MaximumWorkQueue
|
||||
} WORK_QUEUE_TYPE;
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(WORKER_THREAD_ROUTINE)
|
||||
typedef VOID
|
||||
(NTAPI WORKER_THREAD_ROUTINE)(
|
||||
IN PVOID Parameter);
|
||||
_In_ PVOID Parameter);
|
||||
typedef WORKER_THREAD_ROUTINE *PWORKER_THREAD_ROUTINE;
|
||||
|
||||
typedef struct _WORK_QUEUE_ITEM {
|
||||
|
||||
+715
-501
File diff suppressed because it is too large
Load Diff
@@ -102,9 +102,9 @@ typedef enum _FSRTL_COMPARISON_RESULT {
|
||||
#define FSRTL_VOLUME_BACKGROUND_FORMAT 14
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PFSRTL_STACK_OVERFLOW_ROUTINE) (
|
||||
IN PVOID Context,
|
||||
IN PKEVENT Event);
|
||||
(NTAPI *PFSRTL_STACK_OVERFLOW_ROUTINE)(
|
||||
_In_ PVOID Context,
|
||||
_In_ PKEVENT Event);
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
|
||||
@@ -112,12 +112,12 @@ typedef VOID
|
||||
#define FSRTL_UNC_PROVIDER_FLAGS_CSC_ENABLED 0x00000002
|
||||
#define FSRTL_UNC_PROVIDER_FLAGS_DOMAIN_SVC_AWARE 0x00000004
|
||||
|
||||
#define FSRTL_ALLOCATE_ECPLIST_FLAG_CHARGE_QUOTA 0x00000001
|
||||
#define FSRTL_ALLOCATE_ECPLIST_FLAG_CHARGE_QUOTA 0x00000001
|
||||
|
||||
#define FSRTL_ALLOCATE_ECP_FLAG_CHARGE_QUOTA 0x00000001
|
||||
#define FSRTL_ALLOCATE_ECP_FLAG_NONPAGED_POOL 0x00000002
|
||||
#define FSRTL_ALLOCATE_ECP_FLAG_CHARGE_QUOTA 0x00000001
|
||||
#define FSRTL_ALLOCATE_ECP_FLAG_NONPAGED_POOL 0x00000002
|
||||
|
||||
#define FSRTL_ECP_LOOKASIDE_FLAG_NONPAGED_POOL 0x00000002
|
||||
#define FSRTL_ECP_LOOKASIDE_FLAG_NONPAGED_POOL 0x00000002
|
||||
|
||||
#define FSRTL_VIRTDISK_FULLY_ALLOCATED 0x00000001
|
||||
#define FSRTL_VIRTDISK_NO_DRIVE_LETTER 0x00000002
|
||||
@@ -133,8 +133,8 @@ typedef struct _FSRTL_MUP_PROVIDER_INFO_LEVEL_2 {
|
||||
|
||||
typedef VOID
|
||||
(*PFSRTL_EXTRA_CREATE_PARAMETER_CLEANUP_CALLBACK) (
|
||||
IN OUT PVOID EcpContext,
|
||||
IN LPCGUID EcpType);
|
||||
_Inout_ PVOID EcpContext,
|
||||
_In_ LPCGUID EcpType);
|
||||
|
||||
typedef struct _ECP_LIST ECP_LIST, *PECP_LIST;
|
||||
|
||||
@@ -167,7 +167,7 @@ typedef struct _FSRTL_PER_STREAM_CONTEXT {
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
typedef VOID
|
||||
(*PFN_FSRTLTEARDOWNPERSTREAMCONTEXTS) (
|
||||
IN PFSRTL_ADVANCED_FCB_HEADER AdvancedHeader);
|
||||
_In_ PFSRTL_ADVANCED_FCB_HEADER AdvancedHeader);
|
||||
#endif
|
||||
|
||||
typedef struct _FSRTL_PER_FILEOBJECT_CONTEXT {
|
||||
@@ -181,8 +181,8 @@ typedef struct _FSRTL_PER_FILEOBJECT_CONTEXT {
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *PCOMPLETE_LOCK_IRP_ROUTINE) (
|
||||
IN PVOID Context,
|
||||
IN PIRP Irp);
|
||||
_In_ PVOID Context,
|
||||
_In_ PIRP Irp);
|
||||
|
||||
typedef struct _FILE_LOCK_INFO {
|
||||
LARGE_INTEGER StartingByte;
|
||||
@@ -196,8 +196,8 @@ typedef struct _FILE_LOCK_INFO {
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PUNLOCK_ROUTINE) (
|
||||
IN PVOID Context,
|
||||
IN PFILE_LOCK_INFO FileLockInfo);
|
||||
_In_ PVOID Context,
|
||||
_In_ PFILE_LOCK_INFO FileLockInfo);
|
||||
|
||||
typedef struct _FILE_LOCK {
|
||||
PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine;
|
||||
@@ -251,13 +251,13 @@ typedef PVOID OPLOCK, *POPLOCK;
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *POPLOCK_WAIT_COMPLETE_ROUTINE) (
|
||||
IN PVOID Context,
|
||||
IN PIRP Irp);
|
||||
_In_ PVOID Context,
|
||||
_In_ PIRP Irp);
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *POPLOCK_FS_PREPOST_IRP) (
|
||||
IN PVOID Context,
|
||||
IN PIRP Irp);
|
||||
_In_ PVOID Context,
|
||||
_In_ PIRP Irp);
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTASP1)
|
||||
#define OPLOCK_FLAG_COMPLETE_IF_OPLOCKED 0x00000001
|
||||
@@ -289,12 +289,12 @@ typedef struct _ECP_HEADER ECP_HEADER, *PECP_HEADER;
|
||||
|
||||
typedef BOOLEAN
|
||||
(NTAPI *PCHECK_FOR_TRAVERSE_ACCESS) (
|
||||
IN PVOID NotifyContext,
|
||||
IN PVOID TargetContext OPTIONAL,
|
||||
IN PSECURITY_SUBJECT_CONTEXT SubjectContext);
|
||||
_In_ PVOID NotifyContext,
|
||||
_In_opt_ PVOID TargetContext,
|
||||
_In_ PSECURITY_SUBJECT_CONTEXT SubjectContext);
|
||||
|
||||
typedef BOOLEAN
|
||||
(NTAPI *PFILTER_REPORT_CHANGE) (
|
||||
IN PVOID NotifyContext,
|
||||
IN PVOID FilterContext);
|
||||
_In_ PVOID NotifyContext,
|
||||
_In_ PVOID FilterContext);
|
||||
$endif (_NTIFS_)
|
||||
|
||||
+112
-106
@@ -5,14 +5,15 @@
|
||||
#if defined(USE_DMA_MACROS) && !defined(_NTHAL_) && (defined(_NTDDK_) || defined(_NTDRIVER_)) || defined(_WDM_INCLUDED_)
|
||||
|
||||
$if (_WDMDDK_)
|
||||
__drv_preferredFunction("AllocateCommonBuffer","Obsolete")
|
||||
FORCEINLINE
|
||||
PVOID
|
||||
NTAPI
|
||||
HalAllocateCommonBuffer(
|
||||
IN PDMA_ADAPTER DmaAdapter,
|
||||
IN ULONG Length,
|
||||
OUT PPHYSICAL_ADDRESS LogicalAddress,
|
||||
IN BOOLEAN CacheEnabled)
|
||||
_In_ PDMA_ADAPTER DmaAdapter,
|
||||
_In_ ULONG Length,
|
||||
_Out_ PPHYSICAL_ADDRESS LogicalAddress,
|
||||
_In_ BOOLEAN CacheEnabled)
|
||||
{
|
||||
PALLOCATE_COMMON_BUFFER allocateCommonBuffer;
|
||||
PVOID commonBuffer;
|
||||
@@ -23,15 +24,16 @@ HalAllocateCommonBuffer(
|
||||
return commonBuffer;
|
||||
}
|
||||
|
||||
__drv_preferredFunction("FreeCommonBuffer","Obsolete")
|
||||
FORCEINLINE
|
||||
VOID
|
||||
NTAPI
|
||||
HalFreeCommonBuffer(
|
||||
IN PDMA_ADAPTER DmaAdapter,
|
||||
IN ULONG Length,
|
||||
IN PHYSICAL_ADDRESS LogicalAddress,
|
||||
IN PVOID VirtualAddress,
|
||||
IN BOOLEAN CacheEnabled)
|
||||
_In_ PDMA_ADAPTER DmaAdapter,
|
||||
_In_ ULONG Length,
|
||||
_In_ PHYSICAL_ADDRESS LogicalAddress,
|
||||
_In_ PVOID VirtualAddress,
|
||||
_In_ BOOLEAN CacheEnabled)
|
||||
{
|
||||
PFREE_COMMON_BUFFER freeCommonBuffer;
|
||||
|
||||
@@ -40,11 +42,12 @@ HalFreeCommonBuffer(
|
||||
freeCommonBuffer( DmaAdapter, Length, LogicalAddress, VirtualAddress, CacheEnabled );
|
||||
}
|
||||
|
||||
__drv_preferredFunction("ReadDmaCounter","Obsolete")
|
||||
FORCEINLINE
|
||||
ULONG
|
||||
NTAPI
|
||||
HalReadDmaCounter(
|
||||
IN PDMA_ADAPTER DmaAdapter)
|
||||
_In_ PDMA_ADAPTER DmaAdapter)
|
||||
{
|
||||
PREAD_DMA_COUNTER readDmaCounter;
|
||||
ULONG counter;
|
||||
@@ -58,7 +61,7 @@ HalReadDmaCounter(
|
||||
FORCEINLINE
|
||||
ULONG
|
||||
HalGetDmaAlignment(
|
||||
IN PDMA_ADAPTER DmaAdapter)
|
||||
_In_ PDMA_ADAPTER DmaAdapter)
|
||||
{
|
||||
PGET_DMA_ALIGNMENT getDmaAlignment;
|
||||
ULONG alignment;
|
||||
@@ -80,65 +83,65 @@ NTHALAPI
|
||||
VOID
|
||||
NTAPI
|
||||
IoFreeAdapterChannel(
|
||||
IN PADAPTER_OBJECT AdapterObject);
|
||||
_In_ PADAPTER_OBJECT AdapterObject);
|
||||
|
||||
//DECLSPEC_DEPRECATED_DDK
|
||||
NTHALAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
IoFlushAdapterBuffers(
|
||||
IN PADAPTER_OBJECT AdapterObject,
|
||||
IN PMDL Mdl,
|
||||
IN PVOID MapRegisterBase,
|
||||
IN PVOID CurrentVa,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN WriteToDevice);
|
||||
_In_ PADAPTER_OBJECT AdapterObject,
|
||||
_In_ PMDL Mdl,
|
||||
_In_ PVOID MapRegisterBase,
|
||||
_In_ PVOID CurrentVa,
|
||||
_In_ ULONG Length,
|
||||
_In_ BOOLEAN WriteToDevice);
|
||||
|
||||
//DECLSPEC_DEPRECATED_DDK
|
||||
NTHALAPI
|
||||
VOID
|
||||
NTAPI
|
||||
IoFreeMapRegisters(
|
||||
IN PADAPTER_OBJECT AdapterObject,
|
||||
IN PVOID MapRegisterBase,
|
||||
IN ULONG NumberOfMapRegisters);
|
||||
_In_ PADAPTER_OBJECT AdapterObject,
|
||||
_In_ PVOID MapRegisterBase,
|
||||
_In_ ULONG NumberOfMapRegisters);
|
||||
|
||||
//DECLSPEC_DEPRECATED_DDK
|
||||
NTHALAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
HalAllocateCommonBuffer(
|
||||
IN PADAPTER_OBJECT AdapterObject,
|
||||
IN ULONG Length,
|
||||
OUT PPHYSICAL_ADDRESS LogicalAddress,
|
||||
IN BOOLEAN CacheEnabled);
|
||||
_In_ PADAPTER_OBJECT AdapterObject,
|
||||
_In_ ULONG Length,
|
||||
_Out_ PPHYSICAL_ADDRESS LogicalAddress,
|
||||
_In_ BOOLEAN CacheEnabled);
|
||||
|
||||
//DECLSPEC_DEPRECATED_DDK
|
||||
NTHALAPI
|
||||
VOID
|
||||
NTAPI
|
||||
HalFreeCommonBuffer(
|
||||
IN PADAPTER_OBJECT AdapterObject,
|
||||
IN ULONG Length,
|
||||
IN PHYSICAL_ADDRESS LogicalAddress,
|
||||
IN PVOID VirtualAddress,
|
||||
IN BOOLEAN CacheEnabled);
|
||||
_In_ PADAPTER_OBJECT AdapterObject,
|
||||
_In_ ULONG Length,
|
||||
_In_ PHYSICAL_ADDRESS LogicalAddress,
|
||||
_In_ PVOID VirtualAddress,
|
||||
_In_ BOOLEAN CacheEnabled);
|
||||
|
||||
//DECLSPEC_DEPRECATED_DDK
|
||||
NTHALAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
HalReadDmaCounter(
|
||||
IN PADAPTER_OBJECT AdapterObject);
|
||||
_In_ PADAPTER_OBJECT AdapterObject);
|
||||
|
||||
NTHALAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HalAllocateAdapterChannel(
|
||||
IN PADAPTER_OBJECT AdapterObject,
|
||||
IN PWAIT_CONTEXT_BLOCK Wcb,
|
||||
IN ULONG NumberOfMapRegisters,
|
||||
IN PDRIVER_CONTROL ExecutionRoutine);
|
||||
_In_ PADAPTER_OBJECT AdapterObject,
|
||||
_In_ PWAIT_CONTEXT_BLOCK Wcb,
|
||||
_In_ ULONG NumberOfMapRegisters,
|
||||
_In_ PDRIVER_CONTROL ExecutionRoutine);
|
||||
|
||||
$endif (_NTDDK_)
|
||||
#endif /* USE_DMA_MACROS ... */
|
||||
@@ -149,142 +152,145 @@ NTHALAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HalAssignSlotResources(
|
||||
IN PUNICODE_STRING RegistryPath,
|
||||
IN PUNICODE_STRING DriverClassName,
|
||||
IN PDRIVER_OBJECT DriverObject,
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN INTERFACE_TYPE BusType,
|
||||
IN ULONG BusNumber,
|
||||
IN ULONG SlotNumber,
|
||||
IN OUT PCM_RESOURCE_LIST *AllocatedResources);
|
||||
_In_ PUNICODE_STRING RegistryPath,
|
||||
_In_opt_ PUNICODE_STRING DriverClassName,
|
||||
_In_ PDRIVER_OBJECT DriverObject,
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ INTERFACE_TYPE BusType,
|
||||
_In_ ULONG BusNumber,
|
||||
_In_ ULONG SlotNumber,
|
||||
_Inout_ PCM_RESOURCE_LIST *AllocatedResources);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTHALAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
HalGetInterruptVector(
|
||||
IN INTERFACE_TYPE InterfaceType,
|
||||
IN ULONG BusNumber,
|
||||
IN ULONG BusInterruptLevel,
|
||||
IN ULONG BusInterruptVector,
|
||||
OUT PKIRQL Irql,
|
||||
OUT PKAFFINITY Affinity);
|
||||
_In_ INTERFACE_TYPE InterfaceType,
|
||||
_In_ ULONG BusNumber,
|
||||
_In_ ULONG BusInterruptLevel,
|
||||
_In_ ULONG BusInterruptVector,
|
||||
_Out_ PKIRQL Irql,
|
||||
_Out_ PKAFFINITY Affinity);
|
||||
|
||||
NTHALAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
HalSetBusData(
|
||||
IN BUS_DATA_TYPE BusDataType,
|
||||
IN ULONG BusNumber,
|
||||
IN ULONG SlotNumber,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG Length);
|
||||
_In_ BUS_DATA_TYPE BusDataType,
|
||||
_In_ ULONG BusNumber,
|
||||
_In_ ULONG SlotNumber,
|
||||
_In_reads_bytes_(Length) PVOID Buffer,
|
||||
_In_ ULONG Length);
|
||||
|
||||
NTHALAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
HalGetBusData(
|
||||
IN BUS_DATA_TYPE BusDataType,
|
||||
IN ULONG BusNumber,
|
||||
IN ULONG SlotNumber,
|
||||
OUT PVOID Buffer,
|
||||
IN ULONG Length);
|
||||
_In_ BUS_DATA_TYPE BusDataType,
|
||||
_In_ ULONG BusNumber,
|
||||
_In_ ULONG SlotNumber,
|
||||
_Out_writes_bytes_(Length) PVOID Buffer,
|
||||
_In_ ULONG Length);
|
||||
|
||||
NTHALAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalMakeBeep(
|
||||
IN ULONG Frequency);
|
||||
_In_ ULONG Frequency);
|
||||
#endif /* !defined(NO_LEGACY_DRIVERS) */
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTHALAPI
|
||||
PADAPTER_OBJECT
|
||||
NTAPI
|
||||
HalGetAdapter(
|
||||
IN PDEVICE_DESCRIPTION DeviceDescription,
|
||||
OUT PULONG NumberOfMapRegisters);
|
||||
_In_ PDEVICE_DESCRIPTION DeviceDescription,
|
||||
_Out_ PULONG NumberOfMapRegisters);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalPutDmaAdapter(
|
||||
IN PADAPTER_OBJECT DmaAdapter);
|
||||
_In_ PADAPTER_OBJECT DmaAdapter);
|
||||
|
||||
NTHALAPI
|
||||
VOID
|
||||
NTAPI
|
||||
HalAcquireDisplayOwnership(
|
||||
IN PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters);
|
||||
_In_ PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters);
|
||||
|
||||
NTHALAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
HalGetBusDataByOffset(
|
||||
IN BUS_DATA_TYPE BusDataType,
|
||||
IN ULONG BusNumber,
|
||||
IN ULONG SlotNumber,
|
||||
OUT PVOID Buffer,
|
||||
IN ULONG Offset,
|
||||
IN ULONG Length);
|
||||
_In_ BUS_DATA_TYPE BusDataType,
|
||||
_In_ ULONG BusNumber,
|
||||
_In_ ULONG SlotNumber,
|
||||
_Out_writes_bytes_(Length) PVOID Buffer,
|
||||
_In_ ULONG Offset,
|
||||
_In_ ULONG Length);
|
||||
|
||||
NTHALAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
HalSetBusDataByOffset(
|
||||
IN BUS_DATA_TYPE BusDataType,
|
||||
IN ULONG BusNumber,
|
||||
IN ULONG SlotNumber,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG Offset,
|
||||
IN ULONG Length);
|
||||
_In_ BUS_DATA_TYPE BusDataType,
|
||||
_In_ ULONG BusNumber,
|
||||
_In_ ULONG SlotNumber,
|
||||
_In_reads_bytes_(Length) PVOID Buffer,
|
||||
_In_ ULONG Offset,
|
||||
_In_ ULONG Length);
|
||||
|
||||
NTHALAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalTranslateBusAddress(
|
||||
IN INTERFACE_TYPE InterfaceType,
|
||||
IN ULONG BusNumber,
|
||||
IN PHYSICAL_ADDRESS BusAddress,
|
||||
IN OUT PULONG AddressSpace,
|
||||
OUT PPHYSICAL_ADDRESS TranslatedAddress);
|
||||
_In_ INTERFACE_TYPE InterfaceType,
|
||||
_In_ ULONG BusNumber,
|
||||
_In_ PHYSICAL_ADDRESS BusAddress,
|
||||
_Inout_ PULONG AddressSpace,
|
||||
_Out_ PPHYSICAL_ADDRESS TranslatedAddress);
|
||||
|
||||
NTHALAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
HalAllocateCrashDumpRegisters(
|
||||
IN PADAPTER_OBJECT AdapterObject,
|
||||
IN OUT PULONG NumberOfMapRegisters);
|
||||
_In_ PADAPTER_OBJECT AdapterObject,
|
||||
_Inout_ PULONG NumberOfMapRegisters);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HalGetScatterGatherList(
|
||||
IN PADAPTER_OBJECT DmaAdapter,
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PMDL Mdl,
|
||||
IN PVOID CurrentVa,
|
||||
IN ULONG Length,
|
||||
IN PDRIVER_LIST_CONTROL ExecutionRoutine,
|
||||
IN PVOID Context,
|
||||
IN BOOLEAN WriteToDevice);
|
||||
_In_ PADAPTER_OBJECT DmaAdapter,
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PMDL Mdl,
|
||||
_In_ PVOID CurrentVa,
|
||||
_In_ ULONG Length,
|
||||
_In_ PDRIVER_LIST_CONTROL ExecutionRoutine,
|
||||
_In_ PVOID Context,
|
||||
_In_ BOOLEAN WriteToDevice);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalPutScatterGatherList(
|
||||
IN PADAPTER_OBJECT DmaAdapter,
|
||||
IN PSCATTER_GATHER_LIST ScatterGather,
|
||||
IN BOOLEAN WriteToDevice);
|
||||
_In_ PADAPTER_OBJECT DmaAdapter,
|
||||
_In_ PSCATTER_GATHER_LIST ScatterGather,
|
||||
_In_ BOOLEAN WriteToDevice);
|
||||
|
||||
$endif (_NTDDK_)
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
|
||||
|
||||
$if (_NTDDK_)
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
HalExamineMBR(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN ULONG SectorSize,
|
||||
IN ULONG MBRTypeIdentifier,
|
||||
OUT PVOID *Buffer);
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ ULONG SectorSize,
|
||||
_In_ ULONG MBRTypeIdentifier,
|
||||
_Out_ PVOID *Buffer);
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
@@ -292,15 +298,15 @@ HalExamineMBR(
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HalAllocateHardwareCounters(
|
||||
IN PGROUP_AFFINITY GroupAffinty,
|
||||
IN ULONG GroupCount,
|
||||
IN PPHYSICAL_COUNTER_RESOURCE_LIST ResourceList,
|
||||
OUT PHANDLE CounterSetHandle);
|
||||
_In_reads_(GroupCount) PGROUP_AFFINITY GroupAffinty,
|
||||
_In_ ULONG GroupCount,
|
||||
_In_ PPHYSICAL_COUNTER_RESOURCE_LIST ResourceList,
|
||||
_Out_ PHANDLE CounterSetHandle);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HalFreeHardwareCounters(
|
||||
IN HANDLE CounterSetHandle);
|
||||
_In_ HANDLE CounterSetHandle);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
|
||||
|
||||
@@ -326,8 +332,8 @@ NTHALAPI
|
||||
VOID
|
||||
NTAPI
|
||||
HalBugCheckSystem(
|
||||
IN PWHEA_ERROR_SOURCE_DESCRIPTOR ErrorSource,
|
||||
IN PWHEA_ERROR_RECORD ErrorRecord);
|
||||
_In_ PWHEA_ERROR_SOURCE_DESCRIPTOR ErrorSource,
|
||||
_In_ PWHEA_ERROR_RECORD ErrorRecord);
|
||||
|
||||
#else
|
||||
|
||||
@@ -337,7 +343,7 @@ NTHALAPI
|
||||
VOID
|
||||
NTAPI
|
||||
HalBugCheckSystem(
|
||||
IN PWHEA_ERROR_RECORD ErrorRecord);
|
||||
_In_ PWHEA_ERROR_RECORD ErrorRecord);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
|
||||
|
||||
|
||||
+112
-120
@@ -3,17 +3,17 @@
|
||||
$if (_NTDDK_)
|
||||
typedef BOOLEAN
|
||||
(NTAPI *PHAL_RESET_DISPLAY_PARAMETERS)(
|
||||
IN ULONG Columns,
|
||||
IN ULONG Rows);
|
||||
_In_ ULONG Columns,
|
||||
_In_ ULONG Rows);
|
||||
|
||||
typedef PBUS_HANDLER
|
||||
(FASTCALL *pHalHandlerForBus)(
|
||||
IN INTERFACE_TYPE InterfaceType,
|
||||
IN ULONG BusNumber);
|
||||
_In_ INTERFACE_TYPE InterfaceType,
|
||||
_In_ ULONG BusNumber);
|
||||
|
||||
typedef VOID
|
||||
(FASTCALL *pHalReferenceBusHandler)(
|
||||
IN PBUS_HANDLER BusHandler);
|
||||
_In_ PBUS_HANDLER BusHandler);
|
||||
|
||||
typedef enum _HAL_QUERY_INFORMATION_CLASS {
|
||||
HalInstalledBusInformation,
|
||||
@@ -63,56 +63,55 @@ typedef enum _HAL_SET_INFORMATION_CLASS {
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *pHalQuerySystemInformation)(
|
||||
IN HAL_QUERY_INFORMATION_CLASS InformationClass,
|
||||
IN ULONG BufferSize,
|
||||
IN OUT PVOID Buffer,
|
||||
OUT PULONG ReturnedLength);
|
||||
_In_ HAL_QUERY_INFORMATION_CLASS InformationClass,
|
||||
_In_ ULONG BufferSize,
|
||||
_Inout_updates_bytes_to_(BufferSize, *ReturnedLength) PVOID Buffer,
|
||||
_Out_ PULONG ReturnedLength);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *pHalSetSystemInformation)(
|
||||
IN HAL_SET_INFORMATION_CLASS InformationClass,
|
||||
IN ULONG BufferSize,
|
||||
IN PVOID Buffer);
|
||||
_In_ HAL_SET_INFORMATION_CLASS InformationClass,
|
||||
_In_ ULONG BufferSize,
|
||||
_In_ PVOID Buffer);
|
||||
|
||||
typedef VOID
|
||||
(FASTCALL *pHalExamineMBR)(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN ULONG SectorSize,
|
||||
IN ULONG MBRTypeIdentifier,
|
||||
OUT PVOID *Buffer);
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ ULONG SectorSize,
|
||||
_In_ ULONG MBRTypeIdentifier,
|
||||
_Out_ PVOID *Buffer);
|
||||
|
||||
typedef NTSTATUS
|
||||
(FASTCALL *pHalIoReadPartitionTable)(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN ULONG SectorSize,
|
||||
IN BOOLEAN ReturnRecognizedPartitions,
|
||||
OUT struct _DRIVE_LAYOUT_INFORMATION **PartitionBuffer);
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ ULONG SectorSize,
|
||||
_In_ BOOLEAN ReturnRecognizedPartitions,
|
||||
_Out_ struct _DRIVE_LAYOUT_INFORMATION **PartitionBuffer);
|
||||
|
||||
typedef NTSTATUS
|
||||
(FASTCALL *pHalIoSetPartitionInformation)(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN ULONG SectorSize,
|
||||
IN ULONG PartitionNumber,
|
||||
IN ULONG PartitionType);
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ ULONG SectorSize,
|
||||
_In_ ULONG PartitionNumber,
|
||||
_In_ ULONG PartitionType);
|
||||
|
||||
typedef NTSTATUS
|
||||
(FASTCALL *pHalIoWritePartitionTable)(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN ULONG SectorSize,
|
||||
IN ULONG SectorsPerTrack,
|
||||
IN ULONG NumberOfHeads,
|
||||
IN struct _DRIVE_LAYOUT_INFORMATION *PartitionBuffer);
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ ULONG SectorSize,
|
||||
_In_ ULONG SectorsPerTrack,
|
||||
_In_ ULONG NumberOfHeads,
|
||||
_In_ struct _DRIVE_LAYOUT_INFORMATION *PartitionBuffer);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *pHalQueryBusSlots)(
|
||||
IN PBUS_HANDLER BusHandler,
|
||||
IN ULONG BufferSize,
|
||||
OUT PULONG SlotNumbers,
|
||||
OUT PULONG ReturnedLength);
|
||||
_In_ PBUS_HANDLER BusHandler,
|
||||
_In_ ULONG BufferSize,
|
||||
_Out_ PULONG SlotNumbers,
|
||||
_Out_ PULONG ReturnedLength);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *pHalInitPnpDriver)(
|
||||
VOID);
|
||||
(NTAPI *pHalInitPnpDriver)(VOID);
|
||||
|
||||
typedef struct _PM_DISPATCH_TABLE {
|
||||
ULONG Signature;
|
||||
@@ -122,69 +121,66 @@ typedef struct _PM_DISPATCH_TABLE {
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *pHalInitPowerManagement)(
|
||||
IN PPM_DISPATCH_TABLE PmDriverDispatchTable,
|
||||
OUT PPM_DISPATCH_TABLE *PmHalDispatchTable);
|
||||
_In_ PPM_DISPATCH_TABLE PmDriverDispatchTable,
|
||||
_Out_ PPM_DISPATCH_TABLE *PmHalDispatchTable);
|
||||
|
||||
typedef struct _DMA_ADAPTER*
|
||||
(NTAPI *pHalGetDmaAdapter)(
|
||||
IN PVOID Context,
|
||||
IN struct _DEVICE_DESCRIPTION *DeviceDescriptor,
|
||||
OUT PULONG NumberOfMapRegisters);
|
||||
_In_ PVOID Context,
|
||||
_In_ struct _DEVICE_DESCRIPTION *DeviceDescriptor,
|
||||
_Out_ PULONG NumberOfMapRegisters);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *pHalGetInterruptTranslator)(
|
||||
IN INTERFACE_TYPE ParentInterfaceType,
|
||||
IN ULONG ParentBusNumber,
|
||||
IN INTERFACE_TYPE BridgeInterfaceType,
|
||||
IN USHORT Size,
|
||||
IN USHORT Version,
|
||||
OUT PTRANSLATOR_INTERFACE Translator,
|
||||
OUT PULONG BridgeBusNumber);
|
||||
_In_ INTERFACE_TYPE ParentInterfaceType,
|
||||
_In_ ULONG ParentBusNumber,
|
||||
_In_ INTERFACE_TYPE BridgeInterfaceType,
|
||||
_In_ USHORT Size,
|
||||
_In_ USHORT Version,
|
||||
_Out_ PTRANSLATOR_INTERFACE Translator,
|
||||
_Out_ PULONG BridgeBusNumber);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *pHalStartMirroring)(
|
||||
VOID);
|
||||
(NTAPI *pHalStartMirroring)(VOID);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *pHalEndMirroring)(
|
||||
IN ULONG PassNumber);
|
||||
_In_ ULONG PassNumber);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *pHalMirrorPhysicalMemory)(
|
||||
IN PHYSICAL_ADDRESS PhysicalAddress,
|
||||
IN LARGE_INTEGER NumberOfBytes);
|
||||
_In_ PHYSICAL_ADDRESS PhysicalAddress,
|
||||
_In_ LARGE_INTEGER NumberOfBytes);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *pHalMirrorVerify)(
|
||||
IN PHYSICAL_ADDRESS PhysicalAddress,
|
||||
IN LARGE_INTEGER NumberOfBytes);
|
||||
_In_ PHYSICAL_ADDRESS PhysicalAddress,
|
||||
_In_ LARGE_INTEGER NumberOfBytes);
|
||||
|
||||
typedef BOOLEAN
|
||||
(NTAPI *pHalTranslateBusAddress)(
|
||||
IN INTERFACE_TYPE InterfaceType,
|
||||
IN ULONG BusNumber,
|
||||
IN PHYSICAL_ADDRESS BusAddress,
|
||||
IN OUT PULONG AddressSpace,
|
||||
OUT PPHYSICAL_ADDRESS TranslatedAddress);
|
||||
_In_ INTERFACE_TYPE InterfaceType,
|
||||
_In_ ULONG BusNumber,
|
||||
_In_ PHYSICAL_ADDRESS BusAddress,
|
||||
_Inout_ PULONG AddressSpace,
|
||||
_Out_ PPHYSICAL_ADDRESS TranslatedAddress);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *pHalAssignSlotResources)(
|
||||
IN PUNICODE_STRING RegistryPath,
|
||||
IN PUNICODE_STRING DriverClassName OPTIONAL,
|
||||
IN PDRIVER_OBJECT DriverObject,
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN INTERFACE_TYPE BusType,
|
||||
IN ULONG BusNumber,
|
||||
IN ULONG SlotNumber,
|
||||
IN OUT PCM_RESOURCE_LIST *AllocatedResources);
|
||||
_In_ PUNICODE_STRING RegistryPath,
|
||||
_In_opt_ PUNICODE_STRING DriverClassName,
|
||||
_In_ PDRIVER_OBJECT DriverObject,
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ INTERFACE_TYPE BusType,
|
||||
_In_ ULONG BusNumber,
|
||||
_In_ ULONG SlotNumber,
|
||||
_Inout_ PCM_RESOURCE_LIST *AllocatedResources);
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *pHalHaltSystem)(
|
||||
VOID);
|
||||
(NTAPI *pHalHaltSystem)(VOID);
|
||||
|
||||
typedef BOOLEAN
|
||||
(NTAPI *pHalResetDisplay)(
|
||||
VOID);
|
||||
(NTAPI *pHalResetDisplay)(VOID);
|
||||
|
||||
typedef struct _MAP_REGISTER_ENTRY {
|
||||
PVOID MapRegister;
|
||||
@@ -197,49 +193,47 @@ typedef UCHAR
|
||||
|
||||
typedef BOOLEAN
|
||||
(NTAPI *pHalFindBusAddressTranslation)(
|
||||
IN PHYSICAL_ADDRESS BusAddress,
|
||||
IN OUT PULONG AddressSpace,
|
||||
OUT PPHYSICAL_ADDRESS TranslatedAddress,
|
||||
IN OUT PULONG_PTR Context,
|
||||
IN BOOLEAN NextBus);
|
||||
_In_ PHYSICAL_ADDRESS BusAddress,
|
||||
_Inout_ PULONG AddressSpace,
|
||||
_Out_ PPHYSICAL_ADDRESS TranslatedAddress,
|
||||
_Inout_ PULONG_PTR Context,
|
||||
_In_ BOOLEAN NextBus);
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *pHalEndOfBoot)(
|
||||
VOID);
|
||||
(NTAPI *pHalEndOfBoot)(VOID);
|
||||
|
||||
typedef PVOID
|
||||
(NTAPI *pHalGetAcpiTable)(
|
||||
IN ULONG Signature,
|
||||
IN PCSTR OemId OPTIONAL,
|
||||
IN PCSTR OemTableId OPTIONAL);
|
||||
_In_ ULONG Signature,
|
||||
_In_opt_ PCSTR OemId,
|
||||
_In_opt_ PCSTR OemTableId);
|
||||
|
||||
#if defined(_IA64_)
|
||||
typedef NTSTATUS
|
||||
(*pHalGetErrorCapList)(
|
||||
IN OUT PULONG CapsListLength,
|
||||
IN OUT PUCHAR ErrorCapList);
|
||||
_Inout_ PULONG CapsListLength,
|
||||
_Inout_updates_bytes_(*CapsListLength) PUCHAR ErrorCapList);
|
||||
|
||||
typedef NTSTATUS
|
||||
(*pHalInjectError)(
|
||||
IN ULONG BufferLength,
|
||||
IN PUCHAR Buffer);
|
||||
_In_ ULONG BufferLength,
|
||||
_In_reads_bytes_(BufferLength) PUCHAR Buffer);
|
||||
#endif
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PCI_ERROR_HANDLER_CALLBACK)(
|
||||
VOID);
|
||||
(NTAPI *PCI_ERROR_HANDLER_CALLBACK)(VOID);
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *pHalSetPciErrorHandlerCallback)(
|
||||
IN PCI_ERROR_HANDLER_CALLBACK Callback);
|
||||
_In_ PCI_ERROR_HANDLER_CALLBACK Callback);
|
||||
|
||||
#if 1 /* Not present in WDK 7600 */
|
||||
typedef VOID
|
||||
(FASTCALL *pHalIoAssignDriveLetters)(
|
||||
IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
|
||||
IN PSTRING NtDeviceName,
|
||||
OUT PUCHAR NtSystemPath,
|
||||
OUT PSTRING NtSystemPathString);
|
||||
_In_ struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
|
||||
_In_ PSTRING NtDeviceName,
|
||||
_Out_ PUCHAR NtSystemPath,
|
||||
_Out_ PSTRING NtSystemPathString);
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
@@ -367,10 +361,10 @@ typedef struct _HAL_PROCESSOR_FEATURE {
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *PHALIOREADWRITEHANDLER)(
|
||||
IN BOOLEAN fRead,
|
||||
IN ULONG dwAddr,
|
||||
IN ULONG dwSize,
|
||||
IN OUT PULONG pdwData);
|
||||
_In_ BOOLEAN fRead,
|
||||
_In_ ULONG dwAddr,
|
||||
_In_ ULONG dwSize,
|
||||
_Inout_ PULONG pdwData);
|
||||
|
||||
typedef struct _HAL_AMLI_BAD_IO_ADDRESS_LIST {
|
||||
ULONG BadAddrBegin;
|
||||
@@ -382,17 +376,15 @@ typedef struct _HAL_AMLI_BAD_IO_ADDRESS_LIST {
|
||||
#if defined(_X86_) || defined(_IA64_) || defined(_AMD64_)
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PHALMCAINTERFACELOCK)(
|
||||
VOID);
|
||||
(NTAPI *PHALMCAINTERFACELOCK)(VOID);
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PHALMCAINTERFACEUNLOCK)(
|
||||
VOID);
|
||||
(NTAPI *PHALMCAINTERFACEUNLOCK)(VOID);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *PHALMCAINTERFACEREADREGISTER)(
|
||||
IN UCHAR BankNumber,
|
||||
IN OUT PVOID Exception);
|
||||
_In_ UCHAR BankNumber,
|
||||
_Inout_ PVOID Exception);
|
||||
|
||||
typedef struct _HAL_MCA_INTERFACE {
|
||||
PHALMCAINTERFACELOCK Lock;
|
||||
@@ -414,10 +406,10 @@ struct _KEXCEPTION_FRAME;
|
||||
|
||||
typedef ERROR_SEVERITY
|
||||
(NTAPI *PDRIVER_EXCPTN_CALLBACK)(
|
||||
IN PVOID Context,
|
||||
IN struct _KTRAP_FRAME *TrapFrame,
|
||||
IN struct _KEXCEPTION_FRAME *ExceptionFrame,
|
||||
IN PMCA_EXCEPTION Exception);
|
||||
_In_ PVOID Context,
|
||||
_In_ struct _KTRAP_FRAME *TrapFrame,
|
||||
_In_ struct _KEXCEPTION_FRAME *ExceptionFrame,
|
||||
_In_ PMCA_EXCEPTION Exception);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -429,8 +421,8 @@ ERROR_SEVERITY
|
||||
VOID
|
||||
#endif
|
||||
(NTAPI *PDRIVER_EXCPTN_CALLBACK)(
|
||||
IN PVOID Context,
|
||||
IN PMCA_EXCEPTION BankLog);
|
||||
_In_ PVOID Context,
|
||||
_In_ PMCA_EXCEPTION BankLog);
|
||||
#endif
|
||||
|
||||
typedef PDRIVER_EXCPTN_CALLBACK PDRIVER_MCA_EXCEPTION_CALLBACK;
|
||||
@@ -485,13 +477,13 @@ typedef struct _HAL_ERROR_INFO {
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PDRIVER_CMC_EXCEPTION_CALLBACK)(
|
||||
IN PVOID Context,
|
||||
IN PCMC_EXCEPTION CmcLog);
|
||||
_In_ PVOID Context,
|
||||
_In_ PCMC_EXCEPTION CmcLog);
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PDRIVER_CPE_EXCEPTION_CALLBACK)(
|
||||
IN PVOID Context,
|
||||
IN PCPE_EXCEPTION CmcLog);
|
||||
_In_ PVOID Context,
|
||||
_In_ PCPE_EXCEPTION CmcLog);
|
||||
|
||||
typedef struct _CMC_DRIVER_INFO {
|
||||
PDRIVER_CMC_EXCEPTION_CALLBACK ExceptionCallback;
|
||||
@@ -511,20 +503,20 @@ typedef struct _CPE_DRIVER_INFO {
|
||||
|
||||
typedef NTSTATUS
|
||||
(*HALSENDCROSSPARTITIONIPI)(
|
||||
IN USHORT ProcessorID,
|
||||
IN UCHAR HardwareVector);
|
||||
_In_ USHORT ProcessorID,
|
||||
_In_ UCHAR HardwareVector);
|
||||
|
||||
typedef NTSTATUS
|
||||
(*HALRESERVECROSSPARTITIONINTERRUPTVECTOR)(
|
||||
OUT PULONG Vector,
|
||||
OUT PKIRQL Irql,
|
||||
IN OUT PGROUP_AFFINITY Affinity,
|
||||
OUT PUCHAR HardwareVector);
|
||||
_Out_ PULONG Vector,
|
||||
_Out_ PKIRQL Irql,
|
||||
_Inout_ PGROUP_AFFINITY Affinity,
|
||||
_Out_ PUCHAR HardwareVector);
|
||||
|
||||
typedef VOID
|
||||
(*HALFREECROSSPARTITIONINTERRUPTVECTOR)(
|
||||
IN ULONG Vector,
|
||||
IN PGROUP_AFFINITY Affinity);
|
||||
_In_ ULONG Vector,
|
||||
_In_ PGROUP_AFFINITY Affinity);
|
||||
|
||||
typedef struct _HAL_CROSS_PARTITION_IPI_INTERFACE {
|
||||
HALSENDCROSSPARTITIONIPI HalSendCrossPartitionIpi;
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
|
||||
static __inline__ BOOLEAN
|
||||
InterlockedBitTestAndSet(
|
||||
IN LONG volatile *Base,
|
||||
IN LONG Bit)
|
||||
_Inout_updates_bytes_((Bit+7)/8) _Interlocked_operand_ LONG volatile *Base,
|
||||
_In_ LONG Bit)
|
||||
{
|
||||
#if defined(_M_IX86)
|
||||
LONG OldBit;
|
||||
@@ -28,8 +28,8 @@ InterlockedBitTestAndSet(
|
||||
|
||||
static __inline__ BOOLEAN
|
||||
InterlockedBitTestAndReset(
|
||||
IN LONG volatile *Base,
|
||||
IN LONG Bit)
|
||||
_Inout_updates_bytes_((Bit+7)/8) _Interlocked_operand_ LONG volatile *Base,
|
||||
_In_ LONG Bit)
|
||||
{
|
||||
#if defined(_M_IX86)
|
||||
LONG OldBit;
|
||||
@@ -74,35 +74,35 @@ NTKERNELAPI
|
||||
LONG
|
||||
FASTCALL
|
||||
InterlockedIncrement(
|
||||
IN OUT LONG volatile *Addend);
|
||||
_Inout_ _Interlocked_operand_ LONG volatile *Addend);
|
||||
|
||||
NTKERNELAPI
|
||||
LONG
|
||||
FASTCALL
|
||||
InterlockedDecrement(
|
||||
IN OUT LONG volatile *Addend);
|
||||
_Inout_ _Interlocked_operand_ LONG volatile *Addend);
|
||||
|
||||
NTKERNELAPI
|
||||
LONG
|
||||
FASTCALL
|
||||
InterlockedCompareExchange(
|
||||
IN OUT LONG volatile *Destination,
|
||||
IN LONG Exchange,
|
||||
IN LONG Comparand);
|
||||
_Inout_ _Interlocked_operand_ LONG volatile *Destination,
|
||||
_In_ LONG Exchange,
|
||||
_In_ LONG Comparand);
|
||||
|
||||
NTKERNELAPI
|
||||
LONG
|
||||
FASTCALL
|
||||
InterlockedExchange(
|
||||
IN OUT LONG volatile *Destination,
|
||||
IN LONG Value);
|
||||
_Inout_ _Interlocked_operand_ LONG volatile *Destination,
|
||||
_In_ LONG Value);
|
||||
|
||||
NTKERNELAPI
|
||||
LONG
|
||||
FASTCALL
|
||||
InterlockedExchangeAdd(
|
||||
IN OUT LONG volatile *Addend,
|
||||
IN LONG Value);
|
||||
_Inout_ _Interlocked_operand_ LONG volatile *Addend,
|
||||
_In_ LONG Value);
|
||||
|
||||
#else /* !defined(NO_INTERLOCKED_INTRINSICS) */
|
||||
|
||||
@@ -180,8 +180,8 @@ InterlockedExchangeAdd(
|
||||
FORCEINLINE
|
||||
LONG64
|
||||
InterlockedAdd64(
|
||||
IN OUT LONG64 volatile *Addend,
|
||||
IN LONG64 Value)
|
||||
_Inout_ _Interlocked_operand_ LONG64 volatile *Addend,
|
||||
_In_ LONG64 Value)
|
||||
{
|
||||
return InterlockedExchangeAdd64(Addend, Value) + Value;
|
||||
}
|
||||
|
||||
+919
-728
File diff suppressed because it is too large
Load Diff
+640
-472
File diff suppressed because it is too large
Load Diff
@@ -6,9 +6,9 @@ NTSYSAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
DbgPrompt(
|
||||
IN PCCH Prompt,
|
||||
OUT PCH Response,
|
||||
IN ULONG MaximumResponseLength);
|
||||
_In_z_ PCCH Prompt,
|
||||
_Out_writes_bytes_(MaximumResponseLength) PCH Response,
|
||||
_In_ ULONG MaximumResponseLength);
|
||||
$endif (_NTDDK_)
|
||||
|
||||
$if (_WDMDDK_)
|
||||
@@ -17,16 +17,16 @@ $if (_WDMDDK_)
|
||||
ULONG
|
||||
__cdecl
|
||||
DbgPrint(
|
||||
IN PCSTR Format,
|
||||
IN ...);
|
||||
_In_z_ _Printf_format_string_ PCSTR Format,
|
||||
...);
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
NTSYSAPI
|
||||
ULONG
|
||||
__cdecl
|
||||
DbgPrintReturnControlC(
|
||||
IN PCCH Format,
|
||||
IN ...);
|
||||
_In_z_ _Printf_format_string_ PCCH Format,
|
||||
...);
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
@@ -35,10 +35,10 @@ NTSYSAPI
|
||||
ULONG
|
||||
__cdecl
|
||||
DbgPrintEx(
|
||||
IN ULONG ComponentId,
|
||||
IN ULONG Level,
|
||||
IN PCSTR Format,
|
||||
IN ...);
|
||||
_In_ ULONG ComponentId,
|
||||
_In_ ULONG Level,
|
||||
_In_z_ _Printf_format_string_ PCSTR Format,
|
||||
...);
|
||||
|
||||
#ifdef _VA_LIST_DEFINED
|
||||
|
||||
@@ -46,20 +46,20 @@ NTSYSAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
vDbgPrintEx(
|
||||
IN ULONG ComponentId,
|
||||
IN ULONG Level,
|
||||
IN PCCH Format,
|
||||
IN va_list ap);
|
||||
_In_ ULONG ComponentId,
|
||||
_In_ ULONG Level,
|
||||
_In_z_ PCCH Format,
|
||||
_In_ va_list ap);
|
||||
|
||||
NTSYSAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
vDbgPrintExWithPrefix(
|
||||
IN PCCH Prefix,
|
||||
IN ULONG ComponentId,
|
||||
IN ULONG Level,
|
||||
IN PCCH Format,
|
||||
IN va_list ap);
|
||||
_In_z_ PCCH Prefix,
|
||||
_In_ ULONG ComponentId,
|
||||
_In_ ULONG Level,
|
||||
_In_z_ PCCH Format,
|
||||
_In_ va_list ap);
|
||||
|
||||
#endif /* _VA_LIST_DEFINED */
|
||||
|
||||
@@ -67,16 +67,16 @@ NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
DbgQueryDebugFilterState(
|
||||
IN ULONG ComponentId,
|
||||
IN ULONG Level);
|
||||
_In_ ULONG ComponentId,
|
||||
_In_ ULONG Level);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
DbgSetDebugFilterState(
|
||||
IN ULONG ComponentId,
|
||||
IN ULONG Level,
|
||||
IN BOOLEAN State);
|
||||
_In_ ULONG ComponentId,
|
||||
_In_ ULONG Level,
|
||||
_In_ BOOLEAN State);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
|
||||
|
||||
@@ -84,16 +84,16 @@ DbgSetDebugFilterState(
|
||||
|
||||
typedef VOID
|
||||
(*PDEBUG_PRINT_CALLBACK)(
|
||||
IN PSTRING Output,
|
||||
IN ULONG ComponentId,
|
||||
IN ULONG Level);
|
||||
_In_ PSTRING Output,
|
||||
_In_ ULONG ComponentId,
|
||||
_In_ ULONG Level);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
DbgSetDebugPrintCallback(
|
||||
IN PDEBUG_PRINT_CALLBACK DebugPrintCallback,
|
||||
IN BOOLEAN Enable);
|
||||
_In_ PDEBUG_PRINT_CALLBACK DebugPrintCallback,
|
||||
_In_ BOOLEAN Enable);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
||||
|
||||
@@ -157,11 +157,13 @@ KdEnableDebugger(VOID);
|
||||
#if (_MSC_FULL_VER >= 150030729) && !defined(IMPORT_NATIVE_DBG_BREAK)
|
||||
#define DbgBreakPoint __debugbreak
|
||||
#else
|
||||
__analysis_noreturn
|
||||
VOID
|
||||
NTAPI
|
||||
DbgBreakPoint(VOID);
|
||||
#endif
|
||||
|
||||
__analysis_noreturn
|
||||
NTSYSAPI
|
||||
VOID
|
||||
NTAPI
|
||||
@@ -182,11 +184,11 @@ NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
KdChangeOption(
|
||||
IN KD_OPTION Option,
|
||||
IN ULONG InBufferBytes OPTIONAL,
|
||||
IN PVOID InBuffer,
|
||||
IN ULONG OutBufferBytes OPTIONAL,
|
||||
OUT PVOID OutBuffer,
|
||||
OUT PULONG OutBufferNeeded OPTIONAL);
|
||||
_In_ KD_OPTION Option,
|
||||
_In_opt_ ULONG InBufferBytes,
|
||||
_In_ PVOID InBuffer,
|
||||
_In_opt_ ULONG OutBufferBytes,
|
||||
_Out_ PVOID OutBuffer,
|
||||
_Out_opt_ PULONG OutBufferNeeded);
|
||||
#endif
|
||||
$endif (_WDMDDK_)
|
||||
|
||||
@@ -36,59 +36,58 @@ typedef struct _DEBUG_DEVICE_DESCRIPTOR {
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *pKdSetupPciDeviceForDebugging)(
|
||||
IN PVOID LoaderBlock OPTIONAL,
|
||||
IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice);
|
||||
_In_opt_ PVOID LoaderBlock,
|
||||
_Inout_ PDEBUG_DEVICE_DESCRIPTOR PciDevice);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *pKdReleasePciDeviceForDebugging)(
|
||||
IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice);
|
||||
_Inout_ PDEBUG_DEVICE_DESCRIPTOR PciDevice);
|
||||
|
||||
typedef PVOID
|
||||
(NTAPI *pKdGetAcpiTablePhase0)(
|
||||
IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
|
||||
IN ULONG Signature);
|
||||
_In_ struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
|
||||
_In_ ULONG Signature);
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *pKdCheckPowerButton)(
|
||||
VOID);
|
||||
(NTAPI *pKdCheckPowerButton)(VOID);
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
typedef PVOID
|
||||
(NTAPI *pKdMapPhysicalMemory64)(
|
||||
IN PHYSICAL_ADDRESS PhysicalAddress,
|
||||
IN ULONG NumberPages,
|
||||
IN BOOLEAN FlushCurrentTLB);
|
||||
_In_ PHYSICAL_ADDRESS PhysicalAddress,
|
||||
_In_ ULONG NumberPages,
|
||||
_In_ BOOLEAN FlushCurrentTLB);
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *pKdUnmapVirtualAddress)(
|
||||
IN PVOID VirtualAddress,
|
||||
IN ULONG NumberPages,
|
||||
IN BOOLEAN FlushCurrentTLB);
|
||||
_In_ PVOID VirtualAddress,
|
||||
_In_ ULONG NumberPages,
|
||||
_In_ BOOLEAN FlushCurrentTLB);
|
||||
#else
|
||||
typedef PVOID
|
||||
(NTAPI *pKdMapPhysicalMemory64)(
|
||||
IN PHYSICAL_ADDRESS PhysicalAddress,
|
||||
IN ULONG NumberPages);
|
||||
_In_ PHYSICAL_ADDRESS PhysicalAddress,
|
||||
_In_ ULONG NumberPages);
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *pKdUnmapVirtualAddress)(
|
||||
IN PVOID VirtualAddress,
|
||||
IN ULONG NumberPages);
|
||||
_In_ PVOID VirtualAddress,
|
||||
_In_ ULONG NumberPages);
|
||||
#endif
|
||||
|
||||
typedef ULONG
|
||||
(NTAPI *pKdGetPciDataByOffset)(
|
||||
IN ULONG BusNumber,
|
||||
IN ULONG SlotNumber,
|
||||
OUT PVOID Buffer,
|
||||
IN ULONG Offset,
|
||||
IN ULONG Length);
|
||||
_In_ ULONG BusNumber,
|
||||
_In_ ULONG SlotNumber,
|
||||
_Out_writes_bytes_(Length) PVOID Buffer,
|
||||
_In_ ULONG Offset,
|
||||
_In_ ULONG Length);
|
||||
|
||||
typedef ULONG
|
||||
(NTAPI *pKdSetPciDataByOffset)(
|
||||
IN ULONG BusNumber,
|
||||
IN ULONG SlotNumber,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG Offset,
|
||||
IN ULONG Length);
|
||||
_In_ ULONG BusNumber,
|
||||
_In_ ULONG SlotNumber,
|
||||
_In_reads_bytes_(Length) PVOID Buffer,
|
||||
_In_ ULONG Offset,
|
||||
_In_ ULONG Length);
|
||||
$endif (_NTDDK_)
|
||||
|
||||
+513
-268
File diff suppressed because it is too large
Load Diff
@@ -73,7 +73,7 @@ typedef struct _PROCESSOR_RELATIONSHIP {
|
||||
UCHAR Flags;
|
||||
UCHAR Reserved[21];
|
||||
USHORT GroupCount;
|
||||
GROUP_AFFINITY GroupMask[ANYSIZE_ARRAY];
|
||||
_Field_size_(GroupCount) GROUP_AFFINITY GroupMask[ANYSIZE_ARRAY];
|
||||
} PROCESSOR_RELATIONSHIP, *PPROCESSOR_RELATIONSHIP;
|
||||
|
||||
typedef struct _NUMA_NODE_RELATIONSHIP {
|
||||
@@ -264,29 +264,31 @@ typedef enum _KBUGCHECK_CALLBACK_REASON {
|
||||
|
||||
struct _KBUGCHECK_REASON_CALLBACK_RECORD;
|
||||
|
||||
_Function_class_(KBUGCHECK_REASON_CALLBACK_ROUTINE)
|
||||
_IRQL_requires_same_
|
||||
typedef VOID
|
||||
(NTAPI KBUGCHECK_REASON_CALLBACK_ROUTINE)(
|
||||
IN KBUGCHECK_CALLBACK_REASON Reason,
|
||||
IN struct _KBUGCHECK_REASON_CALLBACK_RECORD *Record,
|
||||
IN OUT PVOID ReasonSpecificData,
|
||||
IN ULONG ReasonSpecificDataLength);
|
||||
_In_ KBUGCHECK_CALLBACK_REASON Reason,
|
||||
_In_ struct _KBUGCHECK_REASON_CALLBACK_RECORD *Record,
|
||||
_Inout_ PVOID ReasonSpecificData,
|
||||
_In_ ULONG ReasonSpecificDataLength);
|
||||
typedef KBUGCHECK_REASON_CALLBACK_ROUTINE *PKBUGCHECK_REASON_CALLBACK_ROUTINE;
|
||||
|
||||
typedef struct _KBUGCHECK_ADD_PAGES {
|
||||
IN OUT PVOID Context;
|
||||
IN OUT ULONG Flags;
|
||||
IN ULONG BugCheckCode;
|
||||
OUT ULONG_PTR Address;
|
||||
OUT ULONG_PTR Count;
|
||||
_Inout_ PVOID Context;
|
||||
_Inout_ ULONG Flags;
|
||||
_In_ ULONG BugCheckCode;
|
||||
_Out_ ULONG_PTR Address;
|
||||
_Out_ ULONG_PTR Count;
|
||||
} KBUGCHECK_ADD_PAGES, *PKBUGCHECK_ADD_PAGES;
|
||||
|
||||
typedef struct _KBUGCHECK_SECONDARY_DUMP_DATA {
|
||||
IN PVOID InBuffer;
|
||||
IN ULONG InBufferLength;
|
||||
IN ULONG MaximumAllowed;
|
||||
OUT GUID Guid;
|
||||
OUT PVOID OutBuffer;
|
||||
OUT ULONG OutBufferLength;
|
||||
_In_ PVOID InBuffer;
|
||||
_In_ ULONG InBufferLength;
|
||||
_In_ ULONG MaximumAllowed;
|
||||
_Out_ GUID Guid;
|
||||
_Out_ PVOID OutBuffer;
|
||||
_Out_ ULONG OutBufferLength;
|
||||
} KBUGCHECK_SECONDARY_DUMP_DATA, *PKBUGCHECK_SECONDARY_DUMP_DATA;
|
||||
|
||||
typedef enum _KBUGCHECK_DUMP_IO_TYPE {
|
||||
@@ -298,10 +300,10 @@ typedef enum _KBUGCHECK_DUMP_IO_TYPE {
|
||||
} KBUGCHECK_DUMP_IO_TYPE;
|
||||
|
||||
typedef struct _KBUGCHECK_DUMP_IO {
|
||||
IN ULONG64 Offset;
|
||||
IN PVOID Buffer;
|
||||
IN ULONG BufferLength;
|
||||
IN KBUGCHECK_DUMP_IO_TYPE Type;
|
||||
_In_ ULONG64 Offset;
|
||||
_In_ PVOID Buffer;
|
||||
_In_ ULONG BufferLength;
|
||||
_In_ KBUGCHECK_DUMP_IO_TYPE Type;
|
||||
} KBUGCHECK_DUMP_IO, *PKBUGCHECK_DUMP_IO;
|
||||
|
||||
#define KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS 0x00000001UL
|
||||
@@ -325,6 +327,8 @@ typedef enum _KBUGCHECK_BUFFER_DUMP_STATE {
|
||||
BufferIncomplete
|
||||
} KBUGCHECK_BUFFER_DUMP_STATE;
|
||||
|
||||
_Function_class_(KBUGCHECK_CALLBACK_ROUTINE)
|
||||
_IRQL_requires_same_
|
||||
typedef VOID
|
||||
(NTAPI KBUGCHECK_CALLBACK_ROUTINE)(
|
||||
IN PVOID Buffer,
|
||||
@@ -334,17 +338,19 @@ typedef KBUGCHECK_CALLBACK_ROUTINE *PKBUGCHECK_CALLBACK_ROUTINE;
|
||||
typedef struct _KBUGCHECK_CALLBACK_RECORD {
|
||||
LIST_ENTRY Entry;
|
||||
PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine;
|
||||
PVOID Buffer;
|
||||
_Field_size_bytes_opt_(Length) PVOID Buffer;
|
||||
ULONG Length;
|
||||
PUCHAR Component;
|
||||
ULONG_PTR Checksum;
|
||||
UCHAR State;
|
||||
} KBUGCHECK_CALLBACK_RECORD, *PKBUGCHECK_CALLBACK_RECORD;
|
||||
|
||||
_Function_class_(NMI_CALLBACK)
|
||||
_IRQL_requires_same_
|
||||
typedef BOOLEAN
|
||||
(NTAPI NMI_CALLBACK)(
|
||||
IN PVOID Context,
|
||||
IN BOOLEAN Handled);
|
||||
_In_opt_ PVOID Context,
|
||||
_In_ BOOLEAN Handled);
|
||||
typedef NMI_CALLBACK *PNMI_CALLBACK;
|
||||
|
||||
typedef enum _KE_PROCESSOR_CHANGE_NOTIFY_STATE {
|
||||
@@ -362,11 +368,13 @@ typedef struct _KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT {
|
||||
#endif
|
||||
} KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT, *PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT;
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(PROCESSOR_CALLBACK_FUNCTION)
|
||||
typedef VOID
|
||||
(NTAPI PROCESSOR_CALLBACK_FUNCTION)(
|
||||
IN PVOID CallbackContext,
|
||||
IN PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT ChangeContext,
|
||||
IN OUT PNTSTATUS OperationStatus);
|
||||
_In_ PVOID CallbackContext,
|
||||
_In_ PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT ChangeContext,
|
||||
_Inout_ PNTSTATUS OperationStatus);
|
||||
typedef PROCESSOR_CALLBACK_FUNCTION *PPROCESSOR_CALLBACK_FUNCTION;
|
||||
|
||||
#define KE_PROCESSOR_CHANGE_ADD_EXISTING 1
|
||||
@@ -468,26 +476,33 @@ typedef enum _KINTERRUPT_MODE {
|
||||
|
||||
#define THREAD_WAIT_OBJECTS 3
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(KSTART_ROUTINE)
|
||||
typedef VOID
|
||||
(NTAPI KSTART_ROUTINE)(
|
||||
IN PVOID StartContext);
|
||||
_In_ PVOID StartContext);
|
||||
typedef KSTART_ROUTINE *PKSTART_ROUTINE;
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PKINTERRUPT_ROUTINE)(
|
||||
VOID);
|
||||
|
||||
_Function_class_(KSERVICE_ROUTINE)
|
||||
_IRQL_requires_(HIGH_LEVEL)
|
||||
_IRQL_requires_same_
|
||||
typedef BOOLEAN
|
||||
(NTAPI KSERVICE_ROUTINE)(
|
||||
IN struct _KINTERRUPT *Interrupt,
|
||||
IN PVOID ServiceContext);
|
||||
_In_ struct _KINTERRUPT *Interrupt,
|
||||
_In_ PVOID ServiceContext);
|
||||
typedef KSERVICE_ROUTINE *PKSERVICE_ROUTINE;
|
||||
|
||||
_Function_class_(KMESSAGE_SERVICE_ROUTINE)
|
||||
_IRQL_requires_same_
|
||||
typedef BOOLEAN
|
||||
(NTAPI KMESSAGE_SERVICE_ROUTINE)(
|
||||
IN struct _KINTERRUPT *Interrupt,
|
||||
IN PVOID ServiceContext,
|
||||
IN ULONG MessageID);
|
||||
_In_ struct _KINTERRUPT *Interrupt,
|
||||
_In_ PVOID ServiceContext,
|
||||
_In_ ULONG MessageID);
|
||||
typedef KMESSAGE_SERVICE_ROUTINE *PKMESSAGE_SERVICE_ROUTINE;
|
||||
|
||||
typedef enum _KD_OPTION {
|
||||
@@ -572,9 +587,12 @@ typedef struct _KIPI_COUNTS {
|
||||
ULONG GratuitousDPC;
|
||||
} KIPI_COUNTS, *PKIPI_COUNTS;
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(KIPI_BROADCAST_WORKER)
|
||||
_IRQL_requires_(IPI_LEVEL)
|
||||
typedef ULONG_PTR
|
||||
(NTAPI KIPI_BROADCAST_WORKER)(
|
||||
IN ULONG_PTR Argument);
|
||||
_In_ ULONG_PTR Argument);
|
||||
typedef KIPI_BROADCAST_WORKER *PKIPI_BROADCAST_WORKER;
|
||||
|
||||
typedef ULONG_PTR KSPIN_LOCK, *PKSPIN_LOCK;
|
||||
@@ -639,12 +657,15 @@ typedef enum _KSPIN_LOCK_QUEUE_NUMBER {
|
||||
|
||||
#endif /* defined(_AMD64_) */
|
||||
|
||||
_Function_class_(KDEFERRED_ROUTINE)
|
||||
_IRQL_requires_(DISPATCH_LEVEL)
|
||||
_IRQL_requires_same_
|
||||
typedef VOID
|
||||
(NTAPI KDEFERRED_ROUTINE)(
|
||||
IN struct _KDPC *Dpc,
|
||||
IN PVOID DeferredContext OPTIONAL,
|
||||
IN PVOID SystemArgument1 OPTIONAL,
|
||||
IN PVOID SystemArgument2 OPTIONAL);
|
||||
_In_ struct _KDPC *Dpc,
|
||||
_In_opt_ PVOID DeferredContext,
|
||||
_In_opt_ PVOID SystemArgument1,
|
||||
_In_opt_ PVOID SystemArgument2);
|
||||
typedef KDEFERRED_ROUTINE *PKDEFERRED_ROUTINE;
|
||||
|
||||
typedef enum _KDPC_IMPORTANCE {
|
||||
@@ -825,9 +846,11 @@ typedef enum _LOCK_OPERATION {
|
||||
|
||||
#define KTIMER_ACTUAL_LENGTH (FIELD_OFFSET(KTIMER, Period) + sizeof(LONG))
|
||||
|
||||
_Function_class_(KSYNCHRONIZE_ROUTINE)
|
||||
_IRQL_requires_same_
|
||||
typedef BOOLEAN
|
||||
(NTAPI KSYNCHRONIZE_ROUTINE)(
|
||||
IN PVOID SynchronizeContext);
|
||||
_In_ PVOID SynchronizeContext);
|
||||
typedef KSYNCHRONIZE_ROUTINE *PKSYNCHRONIZE_ROUTINE;
|
||||
|
||||
typedef enum _POOL_TYPE {
|
||||
@@ -925,7 +948,7 @@ typedef struct _XSTATE_CONTEXT {
|
||||
ULONG64 Mask;
|
||||
ULONG Length;
|
||||
ULONG Reserved1;
|
||||
PXSAVE_AREA Area;
|
||||
_Field_size_bytes_opt_(Length) PXSAVE_AREA Area;
|
||||
#if defined(_X86_)
|
||||
ULONG Reserved2;
|
||||
#endif
|
||||
@@ -1003,20 +1026,22 @@ $endif (_WDMDDK_)
|
||||
$if (_NTDDK_)
|
||||
|
||||
#define NX_SUPPORT_POLICY_ALWAYSOFF 0
|
||||
#define NX_SUPPORT_POLICY_ALWAYSON 1
|
||||
#define NX_SUPPORT_POLICY_OPTIN 2
|
||||
#define NX_SUPPORT_POLICY_OPTOUT 3
|
||||
#define NX_SUPPORT_POLICY_ALWAYSON 1
|
||||
#define NX_SUPPORT_POLICY_OPTIN 2
|
||||
#define NX_SUPPORT_POLICY_OPTOUT 3
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(EXPAND_STACK_CALLOUT)
|
||||
typedef VOID
|
||||
(NTAPI EXPAND_STACK_CALLOUT)(
|
||||
IN PVOID Parameter OPTIONAL);
|
||||
_In_opt_ PVOID Parameter);
|
||||
typedef EXPAND_STACK_CALLOUT *PEXPAND_STACK_CALLOUT;
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PTIMER_APC_ROUTINE)(
|
||||
IN PVOID TimerContext,
|
||||
IN ULONG TimerLowValue,
|
||||
IN LONG TimerHighValue);
|
||||
_In_ PVOID TimerContext,
|
||||
_In_ ULONG TimerLowValue,
|
||||
_In_ LONG TimerHighValue);
|
||||
|
||||
typedef enum _TIMER_SET_INFORMATION_CLASS {
|
||||
TimerSetCoalescableTimer,
|
||||
@@ -1025,13 +1050,13 @@ typedef enum _TIMER_SET_INFORMATION_CLASS {
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
typedef struct _TIMER_SET_COALESCABLE_TIMER_INFO {
|
||||
IN LARGE_INTEGER DueTime;
|
||||
IN PTIMER_APC_ROUTINE TimerApcRoutine OPTIONAL;
|
||||
IN PVOID TimerContext OPTIONAL;
|
||||
IN struct _COUNTED_REASON_CONTEXT *WakeContext OPTIONAL;
|
||||
IN ULONG Period OPTIONAL;
|
||||
IN ULONG TolerableDelay;
|
||||
OUT PBOOLEAN PreviousState OPTIONAL;
|
||||
_In_ LARGE_INTEGER DueTime;
|
||||
_In_opt_ PTIMER_APC_ROUTINE TimerApcRoutine;
|
||||
_In_opt_ PVOID TimerContext;
|
||||
_In_opt_ struct _COUNTED_REASON_CONTEXT *WakeContext;
|
||||
_In_opt_ ULONG Period;
|
||||
_In_ ULONG TolerableDelay;
|
||||
_Out_opt_ PBOOLEAN PreviousState;
|
||||
} TIMER_SET_COALESCABLE_TIMER_INFO, *PTIMER_SET_COALESCABLE_TIMER_INFO;
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
|
||||
|
||||
|
||||
+262
-154
@@ -181,8 +181,8 @@ $if (_NTIFS_)
|
||||
FORCEINLINE
|
||||
ULONG
|
||||
HEAP_MAKE_TAG_FLAGS(
|
||||
IN ULONG TagBase,
|
||||
IN ULONG Tag)
|
||||
_In_ ULONG TagBase,
|
||||
_In_ ULONG Tag)
|
||||
{
|
||||
//__assume_bound(TagBase); // FIXME
|
||||
return ((ULONG)((TagBase) + ((Tag) << HEAP_TAG_SHIFT)));
|
||||
@@ -191,191 +191,235 @@ $endif (_NTIFS_)
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
$if (_WDMDDK_)
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
_When_ (return != NULL, _Post_writable_byte_size_ (NumberOfBytes))
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
MmAllocateContiguousMemory(
|
||||
IN SIZE_T NumberOfBytes,
|
||||
IN PHYSICAL_ADDRESS HighestAcceptableAddress);
|
||||
_In_ SIZE_T NumberOfBytes,
|
||||
_In_ PHYSICAL_ADDRESS HighestAcceptableAddress);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
_When_ (return != NULL, _Post_writable_byte_size_ (NumberOfBytes))
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
MmAllocateContiguousMemorySpecifyCache(
|
||||
IN SIZE_T NumberOfBytes,
|
||||
IN PHYSICAL_ADDRESS LowestAcceptableAddress,
|
||||
IN PHYSICAL_ADDRESS HighestAcceptableAddress,
|
||||
IN PHYSICAL_ADDRESS BoundaryAddressMultiple OPTIONAL,
|
||||
IN MEMORY_CACHING_TYPE CacheType);
|
||||
_In_ SIZE_T NumberOfBytes,
|
||||
_In_ PHYSICAL_ADDRESS LowestAcceptableAddress,
|
||||
_In_ PHYSICAL_ADDRESS HighestAcceptableAddress,
|
||||
_In_opt_ PHYSICAL_ADDRESS BoundaryAddressMultiple,
|
||||
_In_ MEMORY_CACHING_TYPE CacheType);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
PMDL
|
||||
NTAPI
|
||||
MmAllocatePagesForMdl(
|
||||
IN PHYSICAL_ADDRESS LowAddress,
|
||||
IN PHYSICAL_ADDRESS HighAddress,
|
||||
IN PHYSICAL_ADDRESS SkipBytes,
|
||||
IN SIZE_T TotalBytes);
|
||||
_In_ PHYSICAL_ADDRESS LowAddress,
|
||||
_In_ PHYSICAL_ADDRESS HighAddress,
|
||||
_In_ PHYSICAL_ADDRESS SkipBytes,
|
||||
_In_ SIZE_T TotalBytes);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmBuildMdlForNonPagedPool(
|
||||
IN OUT PMDLX MemoryDescriptorList);
|
||||
_Inout_ PMDLX MemoryDescriptorList);
|
||||
|
||||
//DECLSPEC_DEPRECATED_DDK
|
||||
NTKERNELAPI
|
||||
PMDL
|
||||
NTAPI
|
||||
MmCreateMdl(
|
||||
IN PMDL MemoryDescriptorList OPTIONAL,
|
||||
IN PVOID Base,
|
||||
IN SIZE_T Length);
|
||||
_Out_writes_bytes_opt_ (sizeof (MDL) + (sizeof (PFN_NUMBER) * ADDRESS_AND_SIZE_TO_SPAN_PAGES (Base, Length)))
|
||||
PMDL MemoryDescriptorList,
|
||||
_In_reads_bytes_opt_ (Length) PVOID Base,
|
||||
_In_ SIZE_T Length);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmFreeContiguousMemory(
|
||||
IN PVOID BaseAddress);
|
||||
_In_ PVOID BaseAddress);
|
||||
|
||||
_IRQL_requires_max_ (DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmFreeContiguousMemorySpecifyCache(
|
||||
IN PVOID BaseAddress,
|
||||
IN SIZE_T NumberOfBytes,
|
||||
IN MEMORY_CACHING_TYPE CacheType);
|
||||
_In_reads_bytes_ (NumberOfBytes) PVOID BaseAddress,
|
||||
_In_ SIZE_T NumberOfBytes,
|
||||
_In_ MEMORY_CACHING_TYPE CacheType);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmFreePagesFromMdl(
|
||||
IN PMDLX MemoryDescriptorList);
|
||||
_Inout_ PMDLX MemoryDescriptorList);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
MmGetSystemRoutineAddress(
|
||||
IN PUNICODE_STRING SystemRoutineName);
|
||||
_In_ PUNICODE_STRING SystemRoutineName);
|
||||
|
||||
NTKERNELAPI
|
||||
LOGICAL
|
||||
NTAPI
|
||||
MmIsDriverVerifying(
|
||||
IN struct _DRIVER_OBJECT *DriverObject);
|
||||
_In_ struct _DRIVER_OBJECT *DriverObject);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
MmLockPagableDataSection(
|
||||
IN PVOID AddressWithinSection);
|
||||
_In_ PVOID AddressWithinSection);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
_Out_writes_bytes_opt_ (NumberOfBytes)
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
MmMapIoSpace(
|
||||
IN PHYSICAL_ADDRESS PhysicalAddress,
|
||||
IN SIZE_T NumberOfBytes,
|
||||
IN MEMORY_CACHING_TYPE CacheEnable);
|
||||
_In_ PHYSICAL_ADDRESS PhysicalAddress,
|
||||
_In_ SIZE_T NumberOfBytes,
|
||||
_In_ MEMORY_CACHING_TYPE CacheType);
|
||||
|
||||
_Must_inspect_result_
|
||||
_When_(AccessMode==0, _IRQL_requires_max_(DISPATCH_LEVEL))
|
||||
_When_(AccessMode==1, _Maybe_raises_SEH_exception_ _IRQL_requires_max_(APC_LEVEL))
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
MmMapLockedPages(
|
||||
IN PMDL MemoryDescriptorList,
|
||||
IN KPROCESSOR_MODE AccessMode);
|
||||
_Inout_ PMDL MemoryDescriptorList,
|
||||
_In_ __drv_strictType(KPROCESSOR_MODE/enum _MODE,__drv_typeConst)
|
||||
KPROCESSOR_MODE AccessMode);
|
||||
|
||||
_Post_writable_byte_size_(MemoryDescriptorList->ByteCount)
|
||||
_When_(AccessMode==KernelMode, _IRQL_requires_max_(DISPATCH_LEVEL))
|
||||
_When_(AccessMode==UserMode, _Maybe_raises_SEH_exception_ _IRQL_requires_max_(APC_LEVEL) _Post_notnull_)
|
||||
_At_(MemoryDescriptorList->MappedSystemVa, _Post_writable_byte_size_(MemoryDescriptorList->ByteCount))
|
||||
_Must_inspect_result_
|
||||
_Success_(return != NULL)
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
MmMapLockedPagesSpecifyCache(
|
||||
IN PMDLX MemoryDescriptorList,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
IN MEMORY_CACHING_TYPE CacheType,
|
||||
IN PVOID BaseAddress OPTIONAL,
|
||||
IN ULONG BugCheckOnFailure,
|
||||
IN MM_PAGE_PRIORITY Priority);
|
||||
_Inout_ PMDLX MemoryDescriptorList,
|
||||
_In_ __drv_strictType(KPROCESSOR_MODE/enum _MODE,__drv_typeConst)
|
||||
KPROCESSOR_MODE AccessMode,
|
||||
_In_ __drv_strictTypeMatch(__drv_typeCond) MEMORY_CACHING_TYPE CacheType,
|
||||
_In_opt_ PVOID BaseAddress,
|
||||
_In_ ULONG BugCheckOnFailure,
|
||||
_In_ MM_PAGE_PRIORITY Priority);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
MmPageEntireDriver(
|
||||
IN PVOID AddressWithinSection);
|
||||
_In_ PVOID AddressWithinSection);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
_At_(MemoryDescriptorList->StartVa + MemoryDescriptorList->ByteOffset,
|
||||
_Field_size_bytes_opt_(MemoryDescriptorList->ByteCount))
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmProbeAndLockPages(
|
||||
IN OUT PMDL MemoryDescriptorList,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
IN LOCK_OPERATION Operation);
|
||||
_Inout_ PMDLX MemoryDescriptorList,
|
||||
_In_ KPROCESSOR_MODE AccessMode,
|
||||
_In_ LOCK_OPERATION Operation);
|
||||
|
||||
NTKERNELAPI
|
||||
MM_SYSTEMSIZE
|
||||
NTAPI
|
||||
MmQuerySystemSize(VOID);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmResetDriverPaging(
|
||||
IN PVOID AddressWithinSection);
|
||||
_In_ PVOID AddressWithinSection);
|
||||
|
||||
NTKERNELAPI
|
||||
SIZE_T
|
||||
NTAPI
|
||||
MmSizeOfMdl(
|
||||
IN PVOID Base,
|
||||
IN SIZE_T Length);
|
||||
_In_reads_bytes_opt_ (Length) PVOID Base,
|
||||
_In_ SIZE_T Length);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmUnlockPagableImageSection(
|
||||
IN PVOID ImageSectionHandle);
|
||||
_In_ PVOID ImageSectionHandle);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmUnlockPages(
|
||||
IN OUT PMDL MemoryDescriptorList);
|
||||
_Inout_ PMDLX MemoryDescriptorList);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmUnmapIoSpace(
|
||||
IN PVOID BaseAddress,
|
||||
IN SIZE_T NumberOfBytes);
|
||||
_In_reads_bytes_ (NumberOfBytes) PVOID BaseAddress,
|
||||
_In_ SIZE_T NumberOfBytes);
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmProbeAndLockProcessPages(
|
||||
IN OUT PMDL MemoryDescriptorList,
|
||||
IN PEPROCESS Process,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
IN LOCK_OPERATION Operation);
|
||||
_Inout_ PMDL MemoryDescriptorList,
|
||||
_In_ PEPROCESS Process,
|
||||
_In_ KPROCESSOR_MODE AccessMode,
|
||||
_In_ LOCK_OPERATION Operation);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmUnmapLockedPages(
|
||||
IN PVOID BaseAddress,
|
||||
IN PMDL MemoryDescriptorList);
|
||||
_In_ PVOID BaseAddress,
|
||||
_Inout_ PMDL MemoryDescriptorList);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
_When_ (return != NULL, _Post_writable_byte_size_ (NumberOfBytes))
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
MmAllocateContiguousMemorySpecifyCacheNode(
|
||||
IN SIZE_T NumberOfBytes,
|
||||
IN PHYSICAL_ADDRESS LowestAcceptableAddress,
|
||||
IN PHYSICAL_ADDRESS HighestAcceptableAddress,
|
||||
IN PHYSICAL_ADDRESS BoundaryAddressMultiple OPTIONAL,
|
||||
IN MEMORY_CACHING_TYPE CacheType,
|
||||
IN NODE_REQUIREMENT PreferredNode);
|
||||
_In_ SIZE_T NumberOfBytes,
|
||||
_In_ PHYSICAL_ADDRESS LowestAcceptableAddress,
|
||||
_In_ PHYSICAL_ADDRESS HighestAcceptableAddress,
|
||||
_In_opt_ PHYSICAL_ADDRESS BoundaryAddressMultiple,
|
||||
_In_ MEMORY_CACHING_TYPE CacheType,
|
||||
_In_ NODE_REQUIREMENT PreferredNode);
|
||||
$endif (_WDMDDK_)
|
||||
$if (_NTDDK_)
|
||||
|
||||
_IRQL_requires_max_ (PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
PPHYSICAL_MEMORY_RANGE
|
||||
NTAPI
|
||||
@@ -385,206 +429,243 @@ NTKERNELAPI
|
||||
PHYSICAL_ADDRESS
|
||||
NTAPI
|
||||
MmGetPhysicalAddress(
|
||||
IN PVOID BaseAddress);
|
||||
_In_ PVOID BaseAddress);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
MmIsNonPagedSystemAddressValid(
|
||||
IN PVOID VirtualAddress);
|
||||
_In_ PVOID VirtualAddress);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
_Out_writes_bytes_opt_(NumberOfBytes)
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
MmAllocateNonCachedMemory(
|
||||
IN SIZE_T NumberOfBytes);
|
||||
_In_ SIZE_T NumberOfBytes);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmFreeNonCachedMemory(
|
||||
IN PVOID BaseAddress,
|
||||
IN SIZE_T NumberOfBytes);
|
||||
_In_reads_bytes_(NumberOfBytes) PVOID BaseAddress,
|
||||
_In_ SIZE_T NumberOfBytes);
|
||||
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
MmGetVirtualForPhysical(
|
||||
IN PHYSICAL_ADDRESS PhysicalAddress);
|
||||
_In_ PHYSICAL_ADDRESS PhysicalAddress);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
MmMapUserAddressesToPage(
|
||||
IN PVOID BaseAddress,
|
||||
IN SIZE_T NumberOfBytes,
|
||||
IN PVOID PageAddress);
|
||||
_In_reads_bytes_(NumberOfBytes) PVOID BaseAddress,
|
||||
_In_ SIZE_T NumberOfBytes,
|
||||
_In_ PVOID PageAddress);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
_Out_writes_bytes_opt_(NumberOfBytes)
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
MmMapVideoDisplay(
|
||||
IN PHYSICAL_ADDRESS PhysicalAddress,
|
||||
IN SIZE_T NumberOfBytes,
|
||||
IN MEMORY_CACHING_TYPE CacheType);
|
||||
_In_ PHYSICAL_ADDRESS PhysicalAddress,
|
||||
_In_ SIZE_T NumberOfBytes,
|
||||
_In_ MEMORY_CACHING_TYPE CacheType);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
MmMapViewInSessionSpace(
|
||||
IN PVOID Section,
|
||||
OUT PVOID *MappedBase,
|
||||
IN OUT PSIZE_T ViewSize);
|
||||
_In_ PVOID Section,
|
||||
_Outptr_result_bytebuffer_(*ViewSize) PVOID *MappedBase,
|
||||
_Inout_ PSIZE_T ViewSize);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
MmMapViewInSystemSpace(
|
||||
IN PVOID Section,
|
||||
OUT PVOID *MappedBase,
|
||||
IN OUT PSIZE_T ViewSize);
|
||||
_In_ PVOID Section,
|
||||
_Outptr_result_bytebuffer_(*ViewSize) PVOID *MappedBase,
|
||||
_Inout_ PSIZE_T ViewSize);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
MmIsAddressValid(
|
||||
IN PVOID VirtualAddress);
|
||||
_In_ PVOID VirtualAddress);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
MmIsThisAnNtAsSystem(VOID);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmLockPagableSectionByHandle(
|
||||
IN PVOID ImageSectionHandle);
|
||||
_In_ PVOID ImageSectionHandle);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
MmUnmapViewInSessionSpace(
|
||||
IN PVOID MappedBase);
|
||||
_In_ PVOID MappedBase);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
MmUnmapViewInSystemSpace(
|
||||
IN PVOID MappedBase);
|
||||
_In_ PVOID MappedBase);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmUnsecureVirtualMemory(
|
||||
IN HANDLE SecureHandle);
|
||||
_In_ HANDLE SecureHandle);
|
||||
|
||||
_IRQL_requires_max_ (PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
MmRemovePhysicalMemory(
|
||||
IN PPHYSICAL_ADDRESS StartAddress,
|
||||
IN OUT PLARGE_INTEGER NumberOfBytes);
|
||||
_In_ PPHYSICAL_ADDRESS StartAddress,
|
||||
_Inout_ PLARGE_INTEGER NumberOfBytes);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
HANDLE
|
||||
NTAPI
|
||||
MmSecureVirtualMemory(
|
||||
IN PVOID Address,
|
||||
IN SIZE_T Size,
|
||||
IN ULONG ProbeMode);
|
||||
__in_data_source(USER_MODE) _In_reads_bytes_ (Size) PVOID Address,
|
||||
_In_ __in_data_source(USER_MODE) SIZE_T Size,
|
||||
_In_ ULONG ProbeMode);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmUnmapVideoDisplay(
|
||||
IN PVOID BaseAddress,
|
||||
IN SIZE_T NumberOfBytes);
|
||||
_In_reads_bytes_(NumberOfBytes) PVOID BaseAddress,
|
||||
_In_ SIZE_T NumberOfBytes);
|
||||
|
||||
_IRQL_requires_max_ (PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
MmAddPhysicalMemory(
|
||||
IN PPHYSICAL_ADDRESS StartAddress,
|
||||
IN OUT PLARGE_INTEGER NumberOfBytes);
|
||||
_In_ PPHYSICAL_ADDRESS StartAddress,
|
||||
_Inout_ PLARGE_INTEGER NumberOfBytes);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
_When_(return != NULL, _Post_writable_byte_size_(NumberOfBytes))
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
MmAllocateContiguousMemory(
|
||||
IN SIZE_T NumberOfBytes,
|
||||
IN PHYSICAL_ADDRESS HighestAcceptableAddress);
|
||||
_In_ SIZE_T NumberOfBytes,
|
||||
_In_ PHYSICAL_ADDRESS HighestAcceptableAddress);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
_When_(return != NULL, _Post_writable_byte_size_(NumberOfBytes))
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
MmAllocateContiguousMemorySpecifyCache(
|
||||
IN SIZE_T NumberOfBytes,
|
||||
IN PHYSICAL_ADDRESS LowestAcceptableAddress,
|
||||
IN PHYSICAL_ADDRESS HighestAcceptableAddress,
|
||||
IN PHYSICAL_ADDRESS BoundaryAddressMultiple OPTIONAL,
|
||||
IN MEMORY_CACHING_TYPE CacheType);
|
||||
_In_ SIZE_T NumberOfBytes,
|
||||
_In_ PHYSICAL_ADDRESS LowestAcceptableAddress,
|
||||
_In_ PHYSICAL_ADDRESS HighestAcceptableAddress,
|
||||
_In_opt_ PHYSICAL_ADDRESS BoundaryAddressMultiple,
|
||||
_In_ MEMORY_CACHING_TYPE CacheType);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
_When_(return != NULL, _Post_writable_byte_size_(NumberOfBytes))
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
MmAllocateContiguousMemorySpecifyCacheNode(
|
||||
IN SIZE_T NumberOfBytes,
|
||||
IN PHYSICAL_ADDRESS LowestAcceptableAddress,
|
||||
IN PHYSICAL_ADDRESS HighestAcceptableAddress,
|
||||
IN PHYSICAL_ADDRESS BoundaryAddressMultiple OPTIONAL,
|
||||
IN MEMORY_CACHING_TYPE CacheType,
|
||||
IN NODE_REQUIREMENT PreferredNode);
|
||||
_In_ SIZE_T NumberOfBytes,
|
||||
_In_ PHYSICAL_ADDRESS LowestAcceptableAddress,
|
||||
_In_ PHYSICAL_ADDRESS HighestAcceptableAddress,
|
||||
_In_opt_ PHYSICAL_ADDRESS BoundaryAddressMultiple,
|
||||
_In_ MEMORY_CACHING_TYPE CacheType,
|
||||
_In_ NODE_REQUIREMENT PreferredNode);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmFreeContiguousMemory(
|
||||
IN PVOID BaseAddress);
|
||||
_In_ PVOID BaseAddress);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmFreeContiguousMemorySpecifyCache(
|
||||
IN PVOID BaseAddress,
|
||||
IN SIZE_T NumberOfBytes,
|
||||
IN MEMORY_CACHING_TYPE CacheType);
|
||||
_In_reads_bytes_(NumberOfBytes) PVOID BaseAddress,
|
||||
_In_ SIZE_T NumberOfBytes,
|
||||
_In_ MEMORY_CACHING_TYPE CacheType);
|
||||
$endif (_NTDDK_)
|
||||
$if (_NTIFS_)
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
MmIsRecursiveIoFault(
|
||||
VOID);
|
||||
MmIsRecursiveIoFault(VOID);
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
MmForceSectionClosed(
|
||||
IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
IN BOOLEAN DelayClose);
|
||||
_In_ PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
_In_ BOOLEAN DelayClose);
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
MmFlushImageSection(
|
||||
IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
IN MMFLUSH_TYPE FlushType);
|
||||
_In_ PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
_In_ MMFLUSH_TYPE FlushType);
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
MmCanFileBeTruncated(
|
||||
IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
IN PLARGE_INTEGER NewFileSize OPTIONAL);
|
||||
_In_ PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
_In_opt_ PLARGE_INTEGER NewFileSize);
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
MmSetAddressRangeModified(
|
||||
IN PVOID Address,
|
||||
IN SIZE_T Length);
|
||||
_In_reads_bytes_ (Length) PVOID Address,
|
||||
_In_ SIZE_T Length);
|
||||
$endif (_NTIFS_)
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
|
||||
@@ -594,72 +675,90 @@ $if (_WDMDDK_ || _NTIFS_)
|
||||
$endif (_WDMDDK_ || _NTIFS_)
|
||||
|
||||
$if (_WDMDDK_)
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
MmAdvanceMdl(
|
||||
IN OUT PMDL Mdl,
|
||||
IN ULONG NumberOfBytes);
|
||||
_Inout_ PMDLX Mdl,
|
||||
_In_ ULONG NumberOfBytes);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
_When_ (return != NULL, _Out_writes_bytes_opt_ (NumberOfBytes))
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
MmAllocateMappingAddress(
|
||||
IN SIZE_T NumberOfBytes,
|
||||
IN ULONG PoolTag);
|
||||
_In_ SIZE_T NumberOfBytes,
|
||||
_In_ ULONG PoolTag);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmFreeMappingAddress(
|
||||
IN PVOID BaseAddress,
|
||||
IN ULONG PoolTag);
|
||||
_In_ PVOID BaseAddress,
|
||||
_In_ ULONG PoolTag);
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
MmIsVerifierEnabled(
|
||||
OUT PULONG VerifierFlags);
|
||||
_Out_ PULONG VerifierFlags);
|
||||
|
||||
_Post_writable_byte_size_(MemoryDescriptorList->ByteCount)
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
_At_(MemoryDescriptorList->MappedSystemVa + MemoryDescriptorList->ByteOffset,
|
||||
_Post_writable_byte_size_(MemoryDescriptorList->ByteCount))
|
||||
_Must_inspect_result_
|
||||
_Success_(return != NULL)
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
MmMapLockedPagesWithReservedMapping(
|
||||
IN PVOID MappingAddress,
|
||||
IN ULONG PoolTag,
|
||||
IN PMDL MemoryDescriptorList,
|
||||
IN MEMORY_CACHING_TYPE CacheType);
|
||||
_In_ PVOID MappingAddress,
|
||||
_In_ ULONG PoolTag,
|
||||
_Inout_ PMDLX MemoryDescriptorList,
|
||||
_In_ __drv_strictTypeMatch(__drv_typeCond)
|
||||
MEMORY_CACHING_TYPE CacheType);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
MmProtectMdlSystemAddress(
|
||||
IN PMDL MemoryDescriptorList,
|
||||
IN ULONG NewProtect);
|
||||
_In_ PMDLX MemoryDescriptorList,
|
||||
_In_ ULONG NewProtect);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
MmUnmapReservedMapping(
|
||||
IN PVOID BaseAddress,
|
||||
IN ULONG PoolTag,
|
||||
IN PMDL MemoryDescriptorList);
|
||||
_In_ PVOID BaseAddress,
|
||||
_In_ ULONG PoolTag,
|
||||
_Inout_ PMDLX MemoryDescriptorList);
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
MmAddVerifierThunks(
|
||||
IN PVOID ThunkBuffer,
|
||||
IN ULONG ThunkBufferSize);
|
||||
_In_reads_bytes_ (ThunkBufferSize) PVOID ThunkBuffer,
|
||||
_In_ ULONG ThunkBufferSize);
|
||||
$endif (_WDMDDK_)
|
||||
$if (_NTIFS_)
|
||||
|
||||
_IRQL_requires_max_ (PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
MmPrefetchPages(
|
||||
IN ULONG NumberOfLists,
|
||||
IN PREAD_LIST *ReadLists);
|
||||
_In_ ULONG NumberOfLists,
|
||||
_In_reads_ (NumberOfLists) PREAD_LIST *ReadLists);
|
||||
$endif (_NTIFS_)
|
||||
|
||||
$if (_WDMDDK_ || _NTIFS_)
|
||||
@@ -669,15 +768,18 @@ $if (_WDMDDK_ || _NTDDK_)
|
||||
#if (NTDDI_VERSION >= NTDDI_WS03)
|
||||
$endif (_WDMDDK_ || _NTDDK_)
|
||||
$if (_WDMDDK_)
|
||||
_IRQL_requires_max_ (DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
LOGICAL
|
||||
NTAPI
|
||||
MmIsIoSpaceActive(
|
||||
IN PHYSICAL_ADDRESS StartAddress,
|
||||
IN SIZE_T NumberOfBytes);
|
||||
_In_ PHYSICAL_ADDRESS StartAddress,
|
||||
_In_ SIZE_T NumberOfBytes);
|
||||
$endif (_WDMDDK_)
|
||||
|
||||
$if (_NTDDK_)
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
@@ -688,45 +790,51 @@ $if (_WDMDDK_ || _NTDDK_)
|
||||
$endif (_WDMDDK_ || _NTDDK_)
|
||||
$if (_WDMDDK_)
|
||||
#if (NTDDI_VERSION >= NTDDI_WS03SP1)
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
PMDL
|
||||
NTAPI
|
||||
MmAllocatePagesForMdlEx(
|
||||
IN PHYSICAL_ADDRESS LowAddress,
|
||||
IN PHYSICAL_ADDRESS HighAddress,
|
||||
IN PHYSICAL_ADDRESS SkipBytes,
|
||||
IN SIZE_T TotalBytes,
|
||||
IN MEMORY_CACHING_TYPE CacheType,
|
||||
IN ULONG Flags);
|
||||
_In_ PHYSICAL_ADDRESS LowAddress,
|
||||
_In_ PHYSICAL_ADDRESS HighAddress,
|
||||
_In_ PHYSICAL_ADDRESS SkipBytes,
|
||||
_In_ SIZE_T TotalBytes,
|
||||
_In_ MEMORY_CACHING_TYPE CacheType,
|
||||
_In_ ULONG Flags);
|
||||
#endif
|
||||
$endif (_WDMDDK_)
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
$if (_WDMDDK_)
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
LOGICAL
|
||||
NTAPI
|
||||
MmIsDriverVerifyingByAddress(
|
||||
IN PVOID AddressWithinSection);
|
||||
_In_ PVOID AddressWithinSection);
|
||||
$endif (_WDMDDK_)
|
||||
$if (_NTDDK_)
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
MmRotatePhysicalView(
|
||||
IN PVOID VirtualAddress,
|
||||
IN OUT PSIZE_T NumberOfBytes,
|
||||
IN PMDLX NewMdl OPTIONAL,
|
||||
IN MM_ROTATE_DIRECTION Direction,
|
||||
IN PMM_ROTATE_COPY_CALLBACK_FUNCTION CopyFunction,
|
||||
IN PVOID Context OPTIONAL);
|
||||
_In_ PVOID VirtualAddress,
|
||||
_Inout_ PSIZE_T NumberOfBytes,
|
||||
_In_opt_ PMDLX NewMdl,
|
||||
_In_ MM_ROTATE_DIRECTION Direction,
|
||||
_In_ PMM_ROTATE_COPY_CALLBACK_FUNCTION CopyFunction,
|
||||
_In_opt_ PVOID Context);
|
||||
$endif (_NTDDK_)
|
||||
$if (_NTIFS_)
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
MmDoesFileHaveUserWritableReferences(
|
||||
IN PSECTION_OBJECT_POINTERS SectionPointer);
|
||||
_In_ PSECTION_OBJECT_POINTERS SectionPointer);
|
||||
$endif (_NTIFS_)
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
||||
|
||||
|
||||
@@ -103,6 +103,8 @@ typedef ULONG PFN_COUNT;
|
||||
typedef LONG_PTR SPFN_NUMBER, *PSPFN_NUMBER;
|
||||
typedef ULONG_PTR PFN_NUMBER, *PPFN_NUMBER;
|
||||
|
||||
_Struct_size_bytes_(_Inexpressible_(sizeof(struct _MDL) +
|
||||
(ByteOffset + ByteCount + PAGE_SIZE-1) / PAGE_SIZE * sizeof(PFN_NUMBER)))
|
||||
typedef struct _MDL {
|
||||
struct _MDL *Next;
|
||||
CSHORT Size;
|
||||
@@ -113,7 +115,11 @@ typedef struct _MDL {
|
||||
ULONG ByteCount;
|
||||
ULONG ByteOffset;
|
||||
} MDL, *PMDL;
|
||||
#if (_MSC_VER >= 1600)
|
||||
typedef _Readable_bytes_(_Inexpressible_(polymorphism)) MDL *PMDLX;
|
||||
#else
|
||||
typedef MDL *PMDLX;
|
||||
#endif
|
||||
|
||||
typedef enum _MEMORY_CACHING_TYPE_ORIG {
|
||||
MmFrameBufferCached = 2
|
||||
@@ -154,9 +160,9 @@ typedef struct _PHYSICAL_MEMORY_RANGE {
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *PMM_ROTATE_COPY_CALLBACK_FUNCTION)(
|
||||
IN PMDL DestinationMdl,
|
||||
IN PMDL SourceMdl,
|
||||
IN PVOID Context);
|
||||
_In_ PMDL DestinationMdl,
|
||||
_In_ PMDL SourceMdl,
|
||||
_In_ PVOID Context);
|
||||
|
||||
typedef enum _MM_ROTATE_DIRECTION {
|
||||
MmToFrameBuffer,
|
||||
|
||||
@@ -171,7 +171,7 @@ typedef struct _SYSTEM_FIRMWARE_TABLE_INFORMATION {
|
||||
|
||||
typedef NTSTATUS
|
||||
(__cdecl *PFNFTH)(
|
||||
IN OUT PSYSTEM_FIRMWARE_TABLE_INFORMATION SystemFirmwareTableInfo);
|
||||
_Inout_ PSYSTEM_FIRMWARE_TABLE_INFORMATION SystemFirmwareTableInfo);
|
||||
|
||||
typedef struct _SYSTEM_FIRMWARE_TABLE_HANDLER {
|
||||
ULONG ProviderSignature;
|
||||
@@ -182,7 +182,7 @@ typedef struct _SYSTEM_FIRMWARE_TABLE_HANDLER {
|
||||
|
||||
typedef ULONG_PTR
|
||||
(NTAPI *PDRIVER_VERIFIER_THUNK_ROUTINE)(
|
||||
IN PVOID Context);
|
||||
_In_ PVOID Context);
|
||||
|
||||
typedef struct _DRIVER_VERIFIER_THUNK_PAIRS {
|
||||
PDRIVER_VERIFIER_THUNK_ROUTINE PristineRoutine;
|
||||
@@ -245,11 +245,12 @@ typedef struct _DRIVER_VERIFIER_THUNK_PAIRS {
|
||||
/* Filesystem runtime library routines */
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
_Must_inspect_result_
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FsRtlIsTotalDeviceFailure(
|
||||
IN NTSTATUS Status);
|
||||
_In_ NTSTATUS Status);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -66,529 +66,601 @@ $include (obtypes.h)
|
||||
$include (rtltypes.h)
|
||||
$include (rtlfuncs.h)
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryObject(
|
||||
IN HANDLE Handle OPTIONAL,
|
||||
IN OBJECT_INFORMATION_CLASS ObjectInformationClass,
|
||||
OUT PVOID ObjectInformation OPTIONAL,
|
||||
IN ULONG ObjectInformationLength,
|
||||
OUT PULONG ReturnLength OPTIONAL);
|
||||
_In_opt_ HANDLE Handle,
|
||||
_In_ OBJECT_INFORMATION_CLASS ObjectInformationClass,
|
||||
_Out_writes_bytes_opt_(ObjectInformationLength) PVOID ObjectInformation,
|
||||
_In_ ULONG ObjectInformationLength,
|
||||
_Out_opt_ PULONG ReturnLength);
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
|
||||
_Must_inspect_result_
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtOpenThreadToken(
|
||||
IN HANDLE ThreadHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN BOOLEAN OpenAsSelf,
|
||||
OUT PHANDLE TokenHandle);
|
||||
_In_ HANDLE ThreadHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ BOOLEAN OpenAsSelf,
|
||||
_Out_ PHANDLE TokenHandle);
|
||||
|
||||
_Must_inspect_result_
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtOpenProcessToken(
|
||||
IN HANDLE ProcessHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
OUT PHANDLE TokenHandle);
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_Out_ PHANDLE TokenHandle);
|
||||
|
||||
_When_(TokenInformationClass == TokenAccessInformation,
|
||||
_At_(TokenInformationLength,
|
||||
_In_range_(>=, sizeof(TOKEN_ACCESS_INFORMATION))))
|
||||
_Must_inspect_result_
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryInformationToken(
|
||||
IN HANDLE TokenHandle,
|
||||
IN TOKEN_INFORMATION_CLASS TokenInformationClass,
|
||||
OUT PVOID TokenInformation OPTIONAL,
|
||||
IN ULONG TokenInformationLength,
|
||||
OUT PULONG ReturnLength);
|
||||
_In_ HANDLE TokenHandle,
|
||||
_In_ TOKEN_INFORMATION_CLASS TokenInformationClass,
|
||||
_Out_writes_bytes_to_opt_(TokenInformationLength, *ReturnLength) PVOID TokenInformation,
|
||||
_In_ ULONG TokenInformationLength,
|
||||
_Out_ PULONG ReturnLength);
|
||||
|
||||
_Must_inspect_result_
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtAdjustPrivilegesToken(
|
||||
IN HANDLE TokenHandle,
|
||||
IN BOOLEAN DisableAllPrivileges,
|
||||
IN PTOKEN_PRIVILEGES NewState OPTIONAL,
|
||||
IN ULONG BufferLength,
|
||||
OUT PTOKEN_PRIVILEGES PreviousState,
|
||||
OUT PULONG ReturnLength OPTIONAL);
|
||||
_In_ HANDLE TokenHandle,
|
||||
_In_ BOOLEAN DisableAllPrivileges,
|
||||
_In_opt_ PTOKEN_PRIVILEGES NewState,
|
||||
_In_ ULONG BufferLength,
|
||||
_Out_writes_bytes_to_opt_(BufferLength, *ReturnLength) PTOKEN_PRIVILEGES PreviousState,
|
||||
_Out_ _When_(PreviousState == NULL, _Out_opt_) PULONG ReturnLength);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCreateFile(
|
||||
OUT PHANDLE FileHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN PLARGE_INTEGER AllocationSize OPTIONAL,
|
||||
IN ULONG FileAttributes,
|
||||
IN ULONG ShareAccess,
|
||||
IN ULONG CreateDisposition,
|
||||
IN ULONG CreateOptions,
|
||||
IN PVOID EaBuffer,
|
||||
IN ULONG EaLength);
|
||||
_Out_ PHANDLE FileHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_In_opt_ PLARGE_INTEGER AllocationSize,
|
||||
_In_ ULONG FileAttributes,
|
||||
_In_ ULONG ShareAccess,
|
||||
_In_ ULONG CreateDisposition,
|
||||
_In_ ULONG CreateOptions,
|
||||
_In_reads_bytes_opt_(EaLength) PVOID EaBuffer,
|
||||
_In_ ULONG EaLength);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtDeviceIoControlFile(
|
||||
IN HANDLE FileHandle,
|
||||
IN HANDLE Event OPTIONAL,
|
||||
IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
|
||||
IN PVOID ApcContext OPTIONAL,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN ULONG IoControlCode,
|
||||
IN PVOID InputBuffer OPTIONAL,
|
||||
IN ULONG InputBufferLength,
|
||||
OUT PVOID OutputBuffer OPTIONAL,
|
||||
IN ULONG OutputBufferLength);
|
||||
_In_ HANDLE FileHandle,
|
||||
_In_opt_ HANDLE Event,
|
||||
_In_opt_ PIO_APC_ROUTINE ApcRoutine,
|
||||
_In_opt_ PVOID ApcContext,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_In_ ULONG IoControlCode,
|
||||
_In_reads_bytes_opt_(InputBufferLength) PVOID InputBuffer,
|
||||
_In_ ULONG InputBufferLength,
|
||||
_Out_writes_bytes_opt_(OutputBufferLength) PVOID OutputBuffer,
|
||||
_In_ ULONG OutputBufferLength);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtFsControlFile(
|
||||
IN HANDLE FileHandle,
|
||||
IN HANDLE Event OPTIONAL,
|
||||
IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
|
||||
IN PVOID ApcContext OPTIONAL,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN ULONG FsControlCode,
|
||||
IN PVOID InputBuffer OPTIONAL,
|
||||
IN ULONG InputBufferLength,
|
||||
OUT PVOID OutputBuffer OPTIONAL,
|
||||
IN ULONG OutputBufferLength);
|
||||
_In_ HANDLE FileHandle,
|
||||
_In_opt_ HANDLE Event,
|
||||
_In_opt_ PIO_APC_ROUTINE ApcRoutine,
|
||||
_In_opt_ PVOID ApcContext,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_In_ ULONG FsControlCode,
|
||||
_In_reads_bytes_opt_(InputBufferLength) PVOID InputBuffer,
|
||||
_In_ ULONG InputBufferLength,
|
||||
_Out_writes_bytes_opt_(OutputBufferLength) PVOID OutputBuffer,
|
||||
_In_ ULONG OutputBufferLength);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtLockFile(
|
||||
IN HANDLE FileHandle,
|
||||
IN HANDLE Event OPTIONAL,
|
||||
IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
|
||||
IN PVOID ApcContext OPTIONAL,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN PLARGE_INTEGER ByteOffset,
|
||||
IN PLARGE_INTEGER Length,
|
||||
IN ULONG Key,
|
||||
IN BOOLEAN FailImmediately,
|
||||
IN BOOLEAN ExclusiveLock);
|
||||
_In_ HANDLE FileHandle,
|
||||
_In_opt_ HANDLE Event,
|
||||
_In_opt_ PIO_APC_ROUTINE ApcRoutine,
|
||||
_In_opt_ PVOID ApcContext,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_In_ PLARGE_INTEGER ByteOffset,
|
||||
_In_ PLARGE_INTEGER Length,
|
||||
_In_ ULONG Key,
|
||||
_In_ BOOLEAN FailImmediately,
|
||||
_In_ BOOLEAN ExclusiveLock);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtOpenFile(
|
||||
OUT PHANDLE FileHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN ULONG ShareAccess,
|
||||
IN ULONG OpenOptions);
|
||||
_Out_ PHANDLE FileHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_In_ ULONG ShareAccess,
|
||||
_In_ ULONG OpenOptions);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryDirectoryFile(
|
||||
IN HANDLE FileHandle,
|
||||
IN HANDLE Event OPTIONAL,
|
||||
IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
|
||||
IN PVOID ApcContext OPTIONAL,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
OUT PVOID FileInformation,
|
||||
IN ULONG Length,
|
||||
IN FILE_INFORMATION_CLASS FileInformationClass,
|
||||
IN BOOLEAN ReturnSingleEntry,
|
||||
IN PUNICODE_STRING FileName OPTIONAL,
|
||||
IN BOOLEAN RestartScan);
|
||||
_In_ HANDLE FileHandle,
|
||||
_In_opt_ HANDLE Event,
|
||||
_In_opt_ PIO_APC_ROUTINE ApcRoutine,
|
||||
_In_opt_ PVOID ApcContext,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_Out_writes_bytes_(Length) PVOID FileInformation,
|
||||
_In_ ULONG Length,
|
||||
_In_ FILE_INFORMATION_CLASS FileInformationClass,
|
||||
_In_ BOOLEAN ReturnSingleEntry,
|
||||
_In_opt_ PUNICODE_STRING FileName,
|
||||
_In_ BOOLEAN RestartScan);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryInformationFile(
|
||||
IN HANDLE FileHandle,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
OUT PVOID FileInformation,
|
||||
IN ULONG Length,
|
||||
IN FILE_INFORMATION_CLASS FileInformationClass);
|
||||
_In_ HANDLE FileHandle,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_Out_writes_bytes_(Length) PVOID FileInformation,
|
||||
_In_ ULONG Length,
|
||||
_In_ FILE_INFORMATION_CLASS FileInformationClass);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryQuotaInformationFile(
|
||||
IN HANDLE FileHandle,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
OUT PVOID Buffer,
|
||||
IN ULONG Length,
|
||||
IN BOOLEAN ReturnSingleEntry,
|
||||
IN PVOID SidList,
|
||||
IN ULONG SidListLength,
|
||||
IN PSID StartSid OPTIONAL,
|
||||
IN BOOLEAN RestartScan);
|
||||
_In_ HANDLE FileHandle,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_Out_writes_bytes_(Length) PVOID Buffer,
|
||||
_In_ ULONG Length,
|
||||
_In_ BOOLEAN ReturnSingleEntry,
|
||||
_In_reads_bytes_opt_(SidListLength) PVOID SidList,
|
||||
_In_ ULONG SidListLength,
|
||||
_In_reads_bytes_opt_((8 + (4 * ((SID *)StartSid)->SubAuthorityCount))) PSID StartSid,
|
||||
_In_ BOOLEAN RestartScan);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryVolumeInformationFile(
|
||||
IN HANDLE FileHandle,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
OUT PVOID FsInformation,
|
||||
IN ULONG Length,
|
||||
IN FS_INFORMATION_CLASS FsInformationClass);
|
||||
_In_ HANDLE FileHandle,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_Out_writes_bytes_(Length) PVOID FsInformation,
|
||||
_In_ ULONG Length,
|
||||
_In_ FS_INFORMATION_CLASS FsInformationClass);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtReadFile(
|
||||
IN HANDLE FileHandle,
|
||||
IN HANDLE Event OPTIONAL,
|
||||
IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
|
||||
IN PVOID ApcContext OPTIONAL,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
OUT PVOID Buffer,
|
||||
IN ULONG Length,
|
||||
IN PLARGE_INTEGER ByteOffset OPTIONAL,
|
||||
IN PULONG Key OPTIONAL);
|
||||
_In_ HANDLE FileHandle,
|
||||
_In_opt_ HANDLE Event,
|
||||
_In_opt_ PIO_APC_ROUTINE ApcRoutine,
|
||||
_In_opt_ PVOID ApcContext,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_Out_writes_bytes_(Length) PVOID Buffer,
|
||||
_In_ ULONG Length,
|
||||
_In_opt_ PLARGE_INTEGER ByteOffset,
|
||||
_In_opt_ PULONG Key);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSetInformationFile(
|
||||
IN HANDLE FileHandle,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN PVOID FileInformation,
|
||||
IN ULONG Length,
|
||||
IN FILE_INFORMATION_CLASS FileInformationClass);
|
||||
_In_ HANDLE FileHandle,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_In_reads_bytes_(Length) PVOID FileInformation,
|
||||
_In_ ULONG Length,
|
||||
_In_ FILE_INFORMATION_CLASS FileInformationClass);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSetQuotaInformationFile(
|
||||
IN HANDLE FileHandle,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG Length);
|
||||
_In_ HANDLE FileHandle,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_In_reads_bytes_(Length) PVOID Buffer,
|
||||
_In_ ULONG Length);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSetVolumeInformationFile(
|
||||
IN HANDLE FileHandle,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN PVOID FsInformation,
|
||||
IN ULONG Length,
|
||||
IN FS_INFORMATION_CLASS FsInformationClass);
|
||||
_In_ HANDLE FileHandle,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_In_reads_bytes_(Length) PVOID FsInformation,
|
||||
_In_ ULONG Length,
|
||||
_In_ FS_INFORMATION_CLASS FsInformationClass);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtWriteFile(
|
||||
IN HANDLE FileHandle,
|
||||
IN HANDLE Event OPTIONAL,
|
||||
IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
|
||||
IN PVOID ApcContext OPTIONAL,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG Length,
|
||||
IN PLARGE_INTEGER ByteOffset OPTIONAL,
|
||||
IN PULONG Key OPTIONAL);
|
||||
_In_ HANDLE FileHandle,
|
||||
_In_opt_ HANDLE Event,
|
||||
_In_opt_ PIO_APC_ROUTINE ApcRoutine,
|
||||
_In_opt_ PVOID ApcContext,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_In_reads_bytes_(Length) PVOID Buffer,
|
||||
_In_ ULONG Length,
|
||||
_In_opt_ PLARGE_INTEGER ByteOffset,
|
||||
_In_opt_ PULONG Key);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtUnlockFile(
|
||||
IN HANDLE FileHandle,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN PLARGE_INTEGER ByteOffset,
|
||||
IN PLARGE_INTEGER Length,
|
||||
IN ULONG Key);
|
||||
_In_ HANDLE FileHandle,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_In_ PLARGE_INTEGER ByteOffset,
|
||||
_In_ PLARGE_INTEGER Length,
|
||||
_In_ ULONG Key);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSetSecurityObject(
|
||||
IN HANDLE Handle,
|
||||
IN SECURITY_INFORMATION SecurityInformation,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor);
|
||||
_In_ HANDLE Handle,
|
||||
_In_ SECURITY_INFORMATION SecurityInformation,
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQuerySecurityObject(
|
||||
IN HANDLE Handle,
|
||||
IN SECURITY_INFORMATION SecurityInformation,
|
||||
OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN ULONG Length,
|
||||
OUT PULONG LengthNeeded);
|
||||
_In_ HANDLE Handle,
|
||||
_In_ SECURITY_INFORMATION SecurityInformation,
|
||||
_Out_writes_bytes_opt_(Length) PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_ ULONG Length,
|
||||
_Out_ PULONG LengthNeeded);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtClose(
|
||||
IN HANDLE Handle);
|
||||
_In_ HANDLE Handle);
|
||||
|
||||
_Must_inspect_result_
|
||||
__drv_allocatesMem(Mem)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtAllocateVirtualMemory(
|
||||
IN HANDLE ProcessHandle,
|
||||
IN OUT PVOID *BaseAddress,
|
||||
IN ULONG_PTR ZeroBits,
|
||||
IN OUT PSIZE_T RegionSize,
|
||||
IN ULONG AllocationType,
|
||||
IN ULONG Protect);
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Outptr_result_bytebuffer_(*RegionSize) PVOID *BaseAddress,
|
||||
_In_ ULONG_PTR ZeroBits,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG AllocationType,
|
||||
_In_ ULONG Protect);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtFreeVirtualMemory(
|
||||
IN HANDLE ProcessHandle,
|
||||
IN OUT PVOID *BaseAddress,
|
||||
IN OUT PSIZE_T RegionSize,
|
||||
IN ULONG FreeType);
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ __drv_freesMem(Mem) PVOID *BaseAddress,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG FreeType);
|
||||
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
|
||||
_Must_inspect_result_
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtOpenThreadTokenEx(
|
||||
IN HANDLE ThreadHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN BOOLEAN OpenAsSelf,
|
||||
IN ULONG HandleAttributes,
|
||||
OUT PHANDLE TokenHandle);
|
||||
_In_ HANDLE ThreadHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ BOOLEAN OpenAsSelf,
|
||||
_In_ ULONG HandleAttributes,
|
||||
_Out_ PHANDLE TokenHandle);
|
||||
|
||||
_Must_inspect_result_
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtOpenProcessTokenEx(
|
||||
IN HANDLE ProcessHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN ULONG HandleAttributes,
|
||||
OUT PHANDLE TokenHandle);
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ ULONG HandleAttributes,
|
||||
_Out_ PHANDLE TokenHandle);
|
||||
|
||||
_Must_inspect_result_
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtOpenJobObjectToken(
|
||||
IN HANDLE JobHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
OUT PHANDLE TokenHandle);
|
||||
_In_ HANDLE JobHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_Out_ PHANDLE TokenHandle);
|
||||
|
||||
_Must_inspect_result_
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtDuplicateToken(
|
||||
IN HANDLE ExistingTokenHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN BOOLEAN EffectiveOnly,
|
||||
IN TOKEN_TYPE TokenType,
|
||||
OUT PHANDLE NewTokenHandle);
|
||||
_In_ HANDLE ExistingTokenHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_ BOOLEAN EffectiveOnly,
|
||||
_In_ TOKEN_TYPE TokenType,
|
||||
_Out_ PHANDLE NewTokenHandle);
|
||||
|
||||
_Must_inspect_result_
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtFilterToken(
|
||||
IN HANDLE ExistingTokenHandle,
|
||||
IN ULONG Flags,
|
||||
IN PTOKEN_GROUPS SidsToDisable OPTIONAL,
|
||||
IN PTOKEN_PRIVILEGES PrivilegesToDelete OPTIONAL,
|
||||
IN PTOKEN_GROUPS RestrictedSids OPTIONAL,
|
||||
OUT PHANDLE NewTokenHandle);
|
||||
_In_ HANDLE ExistingTokenHandle,
|
||||
_In_ ULONG Flags,
|
||||
_In_opt_ PTOKEN_GROUPS SidsToDisable,
|
||||
_In_opt_ PTOKEN_PRIVILEGES PrivilegesToDelete,
|
||||
_In_opt_ PTOKEN_GROUPS RestrictedSids,
|
||||
_Out_ PHANDLE NewTokenHandle);
|
||||
|
||||
_Must_inspect_result_
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtImpersonateAnonymousToken(
|
||||
IN HANDLE ThreadHandle);
|
||||
_In_ HANDLE ThreadHandle);
|
||||
|
||||
_Must_inspect_result_
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSetInformationToken(
|
||||
IN HANDLE TokenHandle,
|
||||
IN TOKEN_INFORMATION_CLASS TokenInformationClass,
|
||||
IN PVOID TokenInformation,
|
||||
IN ULONG TokenInformationLength);
|
||||
_In_ HANDLE TokenHandle,
|
||||
_In_ TOKEN_INFORMATION_CLASS TokenInformationClass,
|
||||
_In_reads_bytes_(TokenInformationLength) PVOID TokenInformation,
|
||||
_In_ ULONG TokenInformationLength);
|
||||
|
||||
_Must_inspect_result_
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtAdjustGroupsToken(
|
||||
IN HANDLE TokenHandle,
|
||||
IN BOOLEAN ResetToDefault,
|
||||
IN PTOKEN_GROUPS NewState OPTIONAL,
|
||||
IN ULONG BufferLength OPTIONAL,
|
||||
OUT PTOKEN_GROUPS PreviousState,
|
||||
OUT PULONG ReturnLength);
|
||||
_In_ HANDLE TokenHandle,
|
||||
_In_ BOOLEAN ResetToDefault,
|
||||
_In_opt_ PTOKEN_GROUPS NewState,
|
||||
_In_opt_ ULONG BufferLength,
|
||||
_Out_writes_bytes_to_opt_(BufferLength, *ReturnLength) PTOKEN_GROUPS PreviousState,
|
||||
_Out_ PULONG ReturnLength);
|
||||
|
||||
_Must_inspect_result_
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtPrivilegeCheck(
|
||||
IN HANDLE ClientToken,
|
||||
IN OUT PPRIVILEGE_SET RequiredPrivileges,
|
||||
OUT PBOOLEAN Result);
|
||||
_In_ HANDLE ClientToken,
|
||||
_Inout_ PPRIVILEGE_SET RequiredPrivileges,
|
||||
_Out_ PBOOLEAN Result);
|
||||
|
||||
_Must_inspect_result_
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtAccessCheckAndAuditAlarm(
|
||||
IN PUNICODE_STRING SubsystemName,
|
||||
IN PVOID HandleId OPTIONAL,
|
||||
IN PUNICODE_STRING ObjectTypeName,
|
||||
IN PUNICODE_STRING ObjectName,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN PGENERIC_MAPPING GenericMapping,
|
||||
IN BOOLEAN ObjectCreation,
|
||||
OUT PACCESS_MASK GrantedAccess,
|
||||
OUT PNTSTATUS AccessStatus,
|
||||
OUT PBOOLEAN GenerateOnClose);
|
||||
_In_ PUNICODE_STRING SubsystemName,
|
||||
_In_opt_ PVOID HandleId,
|
||||
_In_ PUNICODE_STRING ObjectTypeName,
|
||||
_In_ PUNICODE_STRING ObjectName,
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ PGENERIC_MAPPING GenericMapping,
|
||||
_In_ BOOLEAN ObjectCreation,
|
||||
_Out_ PACCESS_MASK GrantedAccess,
|
||||
_Out_ PNTSTATUS AccessStatus,
|
||||
_Out_ PBOOLEAN GenerateOnClose);
|
||||
|
||||
_Must_inspect_result_
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtAccessCheckByTypeAndAuditAlarm(
|
||||
IN PUNICODE_STRING SubsystemName,
|
||||
IN PVOID HandleId,
|
||||
IN PUNICODE_STRING ObjectTypeName,
|
||||
IN PUNICODE_STRING ObjectName,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN PSID PrincipalSelfSid OPTIONAL,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN AUDIT_EVENT_TYPE AuditType,
|
||||
IN ULONG Flags,
|
||||
IN POBJECT_TYPE_LIST ObjectTypeList OPTIONAL,
|
||||
IN ULONG ObjectTypeLength,
|
||||
IN PGENERIC_MAPPING GenericMapping,
|
||||
IN BOOLEAN ObjectCreation,
|
||||
OUT PACCESS_MASK GrantedAccess,
|
||||
OUT PNTSTATUS AccessStatus,
|
||||
OUT PBOOLEAN GenerateOnClose);
|
||||
_In_ PUNICODE_STRING SubsystemName,
|
||||
_In_opt_ PVOID HandleId,
|
||||
_In_ PUNICODE_STRING ObjectTypeName,
|
||||
_In_ PUNICODE_STRING ObjectName,
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_opt_ PSID PrincipalSelfSid,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ AUDIT_EVENT_TYPE AuditType,
|
||||
_In_ ULONG Flags,
|
||||
_In_reads_opt_(ObjectTypeLength) POBJECT_TYPE_LIST ObjectTypeList,
|
||||
_In_ ULONG ObjectTypeLength,
|
||||
_In_ PGENERIC_MAPPING GenericMapping,
|
||||
_In_ BOOLEAN ObjectCreation,
|
||||
_Out_ PACCESS_MASK GrantedAccess,
|
||||
_Out_ PNTSTATUS AccessStatus,
|
||||
_Out_ PBOOLEAN GenerateOnClose);
|
||||
|
||||
_Must_inspect_result_
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtAccessCheckByTypeResultListAndAuditAlarm(
|
||||
IN PUNICODE_STRING SubsystemName,
|
||||
IN PVOID HandleId OPTIONAL,
|
||||
IN PUNICODE_STRING ObjectTypeName,
|
||||
IN PUNICODE_STRING ObjectName,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN PSID PrincipalSelfSid OPTIONAL,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN AUDIT_EVENT_TYPE AuditType,
|
||||
IN ULONG Flags,
|
||||
IN POBJECT_TYPE_LIST ObjectTypeList OPTIONAL,
|
||||
IN ULONG ObjectTypeLength,
|
||||
IN PGENERIC_MAPPING GenericMapping,
|
||||
IN BOOLEAN ObjectCreation,
|
||||
OUT PACCESS_MASK GrantedAccess,
|
||||
OUT PNTSTATUS AccessStatus,
|
||||
OUT PBOOLEAN GenerateOnClose);
|
||||
_In_ PUNICODE_STRING SubsystemName,
|
||||
_In_opt_ PVOID HandleId,
|
||||
_In_ PUNICODE_STRING ObjectTypeName,
|
||||
_In_ PUNICODE_STRING ObjectName,
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_opt_ PSID PrincipalSelfSid,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ AUDIT_EVENT_TYPE AuditType,
|
||||
_In_ ULONG Flags,
|
||||
_In_reads_opt_(ObjectTypeListLength) POBJECT_TYPE_LIST ObjectTypeList,
|
||||
_In_ ULONG ObjectTypeListLength,
|
||||
_In_ PGENERIC_MAPPING GenericMapping,
|
||||
_In_ BOOLEAN ObjectCreation,
|
||||
_Out_writes_(ObjectTypeListLength) PACCESS_MASK GrantedAccess,
|
||||
_Out_writes_(ObjectTypeListLength) PNTSTATUS AccessStatus,
|
||||
_Out_ PBOOLEAN GenerateOnClose);
|
||||
|
||||
_Must_inspect_result_
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtAccessCheckByTypeResultListAndAuditAlarmByHandle(
|
||||
IN PUNICODE_STRING SubsystemName,
|
||||
IN PVOID HandleId OPTIONAL,
|
||||
IN HANDLE ClientToken,
|
||||
IN PUNICODE_STRING ObjectTypeName,
|
||||
IN PUNICODE_STRING ObjectName,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN PSID PrincipalSelfSid OPTIONAL,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN AUDIT_EVENT_TYPE AuditType,
|
||||
IN ULONG Flags,
|
||||
IN POBJECT_TYPE_LIST ObjectTypeList OPTIONAL,
|
||||
IN ULONG ObjectTypeLength,
|
||||
IN PGENERIC_MAPPING GenericMapping,
|
||||
IN BOOLEAN ObjectCreation,
|
||||
OUT PACCESS_MASK GrantedAccess,
|
||||
OUT PNTSTATUS AccessStatus,
|
||||
OUT PBOOLEAN GenerateOnClose);
|
||||
_In_ PUNICODE_STRING SubsystemName,
|
||||
_In_opt_ PVOID HandleId,
|
||||
_In_ HANDLE ClientToken,
|
||||
_In_ PUNICODE_STRING ObjectTypeName,
|
||||
_In_ PUNICODE_STRING ObjectName,
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_opt_ PSID PrincipalSelfSid,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ AUDIT_EVENT_TYPE AuditType,
|
||||
_In_ ULONG Flags,
|
||||
_In_reads_opt_(ObjectTypeListLength) POBJECT_TYPE_LIST ObjectTypeList,
|
||||
_In_ ULONG ObjectTypeListLength,
|
||||
_In_ PGENERIC_MAPPING GenericMapping,
|
||||
_In_ BOOLEAN ObjectCreation,
|
||||
_Out_writes_(ObjectTypeListLength) PACCESS_MASK GrantedAccess,
|
||||
_Out_writes_(ObjectTypeListLength) PNTSTATUS AccessStatus,
|
||||
_Out_ PBOOLEAN GenerateOnClose);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtOpenObjectAuditAlarm(
|
||||
IN PUNICODE_STRING SubsystemName,
|
||||
IN PVOID HandleId OPTIONAL,
|
||||
IN PUNICODE_STRING ObjectTypeName,
|
||||
IN PUNICODE_STRING ObjectName,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor OPTIONAL,
|
||||
IN HANDLE ClientToken,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN ACCESS_MASK GrantedAccess,
|
||||
IN PPRIVILEGE_SET Privileges OPTIONAL,
|
||||
IN BOOLEAN ObjectCreation,
|
||||
IN BOOLEAN AccessGranted,
|
||||
OUT PBOOLEAN GenerateOnClose);
|
||||
_In_ PUNICODE_STRING SubsystemName,
|
||||
_In_opt_ PVOID HandleId,
|
||||
_In_ PUNICODE_STRING ObjectTypeName,
|
||||
_In_ PUNICODE_STRING ObjectName,
|
||||
_In_opt_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_ HANDLE ClientToken,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ ACCESS_MASK GrantedAccess,
|
||||
_In_opt_ PPRIVILEGE_SET Privileges,
|
||||
_In_ BOOLEAN ObjectCreation,
|
||||
_In_ BOOLEAN AccessGranted,
|
||||
_Out_ PBOOLEAN GenerateOnClose);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtPrivilegeObjectAuditAlarm(
|
||||
IN PUNICODE_STRING SubsystemName,
|
||||
IN PVOID HandleId OPTIONAL,
|
||||
IN HANDLE ClientToken,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN PPRIVILEGE_SET Privileges,
|
||||
IN BOOLEAN AccessGranted);
|
||||
_In_ PUNICODE_STRING SubsystemName,
|
||||
_In_opt_ PVOID HandleId,
|
||||
_In_ HANDLE ClientToken,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ PPRIVILEGE_SET Privileges,
|
||||
_In_ BOOLEAN AccessGranted);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCloseObjectAuditAlarm(
|
||||
IN PUNICODE_STRING SubsystemName,
|
||||
IN PVOID HandleId OPTIONAL,
|
||||
IN BOOLEAN GenerateOnClose);
|
||||
_In_ PUNICODE_STRING SubsystemName,
|
||||
_In_opt_ PVOID HandleId,
|
||||
_In_ BOOLEAN GenerateOnClose);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtDeleteObjectAuditAlarm(
|
||||
IN PUNICODE_STRING SubsystemName,
|
||||
IN PVOID HandleId OPTIONAL,
|
||||
IN BOOLEAN GenerateOnClose);
|
||||
_In_ PUNICODE_STRING SubsystemName,
|
||||
_In_opt_ PVOID HandleId,
|
||||
_In_ BOOLEAN GenerateOnClose);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtPrivilegedServiceAuditAlarm(
|
||||
IN PUNICODE_STRING SubsystemName,
|
||||
IN PUNICODE_STRING ServiceName,
|
||||
IN HANDLE ClientToken,
|
||||
IN PPRIVILEGE_SET Privileges,
|
||||
IN BOOLEAN AccessGranted);
|
||||
_In_ PUNICODE_STRING SubsystemName,
|
||||
_In_ PUNICODE_STRING ServiceName,
|
||||
_In_ HANDLE ClientToken,
|
||||
_In_ PPRIVILEGE_SET Privileges,
|
||||
_In_ BOOLEAN AccessGranted);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSetInformationThread(
|
||||
IN HANDLE ThreadHandle,
|
||||
IN THREADINFOCLASS ThreadInformationClass,
|
||||
IN PVOID ThreadInformation,
|
||||
IN ULONG ThreadInformationLength);
|
||||
_In_ HANDLE ThreadHandle,
|
||||
_In_ THREADINFOCLASS ThreadInformationClass,
|
||||
_In_reads_bytes_(ThreadInformationLength) PVOID ThreadInformation,
|
||||
_In_ ULONG ThreadInformationLength);
|
||||
|
||||
_Must_inspect_result_
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCreateSection(
|
||||
OUT PHANDLE SectionHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
||||
IN PLARGE_INTEGER MaximumSize OPTIONAL,
|
||||
IN ULONG SectionPageProtection,
|
||||
IN ULONG AllocationAttributes,
|
||||
IN HANDLE FileHandle OPTIONAL);
|
||||
_Out_ PHANDLE SectionHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_opt_ PLARGE_INTEGER MaximumSize,
|
||||
_In_ ULONG SectionPageProtection,
|
||||
_In_ ULONG AllocationAttributes,
|
||||
_In_opt_ HANDLE FileHandle);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -637,35 +709,40 @@ typedef enum _SECURITY_LOGON_TYPE {
|
||||
|
||||
#endif /* _NTLSA_AUDIT_ */
|
||||
|
||||
_IRQL_requires_same_
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
LsaRegisterLogonProcess(
|
||||
IN PLSA_STRING LogonProcessName,
|
||||
OUT PHANDLE LsaHandle,
|
||||
OUT PLSA_OPERATIONAL_MODE SecurityMode);
|
||||
_In_ PLSA_STRING LogonProcessName,
|
||||
_Out_ PHANDLE LsaHandle,
|
||||
_Out_ PLSA_OPERATIONAL_MODE SecurityMode);
|
||||
|
||||
_IRQL_requires_same_
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
LsaLogonUser(
|
||||
IN HANDLE LsaHandle,
|
||||
IN PLSA_STRING OriginName,
|
||||
IN SECURITY_LOGON_TYPE LogonType,
|
||||
IN ULONG AuthenticationPackage,
|
||||
IN PVOID AuthenticationInformation,
|
||||
IN ULONG AuthenticationInformationLength,
|
||||
IN PTOKEN_GROUPS LocalGroups OPTIONAL,
|
||||
IN PTOKEN_SOURCE SourceContext,
|
||||
OUT PVOID *ProfileBuffer,
|
||||
OUT PULONG ProfileBufferLength,
|
||||
OUT PLUID LogonId,
|
||||
OUT PHANDLE Token,
|
||||
OUT PQUOTA_LIMITS Quotas,
|
||||
OUT PNTSTATUS SubStatus);
|
||||
_In_ HANDLE LsaHandle,
|
||||
_In_ PLSA_STRING OriginName,
|
||||
_In_ SECURITY_LOGON_TYPE LogonType,
|
||||
_In_ ULONG AuthenticationPackage,
|
||||
_In_reads_bytes_(AuthenticationInformationLength) PVOID AuthenticationInformation,
|
||||
_In_ ULONG AuthenticationInformationLength,
|
||||
_In_opt_ PTOKEN_GROUPS LocalGroups,
|
||||
_In_ PTOKEN_SOURCE SourceContext,
|
||||
_Out_ PVOID *ProfileBuffer,
|
||||
_Out_ PULONG ProfileBufferLength,
|
||||
_Inout_ PLUID LogonId,
|
||||
_Out_ PHANDLE Token,
|
||||
_Out_ PQUOTA_LIMITS Quotas,
|
||||
_Out_ PNTSTATUS SubStatus);
|
||||
|
||||
_IRQL_requires_same_
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
LsaFreeReturnBuffer(
|
||||
IN PVOID Buffer);
|
||||
_In_ PVOID Buffer);
|
||||
|
||||
#ifndef _NTLSA_IFS_
|
||||
#define _NTLSA_IFS_
|
||||
@@ -1664,16 +1741,6 @@ FsRtlAllocatePoolWithTag (
|
||||
IN ULONG Tag
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FsRtlIsFatDbcsLegal (
|
||||
IN ANSI_STRING DbcsName,
|
||||
IN BOOLEAN WildCardsPermissible,
|
||||
IN BOOLEAN PathNamePermissible,
|
||||
IN BOOLEAN LeadingBackslashPermissible
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
|
||||
+276
-173
@@ -154,7 +154,7 @@ typedef struct _TRANSACTIONMANAGER_LOG_INFORMATION {
|
||||
|
||||
typedef struct _TRANSACTIONMANAGER_LOGPATH_INFORMATION {
|
||||
ULONG LogPathLength;
|
||||
WCHAR LogPath[1];
|
||||
_Field_size_(LogPathLength) WCHAR LogPath[1];
|
||||
} TRANSACTIONMANAGER_LOGPATH_INFORMATION, *PTRANSACTIONMANAGER_LOGPATH_INFORMATION;
|
||||
|
||||
typedef struct _TRANSACTIONMANAGER_RECOVERY_INFORMATION {
|
||||
@@ -265,385 +265,488 @@ typedef struct _TRANSACTION_LIST_INFORMATION {
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *PFN_NT_CREATE_TRANSACTION)(
|
||||
OUT PHANDLE TransactionHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
||||
IN LPGUID Uow OPTIONAL,
|
||||
IN HANDLE TmHandle OPTIONAL,
|
||||
IN ULONG CreateOptions OPTIONAL,
|
||||
IN ULONG IsolationLevel OPTIONAL,
|
||||
IN ULONG IsolationFlags OPTIONAL,
|
||||
IN PLARGE_INTEGER Timeout OPTIONAL,
|
||||
IN PUNICODE_STRING Description OPTIONAL);
|
||||
_Out_ PHANDLE TransactionHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_opt_ LPGUID Uow,
|
||||
_In_opt_ HANDLE TmHandle,
|
||||
_In_opt_ ULONG CreateOptions,
|
||||
_In_opt_ ULONG IsolationLevel,
|
||||
_In_opt_ ULONG IsolationFlags,
|
||||
_In_opt_ PLARGE_INTEGER Timeout,
|
||||
_In_opt_ PUNICODE_STRING Description);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *PFN_NT_OPEN_TRANSACTION)(
|
||||
OUT PHANDLE TransactionHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN LPGUID Uow OPTIONAL,
|
||||
IN HANDLE TmHandle OPTIONAL);
|
||||
_Out_ PHANDLE TransactionHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_opt_ LPGUID Uow,
|
||||
_In_opt_ HANDLE TmHandle);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *PFN_NT_QUERY_INFORMATION_TRANSACTION)(
|
||||
IN HANDLE TransactionHandle,
|
||||
IN TRANSACTION_INFORMATION_CLASS TransactionInformationClass,
|
||||
OUT PVOID TransactionInformation,
|
||||
IN ULONG TransactionInformationLength,
|
||||
OUT PULONG ReturnLength OPTIONAL);
|
||||
_In_ HANDLE TransactionHandle,
|
||||
_In_ TRANSACTION_INFORMATION_CLASS TransactionInformationClass,
|
||||
_Out_writes_bytes_(TransactionInformationLength) PVOID TransactionInformation,
|
||||
_In_ ULONG TransactionInformationLength,
|
||||
_Out_opt_ PULONG ReturnLength);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *PFN_NT_SET_INFORMATION_TRANSACTION)(
|
||||
IN HANDLE TransactionHandle,
|
||||
IN TRANSACTION_INFORMATION_CLASS TransactionInformationClass,
|
||||
IN PVOID TransactionInformation,
|
||||
IN ULONG TransactionInformationLength);
|
||||
_In_ HANDLE TransactionHandle,
|
||||
_In_ TRANSACTION_INFORMATION_CLASS TransactionInformationClass,
|
||||
_In_ PVOID TransactionInformation,
|
||||
_In_ ULONG TransactionInformationLength);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *PFN_NT_COMMIT_TRANSACTION)(
|
||||
IN HANDLE TransactionHandle,
|
||||
IN BOOLEAN Wait);
|
||||
_In_ HANDLE TransactionHandle,
|
||||
_In_ BOOLEAN Wait);
|
||||
|
||||
typedef NTSTATUS
|
||||
(NTAPI *PFN_NT_ROLLBACK_TRANSACTION)(
|
||||
IN HANDLE TransactionHandle,
|
||||
IN BOOLEAN Wait);
|
||||
_In_ HANDLE TransactionHandle,
|
||||
_In_ BOOLEAN Wait);
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCreateTransactionManager(
|
||||
OUT PHANDLE TmHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
||||
IN PUNICODE_STRING LogFileName OPTIONAL,
|
||||
IN ULONG CreateOptions OPTIONAL,
|
||||
IN ULONG CommitStrength OPTIONAL);
|
||||
_Out_ PHANDLE TmHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_opt_ PUNICODE_STRING LogFileName,
|
||||
_In_opt_ ULONG CreateOptions,
|
||||
_In_opt_ ULONG CommitStrength);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtOpenTransactionManager(
|
||||
OUT PHANDLE TmHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
||||
IN PUNICODE_STRING LogFileName OPTIONAL,
|
||||
IN LPGUID TmIdentity OPTIONAL,
|
||||
IN ULONG OpenOptions OPTIONAL);
|
||||
_Out_ PHANDLE TmHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_opt_ PUNICODE_STRING LogFileName,
|
||||
_In_opt_ LPGUID TmIdentity,
|
||||
_In_opt_ ULONG OpenOptions);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtRenameTransactionManager(
|
||||
IN PUNICODE_STRING LogFileName,
|
||||
IN LPGUID ExistingTransactionManagerGuid);
|
||||
_In_ PUNICODE_STRING LogFileName,
|
||||
_In_ LPGUID ExistingTransactionManagerGuid);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtRollforwardTransactionManager(
|
||||
IN HANDLE TransactionManagerHandle,
|
||||
IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
|
||||
_In_ HANDLE TransactionManagerHandle,
|
||||
_In_opt_ PLARGE_INTEGER TmVirtualClock);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtRecoverTransactionManager(
|
||||
IN HANDLE TransactionManagerHandle);
|
||||
_In_ HANDLE TransactionManagerHandle);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryInformationTransactionManager(
|
||||
IN HANDLE TransactionManagerHandle,
|
||||
IN TRANSACTIONMANAGER_INFORMATION_CLASS TransactionManagerInformationClass,
|
||||
OUT PVOID TransactionManagerInformation,
|
||||
IN ULONG TransactionManagerInformationLength,
|
||||
OUT PULONG ReturnLength);
|
||||
_In_ HANDLE TransactionManagerHandle,
|
||||
_In_ TRANSACTIONMANAGER_INFORMATION_CLASS TransactionManagerInformationClass,
|
||||
_Out_writes_bytes_(TransactionManagerInformationLength) PVOID TransactionManagerInformation,
|
||||
_In_ ULONG TransactionManagerInformationLength,
|
||||
_Out_ PULONG ReturnLength);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSetInformationTransactionManager(
|
||||
IN HANDLE TmHandle OPTIONAL,
|
||||
IN TRANSACTIONMANAGER_INFORMATION_CLASS TransactionManagerInformationClass,
|
||||
IN PVOID TransactionManagerInformation,
|
||||
IN ULONG TransactionManagerInformationLength);
|
||||
_In_opt_ HANDLE TmHandle,
|
||||
_In_ TRANSACTIONMANAGER_INFORMATION_CLASS TransactionManagerInformationClass,
|
||||
_In_reads_bytes_(TransactionManagerInformationLength) PVOID TransactionManagerInformation,
|
||||
_In_ ULONG TransactionManagerInformationLength);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtEnumerateTransactionObject(
|
||||
IN HANDLE RootObjectHandle OPTIONAL,
|
||||
IN KTMOBJECT_TYPE QueryType,
|
||||
IN OUT PKTMOBJECT_CURSOR ObjectCursor,
|
||||
IN ULONG ObjectCursorLength,
|
||||
OUT PULONG ReturnLength);
|
||||
_In_opt_ HANDLE RootObjectHandle,
|
||||
_In_ KTMOBJECT_TYPE QueryType,
|
||||
_Inout_updates_bytes_(ObjectCursorLength) PKTMOBJECT_CURSOR ObjectCursor,
|
||||
_In_ ULONG ObjectCursorLength,
|
||||
_Out_ PULONG ReturnLength);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCreateTransaction(
|
||||
OUT PHANDLE TransactionHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
||||
IN LPGUID Uow OPTIONAL,
|
||||
IN HANDLE TmHandle OPTIONAL,
|
||||
IN ULONG CreateOptions OPTIONAL,
|
||||
IN ULONG IsolationLevel OPTIONAL,
|
||||
IN ULONG IsolationFlags OPTIONAL,
|
||||
IN PLARGE_INTEGER Timeout OPTIONAL,
|
||||
IN PUNICODE_STRING Description OPTIONAL);
|
||||
_Out_ PHANDLE TransactionHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_opt_ LPGUID Uow,
|
||||
_In_opt_ HANDLE TmHandle,
|
||||
_In_opt_ ULONG CreateOptions,
|
||||
_In_opt_ ULONG IsolationLevel,
|
||||
_In_opt_ ULONG IsolationFlags,
|
||||
_In_opt_ PLARGE_INTEGER Timeout,
|
||||
_In_opt_ PUNICODE_STRING Description);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtOpenTransaction(
|
||||
OUT PHANDLE TransactionHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN LPGUID Uow,
|
||||
IN HANDLE TmHandle OPTIONAL);
|
||||
_Out_ PHANDLE TransactionHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_ LPGUID Uow,
|
||||
_In_opt_ HANDLE TmHandle);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryInformationTransaction(
|
||||
IN HANDLE TransactionHandle,
|
||||
IN TRANSACTION_INFORMATION_CLASS TransactionInformationClass,
|
||||
OUT PVOID TransactionInformation,
|
||||
IN ULONG TransactionInformationLength,
|
||||
OUT PULONG ReturnLength OPTIONAL);
|
||||
_In_ HANDLE TransactionHandle,
|
||||
_In_ TRANSACTION_INFORMATION_CLASS TransactionInformationClass,
|
||||
_Out_writes_bytes_(TransactionInformationLength) PVOID TransactionInformation,
|
||||
_In_ ULONG TransactionInformationLength,
|
||||
_Out_opt_ PULONG ReturnLength);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSetInformationTransaction(
|
||||
IN HANDLE TransactionHandle,
|
||||
IN TRANSACTION_INFORMATION_CLASS TransactionInformationClass,
|
||||
IN PVOID TransactionInformation,
|
||||
IN ULONG TransactionInformationLength);
|
||||
_In_ HANDLE TransactionHandle,
|
||||
_In_ TRANSACTION_INFORMATION_CLASS TransactionInformationClass,
|
||||
_In_reads_bytes_(TransactionInformationLength) PVOID TransactionInformation,
|
||||
_In_ ULONG TransactionInformationLength);
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCommitTransaction(
|
||||
IN HANDLE TransactionHandle,
|
||||
IN BOOLEAN Wait);
|
||||
_In_ HANDLE TransactionHandle,
|
||||
_In_ BOOLEAN Wait);
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtRollbackTransaction(
|
||||
IN HANDLE TransactionHandle,
|
||||
IN BOOLEAN Wait);
|
||||
_In_ HANDLE TransactionHandle,
|
||||
_In_ BOOLEAN Wait);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCreateEnlistment(
|
||||
OUT PHANDLE EnlistmentHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN HANDLE ResourceManagerHandle,
|
||||
IN HANDLE TransactionHandle,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
||||
IN ULONG CreateOptions OPTIONAL,
|
||||
IN NOTIFICATION_MASK NotificationMask,
|
||||
IN PVOID EnlistmentKey OPTIONAL);
|
||||
_Out_ PHANDLE EnlistmentHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ HANDLE ResourceManagerHandle,
|
||||
_In_ HANDLE TransactionHandle,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_opt_ ULONG CreateOptions,
|
||||
_In_ NOTIFICATION_MASK NotificationMask,
|
||||
_In_opt_ PVOID EnlistmentKey);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtOpenEnlistment(
|
||||
OUT PHANDLE EnlistmentHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN HANDLE ResourceManagerHandle,
|
||||
IN LPGUID EnlistmentGuid,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL);
|
||||
_Out_ PHANDLE EnlistmentHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ HANDLE ResourceManagerHandle,
|
||||
_In_ LPGUID EnlistmentGuid,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryInformationEnlistment(
|
||||
IN HANDLE EnlistmentHandle,
|
||||
IN ENLISTMENT_INFORMATION_CLASS EnlistmentInformationClass,
|
||||
OUT PVOID EnlistmentInformation,
|
||||
IN ULONG EnlistmentInformationLength,
|
||||
OUT PULONG ReturnLength);
|
||||
_In_ HANDLE EnlistmentHandle,
|
||||
_In_ ENLISTMENT_INFORMATION_CLASS EnlistmentInformationClass,
|
||||
_Out_writes_bytes_(EnlistmentInformationLength) PVOID EnlistmentInformation,
|
||||
_In_ ULONG EnlistmentInformationLength,
|
||||
_Out_ PULONG ReturnLength);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSetInformationEnlistment(
|
||||
IN HANDLE EnlistmentHandle OPTIONAL,
|
||||
IN ENLISTMENT_INFORMATION_CLASS EnlistmentInformationClass,
|
||||
IN PVOID EnlistmentInformation,
|
||||
IN ULONG EnlistmentInformationLength);
|
||||
_In_opt_ HANDLE EnlistmentHandle,
|
||||
_In_ ENLISTMENT_INFORMATION_CLASS EnlistmentInformationClass,
|
||||
_In_reads_bytes_(EnlistmentInformationLength) PVOID EnlistmentInformation,
|
||||
_In_ ULONG EnlistmentInformationLength);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtRecoverEnlistment(
|
||||
IN HANDLE EnlistmentHandle,
|
||||
IN PVOID EnlistmentKey OPTIONAL);
|
||||
_In_ HANDLE EnlistmentHandle,
|
||||
_In_opt_ PVOID EnlistmentKey);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtPrePrepareEnlistment(
|
||||
IN HANDLE EnlistmentHandle,
|
||||
IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
|
||||
_In_ HANDLE EnlistmentHandle,
|
||||
_In_opt_ PLARGE_INTEGER TmVirtualClock);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtPrepareEnlistment(
|
||||
IN HANDLE EnlistmentHandle,
|
||||
IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
|
||||
_In_ HANDLE EnlistmentHandle,
|
||||
_In_opt_ PLARGE_INTEGER TmVirtualClock);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCommitEnlistment(
|
||||
IN HANDLE EnlistmentHandle,
|
||||
IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
|
||||
_In_ HANDLE EnlistmentHandle,
|
||||
_In_opt_ PLARGE_INTEGER TmVirtualClock);
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtRollbackEnlistment(
|
||||
IN HANDLE EnlistmentHandle,
|
||||
IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
|
||||
_In_ HANDLE EnlistmentHandle,
|
||||
_In_opt_ PLARGE_INTEGER TmVirtualClock);
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtPrePrepareComplete(
|
||||
IN HANDLE EnlistmentHandle,
|
||||
IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
|
||||
_In_ HANDLE EnlistmentHandle,
|
||||
_In_opt_ PLARGE_INTEGER TmVirtualClock);
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtPrepareComplete(
|
||||
IN HANDLE EnlistmentHandle,
|
||||
IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
|
||||
_In_ HANDLE EnlistmentHandle,
|
||||
_In_opt_ PLARGE_INTEGER TmVirtualClock);
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCommitComplete(
|
||||
IN HANDLE EnlistmentHandle,
|
||||
IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
|
||||
_In_ HANDLE EnlistmentHandle,
|
||||
_In_opt_ PLARGE_INTEGER TmVirtualClock);
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtReadOnlyEnlistment(
|
||||
IN HANDLE EnlistmentHandle,
|
||||
IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
|
||||
_In_ HANDLE EnlistmentHandle,
|
||||
_In_opt_ PLARGE_INTEGER TmVirtualClock);
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtRollbackComplete(
|
||||
IN HANDLE EnlistmentHandle,
|
||||
IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
|
||||
_In_ HANDLE EnlistmentHandle,
|
||||
_In_opt_ PLARGE_INTEGER TmVirtualClock);
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSinglePhaseReject(
|
||||
IN HANDLE EnlistmentHandle,
|
||||
IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
|
||||
_In_ HANDLE EnlistmentHandle,
|
||||
_In_opt_ PLARGE_INTEGER TmVirtualClock);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCreateResourceManager(
|
||||
OUT PHANDLE ResourceManagerHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN HANDLE TmHandle,
|
||||
IN LPGUID RmGuid,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
||||
IN ULONG CreateOptions OPTIONAL,
|
||||
IN PUNICODE_STRING Description OPTIONAL);
|
||||
_Out_ PHANDLE ResourceManagerHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ HANDLE TmHandle,
|
||||
_In_ LPGUID RmGuid,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_opt_ ULONG CreateOptions,
|
||||
_In_opt_ PUNICODE_STRING Description);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtOpenResourceManager(
|
||||
OUT PHANDLE ResourceManagerHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN HANDLE TmHandle,
|
||||
IN LPGUID ResourceManagerGuid OPTIONAL,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL);
|
||||
_Out_ PHANDLE ResourceManagerHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ HANDLE TmHandle,
|
||||
_In_opt_ LPGUID ResourceManagerGuid,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtRecoverResourceManager(
|
||||
IN HANDLE ResourceManagerHandle);
|
||||
_In_ HANDLE ResourceManagerHandle);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtGetNotificationResourceManager(
|
||||
IN HANDLE ResourceManagerHandle,
|
||||
OUT PTRANSACTION_NOTIFICATION TransactionNotification,
|
||||
IN ULONG NotificationLength,
|
||||
IN PLARGE_INTEGER Timeout OPTIONAL,
|
||||
OUT PULONG ReturnLength OPTIONAL,
|
||||
IN ULONG Asynchronous,
|
||||
IN ULONG_PTR AsynchronousContext OPTIONAL);
|
||||
_In_ HANDLE ResourceManagerHandle,
|
||||
_Out_ PTRANSACTION_NOTIFICATION TransactionNotification,
|
||||
_In_ ULONG NotificationLength,
|
||||
_In_opt_ PLARGE_INTEGER Timeout,
|
||||
_Out_opt_ PULONG ReturnLength,
|
||||
_In_ ULONG Asynchronous,
|
||||
_In_opt_ ULONG_PTR AsynchronousContext);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryInformationResourceManager(
|
||||
IN HANDLE ResourceManagerHandle,
|
||||
IN RESOURCEMANAGER_INFORMATION_CLASS ResourceManagerInformationClass,
|
||||
OUT PVOID ResourceManagerInformation,
|
||||
IN ULONG ResourceManagerInformationLength,
|
||||
OUT PULONG ReturnLength OPTIONAL);
|
||||
_In_ HANDLE ResourceManagerHandle,
|
||||
_In_ RESOURCEMANAGER_INFORMATION_CLASS ResourceManagerInformationClass,
|
||||
_Out_writes_bytes_(ResourceManagerInformationLength) PVOID ResourceManagerInformation,
|
||||
_In_ ULONG ResourceManagerInformationLength,
|
||||
_Out_opt_ PULONG ReturnLength);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtSetInformationResourceManager(
|
||||
IN HANDLE ResourceManagerHandle,
|
||||
IN RESOURCEMANAGER_INFORMATION_CLASS ResourceManagerInformationClass,
|
||||
IN PVOID ResourceManagerInformation,
|
||||
IN ULONG ResourceManagerInformationLength);
|
||||
_In_ HANDLE ResourceManagerHandle,
|
||||
_In_ RESOURCEMANAGER_INFORMATION_CLASS ResourceManagerInformationClass,
|
||||
_In_reads_bytes_(ResourceManagerInformationLength) PVOID ResourceManagerInformation,
|
||||
_In_ ULONG ResourceManagerInformationLength);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtRegisterProtocolAddressInformation(
|
||||
IN HANDLE ResourceManager,
|
||||
IN PCRM_PROTOCOL_ID ProtocolId,
|
||||
IN ULONG ProtocolInformationSize,
|
||||
IN PVOID ProtocolInformation,
|
||||
IN ULONG CreateOptions OPTIONAL);
|
||||
_In_ HANDLE ResourceManager,
|
||||
_In_ PCRM_PROTOCOL_ID ProtocolId,
|
||||
_In_ ULONG ProtocolInformationSize,
|
||||
_In_ PVOID ProtocolInformation,
|
||||
_In_opt_ ULONG CreateOptions);
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtPropagationComplete(
|
||||
IN HANDLE ResourceManagerHandle,
|
||||
IN ULONG RequestCookie,
|
||||
IN ULONG BufferLength,
|
||||
IN PVOID Buffer);
|
||||
_In_ HANDLE ResourceManagerHandle,
|
||||
_In_ ULONG RequestCookie,
|
||||
_In_ ULONG BufferLength,
|
||||
_In_ PVOID Buffer);
|
||||
|
||||
_IRQL_requires_max_ (APC_LEVEL)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtPropagationFailed(
|
||||
IN HANDLE ResourceManagerHandle,
|
||||
IN ULONG RequestCookie,
|
||||
IN NTSTATUS PropStatus);
|
||||
_In_ HANDLE ResourceManagerHandle,
|
||||
_In_ ULONG RequestCookie,
|
||||
_In_ NTSTATUS PropStatus);
|
||||
|
||||
#endif /* NTDDI_VERSION >= NTDDI_VISTA */
|
||||
|
||||
|
||||
@@ -6,54 +6,60 @@ $endif (_WDMDDK_)
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
$if (_WDMDDK_)
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
LONG_PTR
|
||||
FASTCALL
|
||||
ObfDereferenceObject(
|
||||
IN PVOID Object);
|
||||
_In_ PVOID Object);
|
||||
#define ObDereferenceObject ObfDereferenceObject
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObGetObjectSecurity(
|
||||
IN PVOID Object,
|
||||
OUT PSECURITY_DESCRIPTOR *SecurityDescriptor,
|
||||
OUT PBOOLEAN MemoryAllocated);
|
||||
_In_ PVOID Object,
|
||||
_Out_ PSECURITY_DESCRIPTOR *SecurityDescriptor,
|
||||
_Out_ PBOOLEAN MemoryAllocated);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
LONG_PTR
|
||||
FASTCALL
|
||||
ObfReferenceObject(
|
||||
IN PVOID Object);
|
||||
_In_ PVOID Object);
|
||||
#define ObReferenceObject ObfReferenceObject
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObReferenceObjectByHandle(
|
||||
IN HANDLE Handle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_TYPE ObjectType OPTIONAL,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
OUT PVOID *Object,
|
||||
OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL);
|
||||
_In_ HANDLE Handle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_opt_ POBJECT_TYPE ObjectType,
|
||||
_In_ KPROCESSOR_MODE AccessMode,
|
||||
_Out_ PVOID *Object,
|
||||
_Out_opt_ POBJECT_HANDLE_INFORMATION HandleInformation);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObReferenceObjectByPointer(
|
||||
IN PVOID Object,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_TYPE ObjectType OPTIONAL,
|
||||
IN KPROCESSOR_MODE AccessMode);
|
||||
_In_ PVOID Object,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_opt_ POBJECT_TYPE ObjectType,
|
||||
_In_ KPROCESSOR_MODE AccessMode);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
ObReleaseObjectSecurity(
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN BOOLEAN MemoryAllocated);
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_ BOOLEAN MemoryAllocated);
|
||||
$endif (_WDMDDK_)
|
||||
$if (_NTIFS_)
|
||||
|
||||
@@ -61,46 +67,46 @@ NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObInsertObject(
|
||||
IN PVOID Object,
|
||||
IN OUT PACCESS_STATE PassedAccessState OPTIONAL,
|
||||
IN ACCESS_MASK DesiredAccess OPTIONAL,
|
||||
IN ULONG ObjectPointerBias,
|
||||
OUT PVOID *NewObject OPTIONAL,
|
||||
OUT PHANDLE Handle OPTIONAL);
|
||||
_In_ PVOID Object,
|
||||
_Inout_opt_ PACCESS_STATE PassedAccessState,
|
||||
_In_opt_ ACCESS_MASK DesiredAccess,
|
||||
_In_ ULONG ObjectPointerBias,
|
||||
_Out_opt_ PVOID *NewObject,
|
||||
_Out_opt_ PHANDLE Handle);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObOpenObjectByPointer(
|
||||
IN PVOID Object,
|
||||
IN ULONG HandleAttributes,
|
||||
IN PACCESS_STATE PassedAccessState OPTIONAL,
|
||||
IN ACCESS_MASK DesiredAccess OPTIONAL,
|
||||
IN POBJECT_TYPE ObjectType OPTIONAL,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
OUT PHANDLE Handle);
|
||||
_In_ PVOID Object,
|
||||
_In_ ULONG HandleAttributes,
|
||||
_In_opt_ PACCESS_STATE PassedAccessState,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_opt_ POBJECT_TYPE ObjectType,
|
||||
_In_ KPROCESSOR_MODE AccessMode,
|
||||
_Out_ PHANDLE Handle);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
ObMakeTemporaryObject(
|
||||
IN PVOID Object);
|
||||
_In_ PVOID Object);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObQueryNameString(
|
||||
IN PVOID Object,
|
||||
OUT POBJECT_NAME_INFORMATION ObjectNameInfo OPTIONAL,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ReturnLength);
|
||||
_In_ PVOID Object,
|
||||
_Out_writes_bytes_opt_(Length) POBJECT_NAME_INFORMATION ObjectNameInfo,
|
||||
_In_ ULONG Length,
|
||||
_Out_ PULONG ReturnLength);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObQueryObjectAuditingByHandle(
|
||||
IN HANDLE Handle,
|
||||
OUT PBOOLEAN GenerateOnClose);
|
||||
_In_ HANDLE Handle,
|
||||
_Out_ PBOOLEAN GenerateOnClose);
|
||||
$endif (_NTIFS_)
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
|
||||
|
||||
@@ -110,7 +116,7 @@ NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
ObDereferenceObjectDeferDelete(
|
||||
IN PVOID Object);
|
||||
_In_ PVOID Object);
|
||||
$endif (_WDMDDK_)
|
||||
$if (_NTIFS_)
|
||||
|
||||
@@ -118,7 +124,7 @@ NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
ObIsKernelHandle(
|
||||
IN HANDLE Handle);
|
||||
_In_ HANDLE Handle);
|
||||
$endif (_NTIFS_)
|
||||
#endif
|
||||
|
||||
@@ -128,14 +134,14 @@ NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObRegisterCallbacks(
|
||||
IN POB_CALLBACK_REGISTRATION CallbackRegistration,
|
||||
OUT PVOID *RegistrationHandle);
|
||||
_In_ POB_CALLBACK_REGISTRATION CallbackRegistration,
|
||||
_Outptr_ PVOID *RegistrationHandle);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
ObUnRegisterCallbacks(
|
||||
IN PVOID RegistrationHandle);
|
||||
_In_ PVOID RegistrationHandle);
|
||||
|
||||
NTKERNELAPI
|
||||
USHORT
|
||||
@@ -147,48 +153,52 @@ $endif (_WDMDDK_)
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
$if (_WDMDDK_)
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObReferenceObjectByHandleWithTag(
|
||||
IN HANDLE Handle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_TYPE ObjectType OPTIONAL,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
IN ULONG Tag,
|
||||
OUT PVOID *Object,
|
||||
OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL);
|
||||
_In_ HANDLE Handle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_opt_ POBJECT_TYPE ObjectType,
|
||||
_In_ KPROCESSOR_MODE AccessMode,
|
||||
_In_ ULONG Tag,
|
||||
_Out_ PVOID *Object,
|
||||
_Out_opt_ POBJECT_HANDLE_INFORMATION HandleInformation);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
LONG_PTR
|
||||
FASTCALL
|
||||
ObfReferenceObjectWithTag(
|
||||
IN PVOID Object,
|
||||
IN ULONG Tag);
|
||||
_In_ PVOID Object,
|
||||
_In_ ULONG Tag);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObReferenceObjectByPointerWithTag(
|
||||
IN PVOID Object,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_TYPE ObjectType OPTIONAL,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
IN ULONG Tag);
|
||||
_In_ PVOID Object,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_opt_ POBJECT_TYPE ObjectType,
|
||||
_In_ KPROCESSOR_MODE AccessMode,
|
||||
_In_ ULONG Tag);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
LONG_PTR
|
||||
FASTCALL
|
||||
ObfDereferenceObjectWithTag(
|
||||
IN PVOID Object,
|
||||
IN ULONG Tag);
|
||||
_In_ PVOID Object,
|
||||
_In_ ULONG Tag);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
ObDereferenceObjectDeferDeleteWithTag(
|
||||
IN PVOID Object,
|
||||
IN ULONG Tag);
|
||||
_In_ PVOID Object,
|
||||
_In_ ULONG Tag);
|
||||
|
||||
#define ObDereferenceObject ObfDereferenceObject
|
||||
#define ObReferenceObject ObfReferenceObject
|
||||
@@ -201,14 +211,14 @@ NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObOpenObjectByPointerWithTag(
|
||||
IN PVOID Object,
|
||||
IN ULONG HandleAttributes,
|
||||
IN PACCESS_STATE PassedAccessState OPTIONAL,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_TYPE ObjectType OPTIONAL,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
IN ULONG Tag,
|
||||
OUT PHANDLE Handle);
|
||||
_In_ PVOID Object,
|
||||
_In_ ULONG HandleAttributes,
|
||||
_In_opt_ PACCESS_STATE PassedAccessState,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_opt_ POBJECT_TYPE ObjectType,
|
||||
_In_ KPROCESSOR_MODE AccessMode,
|
||||
_In_ ULONG Tag,
|
||||
_Out_ PHANDLE Handle);
|
||||
$endif (_NTIFS_)
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
|
||||
|
||||
|
||||
@@ -31,64 +31,64 @@ typedef ULONG OB_OPERATION;
|
||||
#define OB_OPERATION_HANDLE_DUPLICATE 0x00000002
|
||||
|
||||
typedef struct _OB_PRE_CREATE_HANDLE_INFORMATION {
|
||||
IN OUT ACCESS_MASK DesiredAccess;
|
||||
IN ACCESS_MASK OriginalDesiredAccess;
|
||||
_Inout_ ACCESS_MASK DesiredAccess;
|
||||
_In_ ACCESS_MASK OriginalDesiredAccess;
|
||||
} OB_PRE_CREATE_HANDLE_INFORMATION, *POB_PRE_CREATE_HANDLE_INFORMATION;
|
||||
|
||||
typedef struct _OB_PRE_DUPLICATE_HANDLE_INFORMATION {
|
||||
IN OUT ACCESS_MASK DesiredAccess;
|
||||
IN ACCESS_MASK OriginalDesiredAccess;
|
||||
IN PVOID SourceProcess;
|
||||
IN PVOID TargetProcess;
|
||||
_Inout_ ACCESS_MASK DesiredAccess;
|
||||
_In_ ACCESS_MASK OriginalDesiredAccess;
|
||||
_In_ PVOID SourceProcess;
|
||||
_In_ PVOID TargetProcess;
|
||||
} OB_PRE_DUPLICATE_HANDLE_INFORMATION, *POB_PRE_DUPLICATE_HANDLE_INFORMATION;
|
||||
|
||||
typedef union _OB_PRE_OPERATION_PARAMETERS {
|
||||
IN OUT OB_PRE_CREATE_HANDLE_INFORMATION CreateHandleInformation;
|
||||
IN OUT OB_PRE_DUPLICATE_HANDLE_INFORMATION DuplicateHandleInformation;
|
||||
_Inout_ OB_PRE_CREATE_HANDLE_INFORMATION CreateHandleInformation;
|
||||
_Inout_ OB_PRE_DUPLICATE_HANDLE_INFORMATION DuplicateHandleInformation;
|
||||
} OB_PRE_OPERATION_PARAMETERS, *POB_PRE_OPERATION_PARAMETERS;
|
||||
|
||||
typedef struct _OB_PRE_OPERATION_INFORMATION {
|
||||
IN OB_OPERATION Operation;
|
||||
_In_ OB_OPERATION Operation;
|
||||
_ANONYMOUS_UNION union {
|
||||
IN ULONG Flags;
|
||||
_In_ ULONG Flags;
|
||||
_ANONYMOUS_STRUCT struct {
|
||||
IN ULONG KernelHandle:1;
|
||||
IN ULONG Reserved:31;
|
||||
_In_ ULONG KernelHandle:1;
|
||||
_In_ ULONG Reserved:31;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
IN PVOID Object;
|
||||
IN POBJECT_TYPE ObjectType;
|
||||
OUT PVOID CallContext;
|
||||
IN POB_PRE_OPERATION_PARAMETERS Parameters;
|
||||
_In_ PVOID Object;
|
||||
_In_ POBJECT_TYPE ObjectType;
|
||||
_Out_ PVOID CallContext;
|
||||
_In_ POB_PRE_OPERATION_PARAMETERS Parameters;
|
||||
} OB_PRE_OPERATION_INFORMATION, *POB_PRE_OPERATION_INFORMATION;
|
||||
|
||||
typedef struct _OB_POST_CREATE_HANDLE_INFORMATION {
|
||||
IN ACCESS_MASK GrantedAccess;
|
||||
_In_ ACCESS_MASK GrantedAccess;
|
||||
} OB_POST_CREATE_HANDLE_INFORMATION, *POB_POST_CREATE_HANDLE_INFORMATION;
|
||||
|
||||
typedef struct _OB_POST_DUPLICATE_HANDLE_INFORMATION {
|
||||
IN ACCESS_MASK GrantedAccess;
|
||||
_In_ ACCESS_MASK GrantedAccess;
|
||||
} OB_POST_DUPLICATE_HANDLE_INFORMATION, *POB_POST_DUPLICATE_HANDLE_INFORMATION;
|
||||
|
||||
typedef union _OB_POST_OPERATION_PARAMETERS {
|
||||
IN OB_POST_CREATE_HANDLE_INFORMATION CreateHandleInformation;
|
||||
IN OB_POST_DUPLICATE_HANDLE_INFORMATION DuplicateHandleInformation;
|
||||
_In_ OB_POST_CREATE_HANDLE_INFORMATION CreateHandleInformation;
|
||||
_In_ OB_POST_DUPLICATE_HANDLE_INFORMATION DuplicateHandleInformation;
|
||||
} OB_POST_OPERATION_PARAMETERS, *POB_POST_OPERATION_PARAMETERS;
|
||||
|
||||
typedef struct _OB_POST_OPERATION_INFORMATION {
|
||||
IN OB_OPERATION Operation;
|
||||
_In_ OB_OPERATION Operation;
|
||||
_ANONYMOUS_UNION union {
|
||||
IN ULONG Flags;
|
||||
_In_ ULONG Flags;
|
||||
_ANONYMOUS_STRUCT struct {
|
||||
IN ULONG KernelHandle:1;
|
||||
IN ULONG Reserved:31;
|
||||
_In_ ULONG KernelHandle:1;
|
||||
_In_ ULONG Reserved:31;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
IN PVOID Object;
|
||||
IN POBJECT_TYPE ObjectType;
|
||||
IN PVOID CallContext;
|
||||
IN NTSTATUS ReturnStatus;
|
||||
IN POB_POST_OPERATION_PARAMETERS Parameters;
|
||||
_In_ PVOID Object;
|
||||
_In_ POBJECT_TYPE ObjectType;
|
||||
_In_ PVOID CallContext;
|
||||
_In_ NTSTATUS ReturnStatus;
|
||||
_In_ POB_POST_OPERATION_PARAMETERS Parameters;
|
||||
} OB_POST_OPERATION_INFORMATION,*POB_POST_OPERATION_INFORMATION;
|
||||
|
||||
typedef enum _OB_PREOP_CALLBACK_STATUS {
|
||||
@@ -97,27 +97,27 @@ typedef enum _OB_PREOP_CALLBACK_STATUS {
|
||||
|
||||
typedef OB_PREOP_CALLBACK_STATUS
|
||||
(NTAPI *POB_PRE_OPERATION_CALLBACK)(
|
||||
IN PVOID RegistrationContext,
|
||||
IN OUT POB_PRE_OPERATION_INFORMATION OperationInformation);
|
||||
_In_ PVOID RegistrationContext,
|
||||
_Inout_ POB_PRE_OPERATION_INFORMATION OperationInformation);
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *POB_POST_OPERATION_CALLBACK)(
|
||||
IN PVOID RegistrationContext,
|
||||
IN POB_POST_OPERATION_INFORMATION OperationInformation);
|
||||
_In_ PVOID RegistrationContext,
|
||||
_In_ POB_POST_OPERATION_INFORMATION OperationInformation);
|
||||
|
||||
typedef struct _OB_OPERATION_REGISTRATION {
|
||||
IN POBJECT_TYPE *ObjectType;
|
||||
IN OB_OPERATION Operations;
|
||||
IN POB_PRE_OPERATION_CALLBACK PreOperation;
|
||||
IN POB_POST_OPERATION_CALLBACK PostOperation;
|
||||
_In_ POBJECT_TYPE *ObjectType;
|
||||
_In_ OB_OPERATION Operations;
|
||||
_In_ POB_PRE_OPERATION_CALLBACK PreOperation;
|
||||
_In_ POB_POST_OPERATION_CALLBACK PostOperation;
|
||||
} OB_OPERATION_REGISTRATION, *POB_OPERATION_REGISTRATION;
|
||||
|
||||
typedef struct _OB_CALLBACK_REGISTRATION {
|
||||
IN USHORT Version;
|
||||
IN USHORT OperationRegistrationCount;
|
||||
IN UNICODE_STRING Altitude;
|
||||
IN PVOID RegistrationContext;
|
||||
IN OB_OPERATION_REGISTRATION *OperationRegistration;
|
||||
_In_ USHORT Version;
|
||||
_In_ USHORT OperationRegistrationCount;
|
||||
_In_ UNICODE_STRING Altitude;
|
||||
_In_ PVOID RegistrationContext;
|
||||
_In_ OB_OPERATION_REGISTRATION *OperationRegistration;
|
||||
} OB_CALLBACK_REGISTRATION, *POB_CALLBACK_REGISTRATION;
|
||||
|
||||
typedef struct _OBJECT_NAME_INFORMATION {
|
||||
|
||||
@@ -7,65 +7,73 @@ $if (_WDMDDK_)
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PoCallDriver(
|
||||
IN struct _DEVICE_OBJECT *DeviceObject,
|
||||
IN OUT struct _IRP *Irp);
|
||||
_In_ struct _DEVICE_OBJECT *DeviceObject,
|
||||
_Inout_ __drv_aliasesMem struct _IRP *Irp);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
PULONG
|
||||
NTAPI
|
||||
PoRegisterDeviceForIdleDetection(
|
||||
IN struct _DEVICE_OBJECT *DeviceObject,
|
||||
IN ULONG ConservationIdleTime,
|
||||
IN ULONG PerformanceIdleTime,
|
||||
IN DEVICE_POWER_STATE State);
|
||||
_In_ struct _DEVICE_OBJECT *DeviceObject,
|
||||
_In_ ULONG ConservationIdleTime,
|
||||
_In_ ULONG PerformanceIdleTime,
|
||||
_In_ DEVICE_POWER_STATE State);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
PoRegisterSystemState(
|
||||
IN OUT PVOID StateHandle OPTIONAL,
|
||||
IN EXECUTION_STATE Flags);
|
||||
_Inout_opt_ PVOID StateHandle,
|
||||
_In_ EXECUTION_STATE Flags);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PoRequestPowerIrp(
|
||||
IN struct _DEVICE_OBJECT *DeviceObject,
|
||||
IN UCHAR MinorFunction,
|
||||
IN POWER_STATE PowerState,
|
||||
IN PREQUEST_POWER_COMPLETE CompletionFunction OPTIONAL,
|
||||
IN PVOID Context OPTIONAL,
|
||||
OUT struct _IRP **Irp OPTIONAL);
|
||||
_In_ struct _DEVICE_OBJECT *DeviceObject,
|
||||
_In_ UCHAR MinorFunction,
|
||||
_In_ POWER_STATE PowerState,
|
||||
_In_opt_ PREQUEST_POWER_COMPLETE CompletionFunction,
|
||||
_In_opt_ __drv_aliasesMem PVOID Context,
|
||||
_Outptr_opt_ struct _IRP **Irp);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
POWER_STATE
|
||||
NTAPI
|
||||
PoSetPowerState(
|
||||
IN struct _DEVICE_OBJECT *DeviceObject,
|
||||
IN POWER_STATE_TYPE Type,
|
||||
IN POWER_STATE State);
|
||||
_In_ struct _DEVICE_OBJECT *DeviceObject,
|
||||
_In_ POWER_STATE_TYPE Type,
|
||||
_In_ POWER_STATE State);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PoSetSystemState(
|
||||
IN EXECUTION_STATE Flags);
|
||||
_In_ EXECUTION_STATE Flags);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PoStartNextPowerIrp(
|
||||
IN OUT struct _IRP *Irp);
|
||||
_Inout_ struct _IRP *Irp);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PoUnregisterSystemState(
|
||||
IN OUT PVOID StateHandle);
|
||||
_Inout_ PVOID StateHandle);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
@@ -78,43 +86,48 @@ $endif (_WDMDDK_)
|
||||
|
||||
$if (_NTIFS_)
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PoQueueShutdownWorkItem(
|
||||
IN OUT PWORK_QUEUE_ITEM WorkItem);
|
||||
_Inout_ __drv_aliasesMem PWORK_QUEUE_ITEM WorkItem);
|
||||
#endif
|
||||
$endif (_NTIFS_)
|
||||
$if (_WDMDDK_)
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PoSetSystemWake(
|
||||
IN OUT struct _IRP *Irp);
|
||||
_Inout_ struct _IRP *Irp);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
PoGetSystemWake(
|
||||
IN struct _IRP *Irp);
|
||||
_In_ struct _IRP *Irp);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PoRegisterPowerSettingCallback(
|
||||
IN PDEVICE_OBJECT DeviceObject OPTIONAL,
|
||||
IN LPCGUID SettingGuid,
|
||||
IN PPOWER_SETTING_CALLBACK Callback,
|
||||
IN PVOID Context OPTIONAL,
|
||||
OUT PVOID *Handle OPTIONAL);
|
||||
_In_opt_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ LPCGUID SettingGuid,
|
||||
_In_ PPOWER_SETTING_CALLBACK Callback,
|
||||
_In_opt_ PVOID Context,
|
||||
_Outptr_opt_ PVOID *Handle);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PoUnregisterPowerSettingCallback(
|
||||
IN OUT PVOID Handle);
|
||||
_Inout_ PVOID Handle);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
||||
|
||||
@@ -123,7 +136,7 @@ NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PoSetDeviceBusyEx(
|
||||
IN OUT PULONG IdlePointer);
|
||||
_Inout_ PULONG IdlePointer);
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_VISTASP1) */
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
@@ -132,48 +145,53 @@ NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PoStartDeviceBusy(
|
||||
IN OUT PULONG IdlePointer);
|
||||
_Inout_ PULONG IdlePointer);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PoEndDeviceBusy(
|
||||
IN OUT PULONG IdlePointer);
|
||||
_Inout_ PULONG IdlePointer);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
PoQueryWatchdogTime(
|
||||
IN PDEVICE_OBJECT Pdo,
|
||||
OUT PULONG SecondsRemaining);
|
||||
_In_ PDEVICE_OBJECT Pdo,
|
||||
_Out_ PULONG SecondsRemaining);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PoDeletePowerRequest(
|
||||
IN OUT PVOID PowerRequest);
|
||||
_Inout_ PVOID PowerRequest);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PoSetPowerRequest(
|
||||
IN OUT PVOID PowerRequest,
|
||||
IN POWER_REQUEST_TYPE Type);
|
||||
_Inout_ PVOID PowerRequest,
|
||||
_In_ POWER_REQUEST_TYPE Type);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PoClearPowerRequest(
|
||||
IN OUT PVOID PowerRequest,
|
||||
IN POWER_REQUEST_TYPE Type);
|
||||
_Inout_ PVOID PowerRequest,
|
||||
_In_ POWER_REQUEST_TYPE Type);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PoCreatePowerRequest(
|
||||
OUT PVOID *PowerRequest,
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PCOUNTED_REASON_CONTEXT Context);
|
||||
_Outptr_ PVOID *PowerRequest,
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_opt_ PCOUNTED_REASON_CONTEXT Context);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
|
||||
|
||||
|
||||
@@ -392,22 +392,25 @@ DEFINE_GUID(GUID_ENABLE_SWITCH_FORCED_SHUTDOWN, 0x833a6b62, 0xdfa4, 0x46d1, 0x82
|
||||
#define POWER_DEVICE_IDLE_POLICY_PERFORMANCE 0
|
||||
#define POWER_DEVICE_IDLE_POLICY_CONSERVATIVE 1
|
||||
|
||||
_Function_class_(REQUEST_POWER_COMPLETE)
|
||||
_IRQL_requires_same_
|
||||
typedef VOID
|
||||
(NTAPI REQUEST_POWER_COMPLETE)(
|
||||
IN struct _DEVICE_OBJECT *DeviceObject,
|
||||
IN UCHAR MinorFunction,
|
||||
IN POWER_STATE PowerState,
|
||||
IN PVOID Context,
|
||||
IN struct _IO_STATUS_BLOCK *IoStatus);
|
||||
_In_ struct _DEVICE_OBJECT *DeviceObject,
|
||||
_In_ UCHAR MinorFunction,
|
||||
_In_ POWER_STATE PowerState,
|
||||
_In_opt_ PVOID Context,
|
||||
_In_ struct _IO_STATUS_BLOCK *IoStatus);
|
||||
typedef REQUEST_POWER_COMPLETE *PREQUEST_POWER_COMPLETE;
|
||||
|
||||
typedef
|
||||
NTSTATUS
|
||||
_Function_class_(POWER_SETTING_CALLBACK)
|
||||
_IRQL_requires_same_
|
||||
typedef NTSTATUS
|
||||
(NTAPI POWER_SETTING_CALLBACK)(
|
||||
IN LPCGUID SettingGuid,
|
||||
IN PVOID Value,
|
||||
IN ULONG ValueLength,
|
||||
IN OUT PVOID Context OPTIONAL);
|
||||
_In_ LPCGUID SettingGuid,
|
||||
_In_reads_bytes_(ValueLength) PVOID Value,
|
||||
_In_ ULONG ValueLength,
|
||||
_Inout_opt_ PVOID Context);
|
||||
typedef POWER_SETTING_CALLBACK *PPOWER_SETTING_CALLBACK;
|
||||
$endif (_WDMDDK_)
|
||||
$if (_NTIFS_)
|
||||
|
||||
@@ -7,8 +7,8 @@ NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PsWrapApcWow64Thread(
|
||||
IN OUT PVOID *ApcContext,
|
||||
IN OUT PVOID *ApcRoutine);
|
||||
_Inout_ PVOID *ApcContext,
|
||||
_Inout_ PVOID *ApcRoutine);
|
||||
|
||||
/*
|
||||
* PEPROCESS
|
||||
@@ -18,6 +18,7 @@ PsWrapApcWow64Thread(
|
||||
|
||||
#if !defined(_PSGETCURRENTTHREAD_)
|
||||
#define _PSGETCURRENTTHREAD_
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
FORCEINLINE
|
||||
PETHREAD
|
||||
NTAPI
|
||||
@@ -30,14 +31,15 @@ PsGetCurrentThread(VOID)
|
||||
$endif (_WDMDDK_)
|
||||
$if (_NTDDK_)
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtOpenProcess(
|
||||
OUT PHANDLE ProcessHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN PCLIENT_ID ClientId OPTIONAL);
|
||||
_Out_ PHANDLE ProcessHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_opt_ PCLIENT_ID ClientId);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
@@ -51,69 +53,81 @@ NtQueryInformationProcess(
|
||||
$endif (_NTDDK_)
|
||||
$if (_NTIFS_)
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PsLookupProcessByProcessId(
|
||||
IN HANDLE ProcessId,
|
||||
OUT PEPROCESS *Process);
|
||||
_In_ HANDLE ProcessId,
|
||||
_Outptr_ PEPROCESS *Process);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PsLookupThreadByThreadId(
|
||||
IN HANDLE UniqueThreadId,
|
||||
OUT PETHREAD *Thread);
|
||||
_In_ HANDLE UniqueThreadId,
|
||||
_Outptr_ PETHREAD *Thread);
|
||||
$endif (_NTIFS_)
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
|
||||
$if (_WDMDDK_)
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
_Post_satisfies_(return <= 0)
|
||||
_Must_inspect_result_
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PsCreateSystemThread(
|
||||
OUT PHANDLE ThreadHandle,
|
||||
IN ULONG DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
||||
IN HANDLE ProcessHandle OPTIONAL,
|
||||
OUT PCLIENT_ID ClientId OPTIONAL,
|
||||
IN PKSTART_ROUTINE StartRoutine,
|
||||
IN PVOID StartContext OPTIONAL);
|
||||
_Out_ PHANDLE ThreadHandle,
|
||||
_In_ ULONG DesiredAccess,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_opt_ HANDLE ProcessHandle,
|
||||
_Out_opt_ PCLIENT_ID ClientId,
|
||||
_In_ PKSTART_ROUTINE StartRoutine,
|
||||
_In_opt_ _When_(return==0, __drv_aliasesMem) PVOID StartContext);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PsTerminateSystemThread(
|
||||
IN NTSTATUS ExitStatus);
|
||||
_In_ NTSTATUS ExitStatus);
|
||||
|
||||
$endif (_WDMDDK_)
|
||||
$if (_NTDDK_)
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PsSetCreateProcessNotifyRoutine(
|
||||
IN PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine,
|
||||
IN BOOLEAN Remove);
|
||||
_In_ PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine,
|
||||
_In_ BOOLEAN Remove);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PsSetCreateThreadNotifyRoutine(
|
||||
IN PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine);
|
||||
_In_ PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PsSetLoadImageNotifyRoutine(
|
||||
IN PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine);
|
||||
_In_ PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine);
|
||||
|
||||
NTKERNELAPI
|
||||
HANDLE
|
||||
NTAPI
|
||||
PsGetCurrentProcessId(VOID);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
HANDLE
|
||||
NTAPI
|
||||
@@ -130,83 +144,95 @@ PsGetVersion(
|
||||
$endif (_NTDDK_)
|
||||
$if (_NTIFS_)
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
PACCESS_TOKEN
|
||||
NTAPI
|
||||
PsReferenceImpersonationToken(
|
||||
IN OUT PETHREAD Thread,
|
||||
OUT PBOOLEAN CopyOnOpen,
|
||||
OUT PBOOLEAN EffectiveOnly,
|
||||
OUT PSECURITY_IMPERSONATION_LEVEL ImpersonationLevel);
|
||||
_Inout_ PETHREAD Thread,
|
||||
_Out_ PBOOLEAN CopyOnOpen,
|
||||
_Out_ PBOOLEAN EffectiveOnly,
|
||||
_Out_ PSECURITY_IMPERSONATION_LEVEL ImpersonationLevel);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
LARGE_INTEGER
|
||||
NTAPI
|
||||
PsGetProcessExitTime(VOID);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
PsIsThreadTerminating(
|
||||
IN PETHREAD Thread);
|
||||
_In_ PETHREAD Thread);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PsImpersonateClient(
|
||||
IN OUT PETHREAD Thread,
|
||||
IN PACCESS_TOKEN Token,
|
||||
IN BOOLEAN CopyOnOpen,
|
||||
IN BOOLEAN EffectiveOnly,
|
||||
IN SECURITY_IMPERSONATION_LEVEL ImpersonationLevel);
|
||||
_Inout_ PETHREAD Thread,
|
||||
_In_opt_ PACCESS_TOKEN Token,
|
||||
_In_ BOOLEAN CopyOnOpen,
|
||||
_In_ BOOLEAN EffectiveOnly,
|
||||
_In_ SECURITY_IMPERSONATION_LEVEL ImpersonationLevel);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
PsDisableImpersonation(
|
||||
IN OUT PETHREAD Thread,
|
||||
IN OUT PSE_IMPERSONATION_STATE ImpersonationState);
|
||||
_Inout_ PETHREAD Thread,
|
||||
_Inout_ PSE_IMPERSONATION_STATE ImpersonationState);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PsRestoreImpersonation(
|
||||
IN PETHREAD Thread,
|
||||
IN PSE_IMPERSONATION_STATE ImpersonationState);
|
||||
_Inout_ PETHREAD Thread,
|
||||
_In_ PSE_IMPERSONATION_STATE ImpersonationState);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PsRevertToSelf(VOID);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PsChargePoolQuota(
|
||||
IN PEPROCESS Process,
|
||||
IN POOL_TYPE PoolType,
|
||||
IN ULONG_PTR Amount);
|
||||
_In_ PEPROCESS Process,
|
||||
_In_ POOL_TYPE PoolType,
|
||||
_In_ ULONG_PTR Amount);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PsReturnPoolQuota(
|
||||
IN PEPROCESS Process,
|
||||
IN POOL_TYPE PoolType,
|
||||
IN ULONG_PTR Amount);
|
||||
_In_ PEPROCESS Process,
|
||||
_In_ POOL_TYPE PoolType,
|
||||
_In_ ULONG_PTR Amount);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PsAssignImpersonationToken(
|
||||
IN PETHREAD Thread,
|
||||
IN HANDLE Token OPTIONAL);
|
||||
_In_ PETHREAD Thread,
|
||||
_In_opt_ HANDLE Token);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
HANDLE
|
||||
NTAPI
|
||||
PsReferencePrimaryToken(
|
||||
IN OUT PEPROCESS Process);
|
||||
_Inout_ PEPROCESS Process);
|
||||
$endif (_NTIFS_)
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
|
||||
$if (_NTDDK_ || _NTIFS_)
|
||||
@@ -214,63 +240,71 @@ $if (_NTDDK_ || _NTIFS_)
|
||||
$endif (_NTDDK_ || _NTIFS_)
|
||||
|
||||
$if (_NTDDK_)
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
HANDLE
|
||||
NTAPI
|
||||
PsGetProcessId(
|
||||
IN PEPROCESS Process);
|
||||
_In_ PEPROCESS Process);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
HANDLE
|
||||
NTAPI
|
||||
PsGetThreadId(
|
||||
IN PETHREAD Thread);
|
||||
_In_ PETHREAD Thread);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PsRemoveCreateThreadNotifyRoutine(
|
||||
IN PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine);
|
||||
_In_ PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PsRemoveLoadImageNotifyRoutine(
|
||||
IN PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine);
|
||||
_In_ PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
LONGLONG
|
||||
NTAPI
|
||||
PsGetProcessCreateTimeQuadPart(
|
||||
IN PEPROCESS Process);
|
||||
_In_ PEPROCESS Process);
|
||||
$endif (_NTDDK_)
|
||||
$if (_NTIFS_)
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PsDereferencePrimaryToken(
|
||||
IN PACCESS_TOKEN PrimaryToken);
|
||||
_In_ PACCESS_TOKEN PrimaryToken);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
PsDereferenceImpersonationToken(
|
||||
IN PACCESS_TOKEN ImpersonationToken);
|
||||
_In_ PACCESS_TOKEN ImpersonationToken);
|
||||
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PsChargeProcessPoolQuota(
|
||||
IN PEPROCESS Process,
|
||||
IN POOL_TYPE PoolType,
|
||||
IN ULONG_PTR Amount);
|
||||
_In_ PEPROCESS Process,
|
||||
_In_ POOL_TYPE PoolType,
|
||||
_In_ ULONG_PTR Amount);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
PsIsSystemThread(
|
||||
IN PETHREAD Thread);
|
||||
_In_ PETHREAD Thread);
|
||||
$endif (_NTIFS_)
|
||||
$if (_NTDDK_ || _NTIFS_)
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
|
||||
|
||||
@@ -152,44 +152,44 @@ typedef struct _PROCESS_ACCESS_TOKEN {
|
||||
#define PROCESS_EXCEPTION_PORT_ALL_STATE_FLAGS ((ULONG_PTR)((1UL << PROCESS_EXCEPTION_PORT_ALL_STATE_BITS) - 1))
|
||||
|
||||
typedef struct _PROCESS_EXCEPTION_PORT {
|
||||
IN HANDLE ExceptionPortHandle;
|
||||
IN OUT ULONG StateFlags;
|
||||
_In_ HANDLE ExceptionPortHandle;
|
||||
_Inout_ ULONG StateFlags;
|
||||
} PROCESS_EXCEPTION_PORT, *PPROCESS_EXCEPTION_PORT;
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PCREATE_PROCESS_NOTIFY_ROUTINE)(
|
||||
IN HANDLE ParentId,
|
||||
IN HANDLE ProcessId,
|
||||
IN BOOLEAN Create);
|
||||
_In_ HANDLE ParentId,
|
||||
_In_ HANDLE ProcessId,
|
||||
_In_ BOOLEAN Create);
|
||||
|
||||
typedef struct _PS_CREATE_NOTIFY_INFO {
|
||||
IN SIZE_T Size;
|
||||
_In_ SIZE_T Size;
|
||||
_ANONYMOUS_UNION union {
|
||||
IN ULONG Flags;
|
||||
_In_ ULONG Flags;
|
||||
_ANONYMOUS_STRUCT struct {
|
||||
IN ULONG FileOpenNameAvailable:1;
|
||||
IN ULONG Reserved:31;
|
||||
_In_ ULONG FileOpenNameAvailable:1;
|
||||
_In_ ULONG Reserved:31;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
IN HANDLE ParentProcessId;
|
||||
IN CLIENT_ID CreatingThreadId;
|
||||
IN OUT struct _FILE_OBJECT *FileObject;
|
||||
IN PCUNICODE_STRING ImageFileName;
|
||||
IN PCUNICODE_STRING CommandLine OPTIONAL;
|
||||
IN OUT NTSTATUS CreationStatus;
|
||||
_In_ HANDLE ParentProcessId;
|
||||
_In_ CLIENT_ID CreatingThreadId;
|
||||
_Inout_ struct _FILE_OBJECT *FileObject;
|
||||
_In_ PCUNICODE_STRING ImageFileName;
|
||||
_In_opt_ PCUNICODE_STRING CommandLine;
|
||||
_Inout_ NTSTATUS CreationStatus;
|
||||
} PS_CREATE_NOTIFY_INFO, *PPS_CREATE_NOTIFY_INFO;
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PCREATE_PROCESS_NOTIFY_ROUTINE_EX)(
|
||||
IN OUT PEPROCESS Process,
|
||||
IN HANDLE ProcessId,
|
||||
IN PPS_CREATE_NOTIFY_INFO CreateInfo OPTIONAL);
|
||||
_Inout_ PEPROCESS Process,
|
||||
_In_ HANDLE ProcessId,
|
||||
_Inout_opt_ PPS_CREATE_NOTIFY_INFO CreateInfo);
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PCREATE_THREAD_NOTIFY_ROUTINE)(
|
||||
IN HANDLE ProcessId,
|
||||
IN HANDLE ThreadId,
|
||||
IN BOOLEAN Create);
|
||||
_In_ HANDLE ProcessId,
|
||||
_In_ HANDLE ThreadId,
|
||||
_In_ BOOLEAN Create);
|
||||
|
||||
#define IMAGE_ADDRESSING_MODE_32BIT 3
|
||||
|
||||
@@ -218,9 +218,9 @@ typedef struct _IMAGE_INFO_EX {
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PLOAD_IMAGE_NOTIFY_ROUTINE)(
|
||||
IN PUNICODE_STRING FullImageName,
|
||||
IN HANDLE ProcessId,
|
||||
IN PIMAGE_INFO ImageInfo);
|
||||
_In_ PUNICODE_STRING FullImageName,
|
||||
_In_ HANDLE ProcessId,
|
||||
_In_ PIMAGE_INFO ImageInfo);
|
||||
|
||||
#define THREAD_CSWITCH_PMU_DISABLE FALSE
|
||||
#define THREAD_CSWITCH_PMU_ENABLE TRUE
|
||||
|
||||
+1060
-775
File diff suppressed because it is too large
Load Diff
@@ -36,14 +36,17 @@ typedef struct _RTL_BITMAP_RUN {
|
||||
ULONG NumberOfBits;
|
||||
} RTL_BITMAP_RUN, *PRTL_BITMAP_RUN;
|
||||
|
||||
_Function_class_(RTL_QUERY_REGISTRY_ROUTINE)
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
_IRQL_requires_same_
|
||||
typedef NTSTATUS
|
||||
(NTAPI *PRTL_QUERY_REGISTRY_ROUTINE)(
|
||||
IN PWSTR ValueName,
|
||||
IN ULONG ValueType,
|
||||
IN PVOID ValueData,
|
||||
IN ULONG ValueLength,
|
||||
IN PVOID Context,
|
||||
IN PVOID EntryContext);
|
||||
_In_z_ PWSTR ValueName,
|
||||
_In_ ULONG ValueType,
|
||||
_In_reads_bytes_opt_(ValueLength) PVOID ValueData,
|
||||
_In_ ULONG ValueLength,
|
||||
_In_opt_ PVOID Context,
|
||||
_In_opt_ PVOID EntryContext);
|
||||
|
||||
typedef struct _RTL_QUERY_REGISTRY_TABLE {
|
||||
PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine;
|
||||
@@ -161,11 +164,11 @@ extern BOOLEAN NTSYSAPI NlsMbOemCodePageTag;
|
||||
|
||||
typedef BOOLEAN
|
||||
(*PFN_RTL_IS_NTDDI_VERSION_AVAILABLE)(
|
||||
IN ULONG Version);
|
||||
_In_ ULONG Version);
|
||||
|
||||
typedef BOOLEAN
|
||||
(*PFN_RTL_IS_SERVICE_PACK_VERSION_INSTALLED)(
|
||||
IN ULONG Version);
|
||||
_In_ ULONG Version);
|
||||
|
||||
$endif (_WDMDDK_)
|
||||
$if (_NTDDK_)
|
||||
@@ -221,11 +224,13 @@ typedef union _RTL_RUN_ONCE {
|
||||
PVOID Ptr;
|
||||
} RTL_RUN_ONCE, *PRTL_RUN_ONCE;
|
||||
|
||||
_Function_class_(RTL_RUN_ONCE_INIT_FN)
|
||||
_IRQL_requires_same_
|
||||
typedef ULONG /* LOGICAL */
|
||||
(NTAPI *PRTL_RUN_ONCE_INIT_FN) (
|
||||
IN OUT PRTL_RUN_ONCE RunOnce,
|
||||
IN OUT PVOID Parameter OPTIONAL,
|
||||
IN OUT PVOID *Context OPTIONAL);
|
||||
_Inout_ PRTL_RUN_ONCE RunOnce,
|
||||
_Inout_opt_ PVOID Parameter,
|
||||
_Inout_opt_ PVOID *Context);
|
||||
|
||||
#endif /* _RTL_RUN_ONCE_DEF */
|
||||
|
||||
@@ -245,30 +250,39 @@ typedef enum _RTL_GENERIC_COMPARE_RESULTS {
|
||||
// Forwarder
|
||||
struct _RTL_AVL_TABLE;
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(RTL_AVL_COMPARE_ROUTINE)
|
||||
typedef RTL_GENERIC_COMPARE_RESULTS
|
||||
(NTAPI RTL_AVL_COMPARE_ROUTINE) (
|
||||
IN struct _RTL_AVL_TABLE *Table,
|
||||
IN PVOID FirstStruct,
|
||||
IN PVOID SecondStruct);
|
||||
_In_ struct _RTL_AVL_TABLE *Table,
|
||||
_In_ PVOID FirstStruct,
|
||||
_In_ PVOID SecondStruct);
|
||||
typedef RTL_AVL_COMPARE_ROUTINE *PRTL_AVL_COMPARE_ROUTINE;
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(RTL_AVL_ALLOCATE_ROUTINE)
|
||||
__drv_allocatesMem(Mem)
|
||||
typedef PVOID
|
||||
(NTAPI RTL_AVL_ALLOCATE_ROUTINE) (
|
||||
IN struct _RTL_AVL_TABLE *Table,
|
||||
IN CLONG ByteSize);
|
||||
_In_ struct _RTL_AVL_TABLE *Table,
|
||||
_In_ CLONG ByteSize);
|
||||
typedef RTL_AVL_ALLOCATE_ROUTINE *PRTL_AVL_ALLOCATE_ROUTINE;
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(RTL_AVL_FREE_ROUTINE)
|
||||
typedef VOID
|
||||
(NTAPI RTL_AVL_FREE_ROUTINE) (
|
||||
IN struct _RTL_AVL_TABLE *Table,
|
||||
IN PVOID Buffer);
|
||||
_In_ struct _RTL_AVL_TABLE *Table,
|
||||
_In_ __drv_freesMem(Mem) _Post_invalid_ PVOID Buffer);
|
||||
typedef RTL_AVL_FREE_ROUTINE *PRTL_AVL_FREE_ROUTINE;
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(RTL_AVL_MATCH_FUNCTION)
|
||||
typedef NTSTATUS
|
||||
(NTAPI RTL_AVL_MATCH_FUNCTION) (
|
||||
IN struct _RTL_AVL_TABLE *Table,
|
||||
IN PVOID UserData,
|
||||
IN PVOID MatchData);
|
||||
_In_ struct _RTL_AVL_TABLE *Table,
|
||||
_In_ PVOID UserData,
|
||||
_In_ PVOID MatchData);
|
||||
typedef RTL_AVL_MATCH_FUNCTION *PRTL_AVL_MATCH_FUNCTION;
|
||||
|
||||
typedef struct _RTL_BALANCED_LINKS {
|
||||
@@ -303,23 +317,30 @@ typedef struct _RTL_SPLAY_LINKS {
|
||||
|
||||
struct _RTL_GENERIC_TABLE;
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(RTL_GENERIC_COMPARE_ROUTINE)
|
||||
typedef RTL_GENERIC_COMPARE_RESULTS
|
||||
(NTAPI RTL_GENERIC_COMPARE_ROUTINE) (
|
||||
IN struct _RTL_GENERIC_TABLE *Table,
|
||||
IN PVOID FirstStruct,
|
||||
IN PVOID SecondStruct);
|
||||
_In_ struct _RTL_GENERIC_TABLE *Table,
|
||||
_In_ PVOID FirstStruct,
|
||||
_In_ PVOID SecondStruct);
|
||||
typedef RTL_GENERIC_COMPARE_ROUTINE *PRTL_GENERIC_COMPARE_ROUTINE;
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(RTL_GENERIC_ALLOCATE_ROUTINE)
|
||||
__drv_allocatesMem(Mem)
|
||||
typedef PVOID
|
||||
(NTAPI RTL_GENERIC_ALLOCATE_ROUTINE) (
|
||||
IN struct _RTL_GENERIC_TABLE *Table,
|
||||
IN CLONG ByteSize);
|
||||
_In_ struct _RTL_GENERIC_TABLE *Table,
|
||||
_In_ CLONG ByteSize);
|
||||
typedef RTL_GENERIC_ALLOCATE_ROUTINE *PRTL_GENERIC_ALLOCATE_ROUTINE;
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(RTL_GENERIC_FREE_ROUTINE)
|
||||
typedef VOID
|
||||
(NTAPI RTL_GENERIC_FREE_ROUTINE) (
|
||||
IN struct _RTL_GENERIC_TABLE *Table,
|
||||
IN PVOID Buffer);
|
||||
_In_ struct _RTL_GENERIC_TABLE *Table,
|
||||
_In_ __drv_freesMem(Mem) _Post_invalid_ PVOID Buffer);
|
||||
typedef RTL_GENERIC_FREE_ROUTINE *PRTL_GENERIC_FREE_ROUTINE;
|
||||
|
||||
typedef struct _RTL_GENERIC_TABLE {
|
||||
@@ -358,6 +379,8 @@ typedef struct _RTL_GENERIC_TABLE {
|
||||
|
||||
#endif /* RTL_USE_AVL_TABLES */
|
||||
|
||||
#define RTL_HASH_ALLOCATED_HEADER 0x00000001
|
||||
|
||||
typedef struct _RTL_DYNAMIC_HASH_TABLE_ENTRY {
|
||||
LIST_ENTRY Linkage;
|
||||
ULONG_PTR Signature;
|
||||
@@ -456,20 +479,26 @@ $if (_NTIFS_)
|
||||
|
||||
#define RTL_SYSTEM_VOLUME_INFORMATION_FOLDER L"System Volume Information"
|
||||
|
||||
_Function_class_(RTL_ALLOCATE_STRING_ROUTINE)
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
__drv_allocatesMem(Mem)
|
||||
typedef PVOID
|
||||
(NTAPI *PRTL_ALLOCATE_STRING_ROUTINE)(
|
||||
IN SIZE_T NumberOfBytes);
|
||||
_In_ SIZE_T NumberOfBytes);
|
||||
|
||||
#if _WIN32_WINNT >= 0x0600
|
||||
_Function_class_(RTL_REALLOCATE_STRING_ROUTINE)
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
__drv_allocatesMem(Mem)
|
||||
typedef PVOID
|
||||
(NTAPI *PRTL_REALLOCATE_STRING_ROUTINE)(
|
||||
IN SIZE_T NumberOfBytes,
|
||||
_In_ SIZE_T NumberOfBytes,
|
||||
IN PVOID Buffer);
|
||||
#endif
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PRTL_FREE_STRING_ROUTINE)(
|
||||
IN PVOID Buffer);
|
||||
_In_ __drv_freesMem(Mem) _Post_invalid_ PVOID Buffer);
|
||||
|
||||
extern const PRTL_ALLOCATE_STRING_ROUTINE RtlAllocateStringRoutine;
|
||||
extern const PRTL_FREE_STRING_ROUTINE RtlFreeStringRoutine;
|
||||
@@ -478,11 +507,13 @@ extern const PRTL_FREE_STRING_ROUTINE RtlFreeStringRoutine;
|
||||
extern const PRTL_REALLOCATE_STRING_ROUTINE RtlReallocateStringRoutine;
|
||||
#endif
|
||||
|
||||
_Function_class_(RTL_HEAP_COMMIT_ROUTINE)
|
||||
_IRQL_requires_same_
|
||||
typedef NTSTATUS
|
||||
(NTAPI * PRTL_HEAP_COMMIT_ROUTINE) (
|
||||
IN PVOID Base,
|
||||
IN OUT PVOID *CommitAddress,
|
||||
IN OUT PSIZE_T CommitSize);
|
||||
(NTAPI *PRTL_HEAP_COMMIT_ROUTINE) (
|
||||
_In_ PVOID Base,
|
||||
_Inout_ PVOID *CommitAddress,
|
||||
_Inout_ PSIZE_T CommitSize);
|
||||
|
||||
typedef struct _RTL_HEAP_PARAMETERS {
|
||||
ULONG Length;
|
||||
@@ -503,9 +534,9 @@ typedef struct _RTL_HEAP_PARAMETERS {
|
||||
typedef struct _GENERATE_NAME_CONTEXT {
|
||||
USHORT Checksum;
|
||||
BOOLEAN CheckSumInserted;
|
||||
UCHAR NameLength;
|
||||
_Field_range_(<=, 8) UCHAR NameLength;
|
||||
WCHAR NameBuffer[8];
|
||||
ULONG ExtensionLength;
|
||||
_Field_range_(<=, 4) ULONG ExtensionLength;
|
||||
WCHAR ExtensionBuffer[4];
|
||||
ULONG LastIndexValue;
|
||||
} GENERATE_NAME_CONTEXT, *PGENERATE_NAME_CONTEXT;
|
||||
|
||||
+222
-213
@@ -4,98 +4,103 @@
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
$if (_WDMDDK_)
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
SeAccessCheck(
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext,
|
||||
IN BOOLEAN SubjectContextLocked,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN ACCESS_MASK PreviouslyGrantedAccess,
|
||||
OUT PPRIVILEGE_SET *Privileges OPTIONAL,
|
||||
IN PGENERIC_MAPPING GenericMapping,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
OUT PACCESS_MASK GrantedAccess,
|
||||
OUT PNTSTATUS AccessStatus);
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_ PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext,
|
||||
_In_ BOOLEAN SubjectContextLocked,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ ACCESS_MASK PreviouslyGrantedAccess,
|
||||
_Outptr_opt_ PPRIVILEGE_SET *Privileges,
|
||||
_In_ PGENERIC_MAPPING GenericMapping,
|
||||
_In_ KPROCESSOR_MODE AccessMode,
|
||||
_Out_ PACCESS_MASK GrantedAccess,
|
||||
_Out_ PNTSTATUS AccessStatus);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeAssignSecurity(
|
||||
IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,
|
||||
IN PSECURITY_DESCRIPTOR ExplicitDescriptor OPTIONAL,
|
||||
OUT PSECURITY_DESCRIPTOR *NewDescriptor,
|
||||
IN BOOLEAN IsDirectoryObject,
|
||||
IN PSECURITY_SUBJECT_CONTEXT SubjectContext,
|
||||
IN PGENERIC_MAPPING GenericMapping,
|
||||
IN POOL_TYPE PoolType);
|
||||
_In_opt_ PSECURITY_DESCRIPTOR ParentDescriptor,
|
||||
_In_opt_ PSECURITY_DESCRIPTOR ExplicitDescriptor,
|
||||
_Out_ PSECURITY_DESCRIPTOR *NewDescriptor,
|
||||
_In_ BOOLEAN IsDirectoryObject,
|
||||
_In_ PSECURITY_SUBJECT_CONTEXT SubjectContext,
|
||||
_In_ PGENERIC_MAPPING GenericMapping,
|
||||
_In_ POOL_TYPE PoolType);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeAssignSecurityEx(
|
||||
IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,
|
||||
IN PSECURITY_DESCRIPTOR ExplicitDescriptor OPTIONAL,
|
||||
OUT PSECURITY_DESCRIPTOR *NewDescriptor,
|
||||
IN GUID *ObjectType OPTIONAL,
|
||||
IN BOOLEAN IsDirectoryObject,
|
||||
IN ULONG AutoInheritFlags,
|
||||
IN PSECURITY_SUBJECT_CONTEXT SubjectContext,
|
||||
IN PGENERIC_MAPPING GenericMapping,
|
||||
IN POOL_TYPE PoolType);
|
||||
_In_opt_ PSECURITY_DESCRIPTOR ParentDescriptor,
|
||||
_In_opt_ PSECURITY_DESCRIPTOR ExplicitDescriptor,
|
||||
_Out_ PSECURITY_DESCRIPTOR *NewDescriptor,
|
||||
_In_opt_ GUID *ObjectType,
|
||||
_In_ BOOLEAN IsDirectoryObject,
|
||||
_In_ ULONG AutoInheritFlags,
|
||||
_In_ PSECURITY_SUBJECT_CONTEXT SubjectContext,
|
||||
_In_ PGENERIC_MAPPING GenericMapping,
|
||||
_In_ POOL_TYPE PoolType);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeDeassignSecurity(
|
||||
IN OUT PSECURITY_DESCRIPTOR *SecurityDescriptor);
|
||||
_Inout_ PSECURITY_DESCRIPTOR *SecurityDescriptor);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
SeValidSecurityDescriptor(
|
||||
IN ULONG Length,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor);
|
||||
_In_ ULONG Length,
|
||||
_In_reads_bytes_(Length) PSECURITY_DESCRIPTOR SecurityDescriptor);
|
||||
|
||||
NTKERNELAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
SeObjectCreateSaclAccessBits(
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor);
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeReleaseSubjectContext(
|
||||
IN OUT PSECURITY_SUBJECT_CONTEXT SubjectContext);
|
||||
_Inout_ PSECURITY_SUBJECT_CONTEXT SubjectContext);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeUnlockSubjectContext(
|
||||
IN PSECURITY_SUBJECT_CONTEXT SubjectContext);
|
||||
_In_ PSECURITY_SUBJECT_CONTEXT SubjectContext);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeCaptureSubjectContext(
|
||||
OUT PSECURITY_SUBJECT_CONTEXT SubjectContext);
|
||||
_Out_ PSECURITY_SUBJECT_CONTEXT SubjectContext);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeLockSubjectContext(
|
||||
IN PSECURITY_SUBJECT_CONTEXT SubjectContext);
|
||||
_In_ PSECURITY_SUBJECT_CONTEXT SubjectContext);
|
||||
$endif (_WDMDDK_)
|
||||
|
||||
$if (_NTDDK_)
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
SeSinglePrivilegeCheck(
|
||||
IN LUID PrivilegeValue,
|
||||
IN KPROCESSOR_MODE PreviousMode);
|
||||
_In_ LUID PrivilegeValue,
|
||||
_In_ KPROCESSOR_MODE PreviousMode);
|
||||
$endif (_NTDDK_)
|
||||
$if (_NTIFS_)
|
||||
|
||||
@@ -103,200 +108,200 @@ NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeReleaseSubjectContext(
|
||||
IN PSECURITY_SUBJECT_CONTEXT SubjectContext);
|
||||
_Inout_ PSECURITY_SUBJECT_CONTEXT SubjectContext);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
SePrivilegeCheck(
|
||||
IN OUT PPRIVILEGE_SET RequiredPrivileges,
|
||||
IN PSECURITY_SUBJECT_CONTEXT SubjectContext,
|
||||
IN KPROCESSOR_MODE AccessMode);
|
||||
_Inout_ PPRIVILEGE_SET RequiredPrivileges,
|
||||
_In_ PSECURITY_SUBJECT_CONTEXT SubjectContext,
|
||||
_In_ KPROCESSOR_MODE AccessMode);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeOpenObjectAuditAlarm(
|
||||
IN PUNICODE_STRING ObjectTypeName,
|
||||
IN PVOID Object OPTIONAL,
|
||||
IN PUNICODE_STRING AbsoluteObjectName OPTIONAL,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN PACCESS_STATE AccessState,
|
||||
IN BOOLEAN ObjectCreated,
|
||||
IN BOOLEAN AccessGranted,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
OUT PBOOLEAN GenerateOnClose);
|
||||
_In_ PUNICODE_STRING ObjectTypeName,
|
||||
_In_opt_ PVOID Object,
|
||||
_In_opt_ PUNICODE_STRING AbsoluteObjectName,
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_ PACCESS_STATE AccessState,
|
||||
_In_ BOOLEAN ObjectCreated,
|
||||
_In_ BOOLEAN AccessGranted,
|
||||
_In_ KPROCESSOR_MODE AccessMode,
|
||||
_Out_ PBOOLEAN GenerateOnClose);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeOpenObjectForDeleteAuditAlarm(
|
||||
IN PUNICODE_STRING ObjectTypeName,
|
||||
IN PVOID Object OPTIONAL,
|
||||
IN PUNICODE_STRING AbsoluteObjectName OPTIONAL,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN PACCESS_STATE AccessState,
|
||||
IN BOOLEAN ObjectCreated,
|
||||
IN BOOLEAN AccessGranted,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
OUT PBOOLEAN GenerateOnClose);
|
||||
_In_ PUNICODE_STRING ObjectTypeName,
|
||||
_In_opt_ PVOID Object,
|
||||
_In_opt_ PUNICODE_STRING AbsoluteObjectName,
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_ PACCESS_STATE AccessState,
|
||||
_In_ BOOLEAN ObjectCreated,
|
||||
_In_ BOOLEAN AccessGranted,
|
||||
_In_ KPROCESSOR_MODE AccessMode,
|
||||
_Out_ PBOOLEAN GenerateOnClose);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeDeleteObjectAuditAlarm(
|
||||
IN PVOID Object,
|
||||
IN HANDLE Handle);
|
||||
_In_ PVOID Object,
|
||||
_In_ HANDLE Handle);
|
||||
|
||||
NTKERNELAPI
|
||||
TOKEN_TYPE
|
||||
NTAPI
|
||||
SeTokenType(
|
||||
IN PACCESS_TOKEN Token);
|
||||
_In_ PACCESS_TOKEN Token);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
SeTokenIsAdmin(
|
||||
IN PACCESS_TOKEN Token);
|
||||
_In_ PACCESS_TOKEN Token);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
SeTokenIsRestricted(
|
||||
IN PACCESS_TOKEN Token);
|
||||
_In_ PACCESS_TOKEN Token);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeQueryAuthenticationIdToken(
|
||||
IN PACCESS_TOKEN Token,
|
||||
OUT PLUID AuthenticationId);
|
||||
_In_ PACCESS_TOKEN Token,
|
||||
_Out_ PLUID AuthenticationId);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeQuerySessionIdToken(
|
||||
IN PACCESS_TOKEN Token,
|
||||
OUT PULONG SessionId);
|
||||
_In_ PACCESS_TOKEN Token,
|
||||
_Out_ PULONG SessionId);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeCreateClientSecurity(
|
||||
IN PETHREAD ClientThread,
|
||||
IN PSECURITY_QUALITY_OF_SERVICE ClientSecurityQos,
|
||||
IN BOOLEAN RemoteSession,
|
||||
OUT PSECURITY_CLIENT_CONTEXT ClientContext);
|
||||
_In_ PETHREAD ClientThread,
|
||||
_In_ PSECURITY_QUALITY_OF_SERVICE ClientSecurityQos,
|
||||
_In_ BOOLEAN RemoteSession,
|
||||
_Out_ PSECURITY_CLIENT_CONTEXT ClientContext);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeImpersonateClient(
|
||||
IN PSECURITY_CLIENT_CONTEXT ClientContext,
|
||||
IN PETHREAD ServerThread OPTIONAL);
|
||||
_In_ PSECURITY_CLIENT_CONTEXT ClientContext,
|
||||
_In_opt_ PETHREAD ServerThread);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeImpersonateClientEx(
|
||||
IN PSECURITY_CLIENT_CONTEXT ClientContext,
|
||||
IN PETHREAD ServerThread OPTIONAL);
|
||||
_In_ PSECURITY_CLIENT_CONTEXT ClientContext,
|
||||
_In_opt_ PETHREAD ServerThread);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeCreateClientSecurityFromSubjectContext(
|
||||
IN PSECURITY_SUBJECT_CONTEXT SubjectContext,
|
||||
IN PSECURITY_QUALITY_OF_SERVICE ClientSecurityQos,
|
||||
IN BOOLEAN ServerIsRemote,
|
||||
OUT PSECURITY_CLIENT_CONTEXT ClientContext);
|
||||
_In_ PSECURITY_SUBJECT_CONTEXT SubjectContext,
|
||||
_In_ PSECURITY_QUALITY_OF_SERVICE ClientSecurityQos,
|
||||
_In_ BOOLEAN ServerIsRemote,
|
||||
_Out_ PSECURITY_CLIENT_CONTEXT ClientContext);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeQuerySecurityDescriptorInfo(
|
||||
IN PSECURITY_INFORMATION SecurityInformation,
|
||||
OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN OUT PULONG Length,
|
||||
IN OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor);
|
||||
_In_ PSECURITY_INFORMATION SecurityInformation,
|
||||
_Out_writes_bytes_(*Length) PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_Inout_ PULONG Length,
|
||||
_Inout_ PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeSetSecurityDescriptorInfo(
|
||||
IN PVOID Object OPTIONAL,
|
||||
IN PSECURITY_INFORMATION SecurityInformation,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
|
||||
IN POOL_TYPE PoolType,
|
||||
IN PGENERIC_MAPPING GenericMapping);
|
||||
_In_opt_ PVOID Object,
|
||||
_In_ PSECURITY_INFORMATION SecurityInformation,
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_Inout_ PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
|
||||
_In_ POOL_TYPE PoolType,
|
||||
_In_ PGENERIC_MAPPING GenericMapping);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeSetSecurityDescriptorInfoEx(
|
||||
IN PVOID Object OPTIONAL,
|
||||
IN PSECURITY_INFORMATION SecurityInformation,
|
||||
IN PSECURITY_DESCRIPTOR ModificationDescriptor,
|
||||
IN OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
|
||||
IN ULONG AutoInheritFlags,
|
||||
IN POOL_TYPE PoolType,
|
||||
IN PGENERIC_MAPPING GenericMapping);
|
||||
_In_opt_ PVOID Object,
|
||||
_In_ PSECURITY_INFORMATION SecurityInformation,
|
||||
_In_ PSECURITY_DESCRIPTOR ModificationDescriptor,
|
||||
_Inout_ PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
|
||||
_In_ ULONG AutoInheritFlags,
|
||||
_In_ POOL_TYPE PoolType,
|
||||
_In_ PGENERIC_MAPPING GenericMapping);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeAppendPrivileges(
|
||||
IN OUT PACCESS_STATE AccessState,
|
||||
IN PPRIVILEGE_SET Privileges);
|
||||
_Inout_ PACCESS_STATE AccessState,
|
||||
_In_ PPRIVILEGE_SET Privileges);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
SeAuditingFileEvents(
|
||||
IN BOOLEAN AccessGranted,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor);
|
||||
_In_ BOOLEAN AccessGranted,
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
SeAuditingFileOrGlobalEvents(
|
||||
IN BOOLEAN AccessGranted,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext);
|
||||
_In_ BOOLEAN AccessGranted,
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_ PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
SeSetAccessStateGenericMapping(
|
||||
IN OUT PACCESS_STATE AccessState,
|
||||
IN PGENERIC_MAPPING GenericMapping);
|
||||
_Inout_ PACCESS_STATE AccessState,
|
||||
_In_ PGENERIC_MAPPING GenericMapping);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeRegisterLogonSessionTerminatedRoutine(
|
||||
IN PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine);
|
||||
_In_ PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeUnregisterLogonSessionTerminatedRoutine(
|
||||
IN PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine);
|
||||
_In_ PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeMarkLogonSessionForTerminationNotification(
|
||||
IN PLUID LogonId);
|
||||
_In_ PLUID LogonId);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeQueryInformationToken(
|
||||
IN PACCESS_TOKEN Token,
|
||||
IN TOKEN_INFORMATION_CLASS TokenInformationClass,
|
||||
OUT PVOID *TokenInformation);
|
||||
_In_ PACCESS_TOKEN Token,
|
||||
_In_ TOKEN_INFORMATION_CLASS TokenInformationClass,
|
||||
_Outptr_result_buffer_(_Inexpressible_(token-dependent)) PVOID *TokenInformation);
|
||||
$endif (_NTIFS_)
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
|
||||
@@ -306,8 +311,8 @@ NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
SeAuditingHardLinkEvents(
|
||||
IN BOOLEAN AccessGranted,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor);
|
||||
_In_ BOOLEAN AccessGranted,
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor);
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
@@ -316,20 +321,20 @@ NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeFilterToken(
|
||||
IN PACCESS_TOKEN ExistingToken,
|
||||
IN ULONG Flags,
|
||||
IN PTOKEN_GROUPS SidsToDisable OPTIONAL,
|
||||
IN PTOKEN_PRIVILEGES PrivilegesToDelete OPTIONAL,
|
||||
IN PTOKEN_GROUPS RestrictedSids OPTIONAL,
|
||||
OUT PACCESS_TOKEN *FilteredToken);
|
||||
_In_ PACCESS_TOKEN ExistingToken,
|
||||
_In_ ULONG Flags,
|
||||
_In_opt_ PTOKEN_GROUPS SidsToDisable,
|
||||
_In_opt_ PTOKEN_PRIVILEGES PrivilegesToDelete,
|
||||
_In_opt_ PTOKEN_GROUPS RestrictedSids,
|
||||
_Outptr_ PACCESS_TOKEN *FilteredToken);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeAuditHardLinkCreation(
|
||||
IN PUNICODE_STRING FileName,
|
||||
IN PUNICODE_STRING LinkName,
|
||||
IN BOOLEAN bSuccess);
|
||||
_In_ PUNICODE_STRING FileName,
|
||||
_In_ PUNICODE_STRING LinkName,
|
||||
_In_ BOOLEAN bSuccess);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
|
||||
|
||||
@@ -339,17 +344,17 @@ NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
SeAuditingFileEventsWithContext(
|
||||
IN BOOLEAN AccessGranted,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext OPTIONAL);
|
||||
_In_ BOOLEAN AccessGranted,
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_opt_ PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
SeAuditingHardLinkEventsWithContext(
|
||||
IN BOOLEAN AccessGranted,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext OPTIONAL);
|
||||
_In_ BOOLEAN AccessGranted,
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_opt_ PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext);
|
||||
|
||||
#endif
|
||||
$endif (_NTIFS_)
|
||||
@@ -357,21 +362,23 @@ $endif (_NTIFS_)
|
||||
$if (_WDMDDK_)
|
||||
#if (NTDDI_VERSION >= NTDDI_WS03SP1)
|
||||
|
||||
_At_(AuditParameters->ParameterCount, _Const_)
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeSetAuditParameter(
|
||||
IN OUT PSE_ADT_PARAMETER_ARRAY AuditParameters,
|
||||
IN SE_ADT_PARAMETER_TYPE Type,
|
||||
IN ULONG Index,
|
||||
IN PVOID Data);
|
||||
_Inout_ PSE_ADT_PARAMETER_ARRAY AuditParameters,
|
||||
_In_ SE_ADT_PARAMETER_TYPE Type,
|
||||
_In_range_(<,SE_MAX_AUDIT_PARAMETERS) ULONG Index,
|
||||
_In_reads_(_Inexpressible_("depends on SE_ADT_PARAMETER_TYPE"))
|
||||
PVOID Data);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeReportSecurityEvent(
|
||||
IN ULONG Flags,
|
||||
IN PUNICODE_STRING SourceName,
|
||||
IN PSID UserSid OPTIONAL,
|
||||
IN PSE_ADT_PARAMETER_ARRAY AuditParameters);
|
||||
_In_ ULONG Flags,
|
||||
_In_ PUNICODE_STRING SourceName,
|
||||
_In_opt_ PSID UserSid,
|
||||
_In_ PSE_ADT_PARAMETER_ARRAY AuditParameters);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WS03SP1) */
|
||||
$endif (_WDMDDK_)
|
||||
@@ -384,17 +391,17 @@ NTKERNELAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
SeComputeAutoInheritByObjectType(
|
||||
IN PVOID ObjectType,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor OPTIONAL,
|
||||
IN PSECURITY_DESCRIPTOR ParentSecurityDescriptor OPTIONAL);
|
||||
_In_ PVOID ObjectType,
|
||||
_In_opt_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_opt_ PSECURITY_DESCRIPTOR ParentSecurityDescriptor);
|
||||
|
||||
#ifdef SE_NTFS_WORLD_CACHE
|
||||
VOID
|
||||
NTAPI
|
||||
SeGetWorldRights(
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN PGENERIC_MAPPING GenericMapping,
|
||||
OUT PACCESS_MASK GrantedAccess);
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_ PGENERIC_MAPPING GenericMapping,
|
||||
_Out_ PACCESS_MASK GrantedAccess);
|
||||
#endif /* SE_NTFS_WORLD_CACHE */
|
||||
$endif (_WDMDDK_)
|
||||
$if (_NTIFS_)
|
||||
@@ -403,81 +410,81 @@ NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeOpenObjectAuditAlarmWithTransaction(
|
||||
IN PUNICODE_STRING ObjectTypeName,
|
||||
IN PVOID Object OPTIONAL,
|
||||
IN PUNICODE_STRING AbsoluteObjectName OPTIONAL,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN PACCESS_STATE AccessState,
|
||||
IN BOOLEAN ObjectCreated,
|
||||
IN BOOLEAN AccessGranted,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
IN GUID *TransactionId OPTIONAL,
|
||||
OUT PBOOLEAN GenerateOnClose);
|
||||
_In_ PUNICODE_STRING ObjectTypeName,
|
||||
_In_opt_ PVOID Object,
|
||||
_In_opt_ PUNICODE_STRING AbsoluteObjectName,
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_ PACCESS_STATE AccessState,
|
||||
_In_ BOOLEAN ObjectCreated,
|
||||
_In_ BOOLEAN AccessGranted,
|
||||
_In_ KPROCESSOR_MODE AccessMode,
|
||||
_In_opt_ GUID *TransactionId,
|
||||
_Out_ PBOOLEAN GenerateOnClose);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeOpenObjectForDeleteAuditAlarmWithTransaction(
|
||||
IN PUNICODE_STRING ObjectTypeName,
|
||||
IN PVOID Object OPTIONAL,
|
||||
IN PUNICODE_STRING AbsoluteObjectName OPTIONAL,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN PACCESS_STATE AccessState,
|
||||
IN BOOLEAN ObjectCreated,
|
||||
IN BOOLEAN AccessGranted,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
IN GUID *TransactionId OPTIONAL,
|
||||
OUT PBOOLEAN GenerateOnClose);
|
||||
_In_ PUNICODE_STRING ObjectTypeName,
|
||||
_In_opt_ PVOID Object,
|
||||
_In_opt_ PUNICODE_STRING AbsoluteObjectName,
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_ PACCESS_STATE AccessState,
|
||||
_In_ BOOLEAN ObjectCreated,
|
||||
_In_ BOOLEAN AccessGranted,
|
||||
_In_ KPROCESSOR_MODE AccessMode,
|
||||
_In_opt_ GUID *TransactionId,
|
||||
_Out_ PBOOLEAN GenerateOnClose);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeExamineSacl(
|
||||
IN PACL Sacl,
|
||||
IN PACCESS_TOKEN Token,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN BOOLEAN AccessGranted,
|
||||
OUT PBOOLEAN GenerateAudit,
|
||||
OUT PBOOLEAN GenerateAlarm);
|
||||
_In_ PACL Sacl,
|
||||
_In_ PACCESS_TOKEN Token,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ BOOLEAN AccessGranted,
|
||||
_Out_ PBOOLEAN GenerateAudit,
|
||||
_Out_ PBOOLEAN GenerateAlarm);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeDeleteObjectAuditAlarmWithTransaction(
|
||||
IN PVOID Object,
|
||||
IN HANDLE Handle,
|
||||
IN GUID *TransactionId OPTIONAL);
|
||||
_In_ PVOID Object,
|
||||
_In_ HANDLE Handle,
|
||||
_In_opt_ GUID *TransactionId);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeQueryTokenIntegrity(
|
||||
IN PACCESS_TOKEN Token,
|
||||
IN OUT PSID_AND_ATTRIBUTES IntegritySA);
|
||||
_In_ PACCESS_TOKEN Token,
|
||||
_Inout_ PSID_AND_ATTRIBUTES IntegritySA);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeSetSessionIdToken(
|
||||
IN PACCESS_TOKEN Token,
|
||||
IN ULONG SessionId);
|
||||
_In_ PACCESS_TOKEN Token,
|
||||
_In_ ULONG SessionId);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeAuditHardLinkCreationWithTransaction(
|
||||
IN PUNICODE_STRING FileName,
|
||||
IN PUNICODE_STRING LinkName,
|
||||
IN BOOLEAN bSuccess,
|
||||
IN GUID *TransactionId OPTIONAL);
|
||||
_In_ PUNICODE_STRING FileName,
|
||||
_In_ PUNICODE_STRING LinkName,
|
||||
_In_ BOOLEAN bSuccess,
|
||||
_In_opt_ GUID *TransactionId);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeAuditTransactionStateChange(
|
||||
IN GUID *TransactionId,
|
||||
IN GUID *ResourceManagerId,
|
||||
IN ULONG NewTransactionState);
|
||||
_In_ GUID *TransactionId,
|
||||
_In_ GUID *ResourceManagerId,
|
||||
_In_ ULONG NewTransactionState);
|
||||
$endif (_NTIFS_)
|
||||
$if (_WDMDDK_ || _NTIFS_)
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
||||
@@ -489,7 +496,7 @@ NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
SeTokenIsWriteRestricted(
|
||||
IN PACCESS_TOKEN Token);
|
||||
_In_ PACCESS_TOKEN Token);
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
@@ -498,65 +505,67 @@ NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
SeAuditingAnyFileEventsWithContext(
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext OPTIONAL);
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_opt_ PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext,
|
||||
_Out_opt_ PBOOLEAN StagingEnabled);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeExamineGlobalSacl(
|
||||
IN PUNICODE_STRING ObjectType,
|
||||
IN PACCESS_TOKEN Token,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN BOOLEAN AccessGranted,
|
||||
IN OUT PBOOLEAN GenerateAudit,
|
||||
IN OUT PBOOLEAN GenerateAlarm OPTIONAL);
|
||||
_In_ PUNICODE_STRING ObjectType,
|
||||
_In_ PACL ResourceSacl,
|
||||
_In_ PACCESS_TOKEN Token,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ BOOLEAN AccessGranted,
|
||||
_Inout_ PBOOLEAN GenerateAudit,
|
||||
_Inout_opt_ PBOOLEAN GenerateAlarm);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeMaximumAuditMaskFromGlobalSacl(
|
||||
IN PUNICODE_STRING ObjectTypeName OPTIONAL,
|
||||
IN ACCESS_MASK GrantedAccess,
|
||||
IN PACCESS_TOKEN Token,
|
||||
IN OUT PACCESS_MASK AuditMask);
|
||||
_In_opt_ PUNICODE_STRING ObjectTypeName,
|
||||
_In_ ACCESS_MASK GrantedAccess,
|
||||
_In_ PACCESS_TOKEN Token,
|
||||
_Inout_ PACCESS_MASK AuditMask);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeReportSecurityEventWithSubCategory(
|
||||
IN ULONG Flags,
|
||||
IN PUNICODE_STRING SourceName,
|
||||
IN PSID UserSid OPTIONAL,
|
||||
IN PSE_ADT_PARAMETER_ARRAY AuditParameters,
|
||||
IN ULONG AuditSubcategoryId);
|
||||
_In_ ULONG Flags,
|
||||
_In_ PUNICODE_STRING SourceName,
|
||||
_In_opt_ PSID UserSid,
|
||||
_In_ PSE_ADT_PARAMETER_ARRAY AuditParameters,
|
||||
_In_ ULONG AuditSubcategoryId);
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
SeAccessCheckFromState(
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN PTOKEN_ACCESS_INFORMATION PrimaryTokenInformation,
|
||||
IN PTOKEN_ACCESS_INFORMATION ClientTokenInformation OPTIONAL,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN ACCESS_MASK PreviouslyGrantedAccess,
|
||||
OUT PPRIVILEGE_SET *Privileges OPTIONAL,
|
||||
IN PGENERIC_MAPPING GenericMapping,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
OUT PACCESS_MASK GrantedAccess,
|
||||
OUT PNTSTATUS AccessStatus);
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_ PTOKEN_ACCESS_INFORMATION PrimaryTokenInformation,
|
||||
_In_opt_ PTOKEN_ACCESS_INFORMATION ClientTokenInformation,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ ACCESS_MASK PreviouslyGrantedAccess,
|
||||
_Outptr_opt_result_maybenull_ PPRIVILEGE_SET *Privileges,
|
||||
_In_ PGENERIC_MAPPING GenericMapping,
|
||||
_In_ KPROCESSOR_MODE AccessMode,
|
||||
_Out_ PACCESS_MASK GrantedAccess,
|
||||
_Out_ PNTSTATUS AccessStatus);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
SeFreePrivileges(
|
||||
IN PPRIVILEGE_SET Privileges);
|
||||
_In_ PPRIVILEGE_SET Privileges);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeLocateProcessImageName(
|
||||
IN OUT PEPROCESS Process,
|
||||
OUT PUNICODE_STRING *pImageFileName);
|
||||
_Inout_ PEPROCESS Process,
|
||||
_Outptr_ PUNICODE_STRING *pImageFileName);
|
||||
|
||||
#define SeLengthSid( Sid ) \
|
||||
(8 + (4 * ((SID *)Sid)->SubAuthorityCount))
|
||||
|
||||
@@ -212,8 +212,8 @@ typedef struct _ACCESS_STATE {
|
||||
|
||||
typedef VOID
|
||||
(NTAPI *PNTFS_DEREF_EXPORTED_SECURITY_DESCRIPTOR)(
|
||||
IN PVOID Vcb,
|
||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor);
|
||||
_In_ PVOID Vcb,
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor);
|
||||
|
||||
#ifndef _NTLSA_IFS_
|
||||
|
||||
@@ -407,7 +407,11 @@ typedef struct _SID {
|
||||
UCHAR Revision;
|
||||
UCHAR SubAuthorityCount;
|
||||
SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
|
||||
#ifdef MIDL_PASS
|
||||
[size_is(SubAuthorityCount)] ULONG SubAuthority[*];
|
||||
#else
|
||||
ULONG SubAuthority[ANYSIZE_ARRAY];
|
||||
#endif
|
||||
} SID, *PISID;
|
||||
#endif
|
||||
|
||||
@@ -415,6 +419,10 @@ typedef struct _SID {
|
||||
#define SID_MAX_SUB_AUTHORITIES 15
|
||||
#define SID_RECOMMENDED_SUB_AUTHORITIES 1
|
||||
|
||||
#ifndef MIDL_PASS
|
||||
#define SECURITY_MAX_SID_SIZE (sizeof(SID) - sizeof(ULONG) + (SID_MAX_SUB_AUTHORITIES * sizeof(ULONG)))
|
||||
#endif
|
||||
|
||||
typedef enum _SID_NAME_USE {
|
||||
SidTypeUser = 1,
|
||||
SidTypeGroup,
|
||||
@@ -429,7 +437,11 @@ typedef enum _SID_NAME_USE {
|
||||
} SID_NAME_USE, *PSID_NAME_USE;
|
||||
|
||||
typedef struct _SID_AND_ATTRIBUTES {
|
||||
#ifdef MIDL_PASS
|
||||
PISID Sid;
|
||||
#else
|
||||
PSID Sid;
|
||||
#endif
|
||||
ULONG Attributes;
|
||||
} SID_AND_ATTRIBUTES, *PSID_AND_ATTRIBUTES;
|
||||
typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
|
||||
@@ -931,7 +943,11 @@ typedef struct _TOKEN_USER {
|
||||
|
||||
typedef struct _TOKEN_GROUPS {
|
||||
ULONG GroupCount;
|
||||
#ifdef MIDL_PASS
|
||||
[size_is(GroupCount)] SID_AND_ATTRIBUTES Groups[*];
|
||||
#else
|
||||
SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY];
|
||||
#endif
|
||||
} TOKEN_GROUPS,*PTOKEN_GROUPS,*LPTOKEN_GROUPS;
|
||||
|
||||
typedef struct _TOKEN_PRIVILEGES {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* This file is part of the ReactOS DDK package.
|
||||
*
|
||||
* Contributors:
|
||||
* Amine Khaldi
|
||||
* Amine Khaldi (amine.khaldi@reactos.org)
|
||||
* Timo Kreuzer (timo.kreuzer@reactos.org)
|
||||
*
|
||||
* THIS SOFTWARE IS NOT COPYRIGHTED
|
||||
@@ -67,6 +67,9 @@ typedef GUID *PGUID;
|
||||
|
||||
#include "intrin.h"
|
||||
|
||||
__internal_kernel_driver
|
||||
__drv_Mode_impl(WDM_INCLUDED)
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -206,15 +209,6 @@ $define (_WDMDDK_)
|
||||
$include (interlocked.h)
|
||||
$include (rtltypes.h)
|
||||
$include (ketypes.h)
|
||||
$include (mmtypes.h)
|
||||
$include (extypes.h)
|
||||
$include (setypes.h)
|
||||
$include (potypes.h)
|
||||
$include (cmtypes.h)
|
||||
$include (iotypes.h)
|
||||
$include (obtypes.h)
|
||||
$include (pstypes.h)
|
||||
$include (wmitypes.h)
|
||||
|
||||
#if defined(_M_IX86)
|
||||
$include(x86/ke.h)
|
||||
@@ -232,6 +226,16 @@ $include(arm/ke.h)
|
||||
#error Unknown Architecture
|
||||
#endif
|
||||
|
||||
$include (mmtypes.h)
|
||||
$include (extypes.h)
|
||||
$include (setypes.h)
|
||||
$include (potypes.h)
|
||||
$include (cmtypes.h)
|
||||
$include (iotypes.h)
|
||||
$include (obtypes.h)
|
||||
$include (pstypes.h)
|
||||
$include (wmitypes.h)
|
||||
|
||||
$include (rtlfuncs.h)
|
||||
$include (kefuncs.h)
|
||||
$include (mmfuncs.h)
|
||||
|
||||
@@ -4,41 +4,44 @@
|
||||
|
||||
#ifdef RUN_WPP
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
_IRQL_requires_max_(HIGH_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
__cdecl
|
||||
WmiTraceMessage(
|
||||
IN TRACEHANDLE LoggerHandle,
|
||||
IN ULONG MessageFlags,
|
||||
IN LPGUID MessageGuid,
|
||||
IN USHORT MessageNumber,
|
||||
IN ...);
|
||||
_In_ TRACEHANDLE LoggerHandle,
|
||||
_In_ ULONG MessageFlags,
|
||||
_In_ LPGUID MessageGuid,
|
||||
_In_ USHORT MessageNumber,
|
||||
...);
|
||||
#endif
|
||||
#endif /* RUN_WPP */
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
WmiQueryTraceInformation(
|
||||
IN TRACE_INFORMATION_CLASS TraceInformationClass,
|
||||
OUT PVOID TraceInformation,
|
||||
IN ULONG TraceInformationLength,
|
||||
OUT PULONG RequiredLength OPTIONAL,
|
||||
IN PVOID Buffer OPTIONAL);
|
||||
_In_ TRACE_INFORMATION_CLASS TraceInformationClass,
|
||||
_Out_writes_bytes_(TraceInformationLength) PVOID TraceInformation,
|
||||
_In_ ULONG TraceInformationLength,
|
||||
_Out_opt_ PULONG RequiredLength,
|
||||
_In_opt_ PVOID Buffer);
|
||||
|
||||
#if 0
|
||||
/* FIXME: Get va_list from where? */
|
||||
_IRQL_requires_max_(HIGH_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
WmiTraceMessageVa(
|
||||
IN TRACEHANDLE LoggerHandle,
|
||||
IN ULONG MessageFlags,
|
||||
IN LPGUID MessageGuid,
|
||||
IN USHORT MessageNumber,
|
||||
IN va_list MessageArgList);
|
||||
_In_ TRACEHANDLE LoggerHandle,
|
||||
_In_ ULONG MessageFlags,
|
||||
_In_ LPGUID MessageGuid,
|
||||
_In_ USHORT MessageNumber,
|
||||
_In_ va_list MessageArgList);
|
||||
#endif
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
|
||||
@@ -46,15 +49,16 @@ WmiTraceMessageVa(
|
||||
#ifndef TRACE_INFORMATION_CLASS_DEFINE
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
WmiQueryTraceInformation(
|
||||
IN TRACE_INFORMATION_CLASS TraceInformationClass,
|
||||
OUT PVOID TraceInformation,
|
||||
IN ULONG TraceInformationLength,
|
||||
OUT PULONG RequiredLength OPTIONAL,
|
||||
IN PVOID Buffer OPTIONAL);
|
||||
_In_ TRACE_INFORMATION_CLASS TraceInformationClass,
|
||||
_Out_writes_bytes_(TraceInformationLength) PVOID TraceInformation,
|
||||
_In_ ULONG TraceInformationLength,
|
||||
_Out_opt_ PULONG RequiredLength,
|
||||
_In_opt_ PVOID Buffer);
|
||||
#endif
|
||||
|
||||
#define TRACE_INFORMATION_CLASS_DEFINE
|
||||
@@ -63,89 +67,99 @@ WmiQueryTraceInformation(
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSTATUS
|
||||
NTKERNELAPI
|
||||
NTAPI
|
||||
EtwRegister(
|
||||
IN LPCGUID ProviderId,
|
||||
IN PETWENABLECALLBACK EnableCallback OPTIONAL,
|
||||
IN PVOID CallbackContext OPTIONAL,
|
||||
OUT PREGHANDLE RegHandle);
|
||||
_In_ LPCGUID ProviderId,
|
||||
_In_opt_ PETWENABLECALLBACK EnableCallback,
|
||||
_In_opt_ PVOID CallbackContext,
|
||||
_Out_ PREGHANDLE RegHandle);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSTATUS
|
||||
NTKERNELAPI
|
||||
NTAPI
|
||||
EtwUnregister(
|
||||
IN REGHANDLE RegHandle);
|
||||
_In_ REGHANDLE RegHandle);
|
||||
|
||||
_IRQL_requires_max_(HIGH_LEVEL)
|
||||
BOOLEAN
|
||||
NTKERNELAPI
|
||||
NTAPI
|
||||
EtwEventEnabled(
|
||||
IN REGHANDLE RegHandle,
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor);
|
||||
_In_ REGHANDLE RegHandle,
|
||||
_In_ PCEVENT_DESCRIPTOR EventDescriptor);
|
||||
|
||||
_IRQL_requires_max_(HIGH_LEVEL)
|
||||
BOOLEAN
|
||||
NTKERNELAPI
|
||||
NTAPI
|
||||
EtwProviderEnabled(
|
||||
IN REGHANDLE RegHandle,
|
||||
IN UCHAR Level,
|
||||
IN ULONGLONG Keyword);
|
||||
_In_ REGHANDLE RegHandle,
|
||||
_In_ UCHAR Level,
|
||||
_In_ ULONGLONG Keyword);
|
||||
|
||||
_When_(ControlCode==EVENT_ACTIVITY_CTRL_CREATE_ID, _IRQL_requires_max_(HIGH_LEVEL))
|
||||
_When_(ControlCode!=EVENT_ACTIVITY_CTRL_CREATE_ID, _IRQL_requires_max_(APC_LEVEL))
|
||||
NTSTATUS
|
||||
NTKERNELAPI
|
||||
NTAPI
|
||||
EtwActivityIdControl(
|
||||
IN ULONG ControlCode,
|
||||
IN OUT LPGUID ActivityId);
|
||||
_In_ ULONG ControlCode,
|
||||
_Inout_updates_bytes_(sizeof(GUID)) LPGUID ActivityId);
|
||||
|
||||
_IRQL_requires_max_(HIGH_LEVEL)
|
||||
NTSTATUS
|
||||
NTKERNELAPI
|
||||
NTAPI
|
||||
EtwWrite(
|
||||
IN REGHANDLE RegHandle,
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor,
|
||||
IN LPCGUID ActivityId OPTIONAL,
|
||||
IN ULONG UserDataCount,
|
||||
IN PEVENT_DATA_DESCRIPTOR UserData OPTIONAL);
|
||||
_In_ REGHANDLE RegHandle,
|
||||
_In_ PCEVENT_DESCRIPTOR EventDescriptor,
|
||||
_In_opt_ LPCGUID ActivityId,
|
||||
_In_ ULONG UserDataCount,
|
||||
_In_reads_opt_(UserDataCount) PEVENT_DATA_DESCRIPTOR UserData);
|
||||
|
||||
_IRQL_requires_max_(HIGH_LEVEL)
|
||||
NTSTATUS
|
||||
NTKERNELAPI
|
||||
NTAPI
|
||||
EtwWriteTransfer(
|
||||
IN REGHANDLE RegHandle,
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor,
|
||||
IN LPCGUID ActivityId OPTIONAL,
|
||||
IN LPCGUID RelatedActivityId OPTIONAL,
|
||||
IN ULONG UserDataCount,
|
||||
IN PEVENT_DATA_DESCRIPTOR UserData OPTIONAL);
|
||||
_In_ REGHANDLE RegHandle,
|
||||
_In_ PCEVENT_DESCRIPTOR EventDescriptor,
|
||||
_In_opt_ LPCGUID ActivityId,
|
||||
_In_opt_ LPCGUID RelatedActivityId,
|
||||
_In_ ULONG UserDataCount,
|
||||
_In_reads_opt_(UserDataCount) PEVENT_DATA_DESCRIPTOR UserData);
|
||||
|
||||
_IRQL_requires_max_(HIGH_LEVEL)
|
||||
NTSTATUS
|
||||
NTKERNELAPI
|
||||
NTAPI
|
||||
EtwWriteString(
|
||||
IN REGHANDLE RegHandle,
|
||||
IN UCHAR Level,
|
||||
IN ULONGLONG Keyword,
|
||||
IN LPCGUID ActivityId OPTIONAL,
|
||||
IN PCWSTR String);
|
||||
_In_ REGHANDLE RegHandle,
|
||||
_In_ UCHAR Level,
|
||||
_In_ ULONGLONG Keyword,
|
||||
_In_opt_ LPCGUID ActivityId,
|
||||
_In_ PCWSTR String);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
_IRQL_requires_max_(HIGH_LEVEL)
|
||||
NTSTATUS
|
||||
NTKERNELAPI
|
||||
NTAPI
|
||||
EtwWriteEx(
|
||||
IN REGHANDLE RegHandle,
|
||||
IN PCEVENT_DESCRIPTOR EventDescriptor,
|
||||
IN ULONG64 Filter,
|
||||
IN ULONG Flags,
|
||||
IN LPCGUID ActivityId OPTIONAL,
|
||||
IN LPCGUID RelatedActivityId OPTIONAL,
|
||||
IN ULONG UserDataCount,
|
||||
IN PEVENT_DATA_DESCRIPTOR UserData OPTIONAL);
|
||||
_In_ REGHANDLE RegHandle,
|
||||
_In_ PCEVENT_DESCRIPTOR EventDescriptor,
|
||||
_In_ ULONG64 Filter,
|
||||
_In_ ULONG Flags,
|
||||
_In_opt_ LPCGUID ActivityId,
|
||||
_In_opt_ LPCGUID RelatedActivityId,
|
||||
_In_ ULONG UserDataCount,
|
||||
_In_reads_opt_(UserDataCount) PEVENT_DATA_DESCRIPTOR UserData);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -48,15 +48,16 @@ typedef enum _TRACE_INFORMATION_CLASS {
|
||||
|
||||
#include <evntprov.h>
|
||||
|
||||
_IRQL_requires_same_
|
||||
typedef VOID
|
||||
(NTAPI *PETWENABLECALLBACK)(
|
||||
IN LPCGUID SourceId,
|
||||
IN ULONG ControlCode,
|
||||
IN UCHAR Level,
|
||||
IN ULONGLONG MatchAnyKeyword,
|
||||
IN ULONGLONG MatchAllKeyword,
|
||||
IN PEVENT_FILTER_DESCRIPTOR FilterData OPTIONAL,
|
||||
IN OUT PVOID CallbackContext OPTIONAL);
|
||||
_In_ LPCGUID SourceId,
|
||||
_In_ ULONG ControlCode,
|
||||
_In_ UCHAR Level,
|
||||
_In_ ULONGLONG MatchAnyKeyword,
|
||||
_In_ ULONGLONG MatchAllKeyword,
|
||||
_In_opt_ PEVENT_FILTER_DESCRIPTOR FilterData,
|
||||
_Inout_opt_ PVOID CallbackContext);
|
||||
|
||||
#define EVENT_WRITE_FLAG_NO_FAULTING 0x00000001
|
||||
|
||||
|
||||
@@ -63,25 +63,34 @@ KeMemoryBarrier(VOID)
|
||||
|
||||
#define KeMemoryBarrierWithoutFence() _ReadWriteBarrier()
|
||||
|
||||
_IRQL_requires_max_(HIGH_LEVEL)
|
||||
_IRQL_saves_
|
||||
NTHALAPI
|
||||
KIRQL
|
||||
NTAPI
|
||||
KeGetCurrentIrql(VOID);
|
||||
|
||||
_IRQL_requires_max_(HIGH_LEVEL)
|
||||
NTHALAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
KfLowerIrql(
|
||||
IN KIRQL NewIrql);
|
||||
_In_ _IRQL_restores_ _Notliteral_ KIRQL NewIrql);
|
||||
#define KeLowerIrql(a) KfLowerIrql(a)
|
||||
|
||||
_IRQL_requires_max_(HIGH_LEVEL)
|
||||
_IRQL_raises_(NewIrql)
|
||||
_IRQL_saves_
|
||||
NTHALAPI
|
||||
KIRQL
|
||||
FASTCALL
|
||||
KfRaiseIrql(
|
||||
IN KIRQL NewIrql);
|
||||
_In_ KIRQL NewIrql);
|
||||
#define KeRaiseIrql(a,b) *(b) = KfRaiseIrql(a)
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
_IRQL_saves_
|
||||
_IRQL_raises_(DISPATCH_LEVEL)
|
||||
NTHALAPI
|
||||
KIRQL
|
||||
NTAPI
|
||||
@@ -92,33 +101,47 @@ KIRQL
|
||||
NTAPI
|
||||
KeRaiseIrqlToSynchLevel(VOID);
|
||||
|
||||
_Requires_lock_not_held_(*SpinLock)
|
||||
_Acquires_lock_(*SpinLock)
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
_IRQL_saves_
|
||||
_IRQL_raises_(DISPATCH_LEVEL)
|
||||
NTHALAPI
|
||||
KIRQL
|
||||
FASTCALL
|
||||
KfAcquireSpinLock(
|
||||
IN OUT PKSPIN_LOCK SpinLock);
|
||||
_Inout_ PKSPIN_LOCK SpinLock);
|
||||
#define KeAcquireSpinLock(a,b) *(b) = KfAcquireSpinLock(a)
|
||||
|
||||
_Requires_lock_held_(*SpinLock)
|
||||
_Releases_lock_(*SpinLock)
|
||||
_IRQL_requires_(DISPATCH_LEVEL)
|
||||
NTHALAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
KfReleaseSpinLock(
|
||||
IN OUT PKSPIN_LOCK SpinLock,
|
||||
IN KIRQL NewIrql);
|
||||
_Inout_ PKSPIN_LOCK SpinLock,
|
||||
_In_ _IRQL_restores_ KIRQL NewIrql);
|
||||
#define KeReleaseSpinLock(a,b) KfReleaseSpinLock(a,b)
|
||||
|
||||
_Requires_lock_not_held_(*SpinLock)
|
||||
_Acquires_lock_(*SpinLock)
|
||||
_IRQL_requires_min_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
KefAcquireSpinLockAtDpcLevel(
|
||||
IN OUT PKSPIN_LOCK SpinLock);
|
||||
_Inout_ PKSPIN_LOCK SpinLock);
|
||||
#define KeAcquireSpinLockAtDpcLevel(SpinLock) KefAcquireSpinLockAtDpcLevel(SpinLock)
|
||||
|
||||
_Requires_lock_held_(*SpinLock)
|
||||
_Releases_lock_(*SpinLock)
|
||||
_IRQL_requires_min_(DISPATCH_LEVEL)
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
FASTCALL
|
||||
KefReleaseSpinLockFromDpcLevel(
|
||||
IN OUT PKSPIN_LOCK SpinLock);
|
||||
_Inout_ PKSPIN_LOCK SpinLock);
|
||||
#define KeReleaseSpinLockFromDpcLevel(SpinLock) KefReleaseSpinLockFromDpcLevel(SpinLock)
|
||||
|
||||
NTSYSAPI
|
||||
@@ -126,17 +149,25 @@ PKTHREAD
|
||||
NTAPI
|
||||
KeGetCurrentThread(VOID);
|
||||
|
||||
_Always_(_Post_satisfies_(return<=0))
|
||||
_Must_inspect_result_
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
_Kernel_float_saved_
|
||||
_At_(*FloatSave, _Kernel_requires_resource_not_held_(FloatState) _Kernel_acquires_resource_(FloatState))
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
KeSaveFloatingPointState(
|
||||
OUT PKFLOATING_SAVE FloatSave);
|
||||
_Out_ PKFLOATING_SAVE FloatSave);
|
||||
|
||||
_Success_(1)
|
||||
_Kernel_float_restored_
|
||||
_At_(*FloatSave, _Kernel_requires_resource_held_(FloatState) _Kernel_releases_resource_(FloatState))
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
KeRestoreFloatingPointState(
|
||||
IN PKFLOATING_SAVE FloatSave);
|
||||
_In_ PKFLOATING_SAVE FloatSave);
|
||||
|
||||
/* VOID
|
||||
* KeFlushIoBuffers(
|
||||
@@ -169,7 +200,7 @@ _KeQueryTickCount(
|
||||
}
|
||||
#define KeQueryTickCount(CurrentCount) _KeQueryTickCount(CurrentCount)
|
||||
|
||||
$endif /* _WDMDDK_ */
|
||||
$endif (_WDMDDK_)
|
||||
$if (_NTDDK_)
|
||||
|
||||
#define PAUSE_PROCESSOR YieldProcessor();
|
||||
@@ -291,7 +322,7 @@ KeGetCurrentProcessorNumber(VOID)
|
||||
return (ULONG)__readfsbyte(FIELD_OFFSET(KPCR, Number));
|
||||
}
|
||||
|
||||
$endif /* _NTDDK_ */
|
||||
$endif (_NTDDK_)
|
||||
|
||||
|
||||
|
||||
|
||||
+607
-486
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user