mirror of
https://github.com/reactos/reactos.git
synced 2025-01-01 03:54:02 +00:00
[SAL.H] "Implement" all used annotations
[XDK/DDK] Add missing annotations, move some prototypes to more appropriate headers [NDK] Fix a number of annotations [NDK] Use SAL2 dummys from umtypes as well svn path=/trunk/; revision=58193
This commit is contained in:
parent
f70cfa3c30
commit
474c3afc11
16 changed files with 1143 additions and 1085 deletions
|
@ -1441,9 +1441,9 @@ NTSYSAPI
|
|||
NTSTATUS
|
||||
NTAPI
|
||||
RtlCopySid(
|
||||
_In_ ULONG Length,
|
||||
_Out_writes_bytes_(Length) PSID Destination,
|
||||
_In_ PSID Source);
|
||||
_In_ ULONG DestinationSidLength,
|
||||
_Out_writes_bytes_(DestinationSidLength) PSID DestinationSid,
|
||||
_In_ PSID SourceSid);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTSYSAPI
|
||||
|
@ -1605,7 +1605,7 @@ VOID
|
|||
NTAPI
|
||||
RtlInitCodePageTable(
|
||||
_In_ PUSHORT TableBase,
|
||||
_Inout_ PCPTABLEINFO CodePageTable);
|
||||
_Out_ PCPTABLEINFO CodePageTable);
|
||||
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
|
||||
|
@ -2117,12 +2117,12 @@ NTSYSCALLAPI
|
|||
NTSTATUS
|
||||
NTAPI
|
||||
NtAdjustPrivilegesToken(
|
||||
_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);
|
||||
_In_ HANDLE TokenHandle,
|
||||
_In_ BOOLEAN DisableAllPrivileges,
|
||||
_In_opt_ PTOKEN_PRIVILEGES NewState,
|
||||
_In_ ULONG BufferLength,
|
||||
_Out_writes_bytes_to_opt_(BufferLength, *ReturnLength) PTOKEN_PRIVILEGES PreviousState,
|
||||
_When_(PreviousState != NULL, _Out_) PULONG ReturnLength);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
|
@ -2358,30 +2358,6 @@ NTAPI
|
|||
NtClose(
|
||||
_In_ HANDLE Handle);
|
||||
|
||||
_Must_inspect_result_
|
||||
__drv_allocatesMem(Mem)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtAllocateVirtualMemory(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ _At_(*BaseAddress, _Readable_bytes_(*RegionSize) _Writable_bytes_(*RegionSize) _Post_readable_byte_size_(*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,
|
||||
_Inout_ __drv_freesMem(Mem) PVOID *BaseAddress,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG FreeType);
|
||||
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
|
@ -5005,6 +4981,7 @@ typedef struct _KQUEUE {
|
|||
} KQUEUE, *PKQUEUE, *RESTRICTED_POINTER PRKQUEUE;
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* Kernel Functions *
|
||||
******************************************************************************/
|
||||
|
@ -6409,6 +6386,32 @@ ULONG
|
|||
NTAPI
|
||||
MmDoesFileHaveUserWritableReferences(
|
||||
_In_ PSECTION_OBJECT_POINTERS SectionPointer);
|
||||
|
||||
_Must_inspect_result_
|
||||
_At_(*BaseAddress, __drv_allocatesMem(Mem))
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtAllocateVirtualMemory(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ _Outptr_result_buffer_(*RegionSize) PVOID *BaseAddress,
|
||||
_In_ ULONG_PTR ZeroBits,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG AllocationType,
|
||||
_In_ ULONG Protect);
|
||||
|
||||
__kernel_entry
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtFreeVirtualMemory(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ __drv_freesMem(Mem) PVOID *BaseAddress,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG FreeType);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
||||
|
||||
|
||||
|
@ -6484,6 +6487,14 @@ ObOpenObjectByPointerWithTag(
|
|||
_In_ KPROCESSOR_MODE AccessMode,
|
||||
_In_ ULONG Tag,
|
||||
_Out_ PHANDLE Handle);
|
||||
|
||||
NTKERNELAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
ObGetObjectPointerCount(
|
||||
_In_ PVOID Object
|
||||
);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
|
||||
|
||||
/* FSRTL Types */
|
||||
|
@ -9152,29 +9163,29 @@ ZwOpenDirectoryObject(
|
|||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
_When_(return==0, __drv_allocatesMem(Region))
|
||||
_Must_inspect_result_
|
||||
_At_(*BaseAddress, __drv_allocatesMem(Mem))
|
||||
__kernel_entry NTSYSCALLAPI
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwAllocateVirtualMemory(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ PVOID *BaseAddress,
|
||||
_In_ ULONG_PTR ZeroBits,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG AllocationType,
|
||||
_In_ ULONG Protect);
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ _Outptr_result_buffer_(*RegionSize) PVOID *BaseAddress,
|
||||
_In_ ULONG_PTR ZeroBits,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG AllocationType,
|
||||
_In_ ULONG Protect);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
_When_(return==0, __drv_freesMem(Region))
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwFreeVirtualMemory(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ PVOID *BaseAddress,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG FreeType);
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ __drv_freesMem(Mem) PVOID *BaseAddress,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG FreeType);
|
||||
|
||||
_When_(Timeout == NULL, _IRQL_requires_max_(APC_LEVEL))
|
||||
_When_(Timeout->QuadPart != 0, _IRQL_requires_max_(APC_LEVEL))
|
||||
|
@ -9335,6 +9346,286 @@ ZwSetInformationToken(
|
|||
_In_ TOKEN_INFORMATION_CLASS TokenInformationClass,
|
||||
_In_reads_bytes_(TokenInformationLength) PVOID TokenInformation,
|
||||
_In_ ULONG TokenInformationLength);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwAdjustPrivilegesToken (
|
||||
_In_ HANDLE TokenHandle,
|
||||
_In_ BOOLEAN DisableAllPrivileges,
|
||||
_In_ PTOKEN_PRIVILEGES NewState,
|
||||
_In_ ULONG BufferLength,
|
||||
_Out_opt_ PTOKEN_PRIVILEGES PreviousState,
|
||||
_Out_ PULONG ReturnLength
|
||||
);
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwAlertThread (
|
||||
_In_ HANDLE ThreadHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwAccessCheckAndAuditAlarm (
|
||||
_In_ PUNICODE_STRING SubsystemName,
|
||||
_In_ 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_ PBOOLEAN AccessStatus,
|
||||
_Out_ PBOOLEAN GenerateOnClose
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCancelIoFile (
|
||||
_In_ HANDLE FileHandle,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock
|
||||
);
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwClearEvent (
|
||||
_In_ HANDLE EventHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCloseObjectAuditAlarm (
|
||||
_In_ PUNICODE_STRING SubsystemName,
|
||||
_In_ PVOID HandleId,
|
||||
_In_ BOOLEAN GenerateOnClose
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCreateSymbolicLinkObject (
|
||||
_Out_ PHANDLE SymbolicLinkHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_ PUNICODE_STRING TargetName
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwFlushInstructionCache (
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_In_opt_ PVOID BaseAddress,
|
||||
_In_ ULONG FlushSize
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwFlushBuffersFile(
|
||||
_In_ HANDLE FileHandle,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwInitiatePowerAction (
|
||||
_In_ POWER_ACTION SystemAction,
|
||||
_In_ SYSTEM_POWER_STATE MinSystemState,
|
||||
_In_ ULONG Flags,
|
||||
_In_ BOOLEAN Asynchronous
|
||||
);
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwLoadKey (
|
||||
_In_ POBJECT_ATTRIBUTES KeyObjectAttributes,
|
||||
_In_ POBJECT_ATTRIBUTES FileObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwOpenProcessToken (
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_Out_ PHANDLE TokenHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwOpenThread (
|
||||
_Out_ PHANDLE ThreadHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_ PCLIENT_ID ClientId
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwOpenThreadToken (
|
||||
_In_ HANDLE ThreadHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ BOOLEAN OpenAsSelf,
|
||||
_Out_ PHANDLE TokenHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwPulseEvent (
|
||||
_In_ HANDLE EventHandle,
|
||||
_In_opt_ PLONG PulseCount
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryDefaultLocale (
|
||||
_In_ BOOLEAN UserProfile,
|
||||
_Out_ PLCID DefaultLocaleId
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryDirectoryObject(
|
||||
_In_ HANDLE DirectoryHandle,
|
||||
_Out_ PVOID Buffer,
|
||||
_In_ ULONG BufferLength,
|
||||
_In_ BOOLEAN ReturnSingleEntry,
|
||||
_In_ BOOLEAN RestartScan,
|
||||
_Inout_ PULONG Context,
|
||||
_Out_opt_ PULONG ReturnLength
|
||||
);
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryInformationProcess (
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_In_ PROCESSINFOCLASS ProcessInformationClass,
|
||||
_Out_ PVOID ProcessInformation,
|
||||
_In_ ULONG ProcessInformationLength,
|
||||
_Out_opt_ PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwReplaceKey (
|
||||
_In_ POBJECT_ATTRIBUTES NewFileObjectAttributes,
|
||||
_In_ HANDLE KeyHandle,
|
||||
_In_ POBJECT_ATTRIBUTES OldFileObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwResetEvent (
|
||||
_In_ HANDLE EventHandle,
|
||||
_Out_opt_ PLONG NumberOfWaitingThreads
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwRestoreKey (
|
||||
_In_ HANDLE KeyHandle,
|
||||
_In_ HANDLE FileHandle,
|
||||
_In_ ULONG Flags
|
||||
);
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSaveKey (
|
||||
_In_ HANDLE KeyHandle,
|
||||
_In_ HANDLE FileHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetDefaultLocale (
|
||||
_In_ BOOLEAN UserProfile,
|
||||
_In_ LCID DefaultLocaleId
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetDefaultUILanguage (
|
||||
_In_ LANGID LanguageId
|
||||
);
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetInformationProcess (
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_In_ PROCESSINFOCLASS ProcessInformationClass,
|
||||
_In_ PVOID ProcessInformation,
|
||||
_In_ ULONG ProcessInformationLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetSystemTime (
|
||||
_In_ PLARGE_INTEGER NewTime,
|
||||
_Out_opt_ PLARGE_INTEGER OldTime
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwUnloadKey (
|
||||
_In_ POBJECT_ATTRIBUTES KeyObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwWaitForMultipleObjects (
|
||||
_In_ ULONG HandleCount,
|
||||
_In_ PHANDLE Handles,
|
||||
_In_ WAIT_TYPE WaitType,
|
||||
_In_ BOOLEAN Alertable,
|
||||
_In_opt_ PLARGE_INTEGER Timeout
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwYieldExecution (
|
||||
VOID
|
||||
);
|
||||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
|
||||
|
||||
#ifndef __SSPI_H__
|
||||
|
@ -11232,74 +11523,75 @@ NTKERNELAPI
|
|||
LARGE_INTEGER
|
||||
NTAPI
|
||||
CcGetLsnForFileObject (
|
||||
IN PFILE_OBJECT FileObject,
|
||||
OUT PLARGE_INTEGER OldestLsn OPTIONAL
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_Out_opt_ PLARGE_INTEGER OldestLsn
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
FsRtlAllocatePool (
|
||||
IN POOL_TYPE PoolType,
|
||||
IN ULONG NumberOfBytes
|
||||
_In_ POOL_TYPE PoolType,
|
||||
_In_ ULONG NumberOfBytes
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
FsRtlAllocatePoolWithQuota (
|
||||
IN POOL_TYPE PoolType,
|
||||
IN ULONG NumberOfBytes
|
||||
_In_ POOL_TYPE PoolType,
|
||||
_In_ ULONG NumberOfBytes
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
FsRtlAllocatePoolWithQuotaTag (
|
||||
IN POOL_TYPE PoolType,
|
||||
IN ULONG NumberOfBytes,
|
||||
IN ULONG Tag
|
||||
_In_ POOL_TYPE PoolType,
|
||||
_In_ ULONG NumberOfBytes,
|
||||
_In_ ULONG Tag
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
FsRtlAllocatePoolWithTag (
|
||||
IN POOL_TYPE PoolType,
|
||||
IN ULONG NumberOfBytes,
|
||||
IN ULONG Tag
|
||||
_In_ POOL_TYPE PoolType,
|
||||
_In_ ULONG NumberOfBytes,
|
||||
_In_ ULONG Tag
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FsRtlMdlReadComplete (
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PMDL MdlChain
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PMDL MdlChain
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FsRtlMdlWriteComplete (
|
||||
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
|
||||
FsRtlNotifyChangeDirectory (
|
||||
IN PNOTIFY_SYNC NotifySync,
|
||||
IN PVOID FsContext,
|
||||
IN PSTRING FullDirectoryName,
|
||||
IN PLIST_ENTRY NotifyList,
|
||||
IN BOOLEAN WatchTree,
|
||||
IN ULONG CompletionFilter,
|
||||
IN PIRP NotifyIrp
|
||||
_In_ PNOTIFY_SYNC NotifySync,
|
||||
_In_ PVOID FsContext,
|
||||
_In_ PSTRING FullDirectoryName,
|
||||
_In_ PLIST_ENTRY NotifyList,
|
||||
_In_ BOOLEAN WatchTree,
|
||||
_In_ ULONG CompletionFilter,
|
||||
_In_ PIRP NotifyIrp
|
||||
);
|
||||
|
||||
#if 1
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
|
@ -11315,17 +11607,10 @@ ObCreateObject(
|
|||
_Out_ PVOID *Object
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
ObGetObjectPointerCount(
|
||||
_In_ PVOID Object
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObReferenceObjectByName(
|
||||
ObReferenceObjectByName (
|
||||
_In_ PUNICODE_STRING ObjectName,
|
||||
_In_ ULONG Attributes,
|
||||
_In_opt_ PACCESS_STATE PassedAccessState,
|
||||
|
@ -11347,317 +11632,25 @@ ObReferenceObjectByName(
|
|||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
PsLookupProcessThreadByCid(
|
||||
_In_ PCLIENT_ID Cid,
|
||||
_Out_opt_ PEPROCESS *Process,
|
||||
_Out_ PETHREAD *Thread
|
||||
PsLookupProcessThreadByCid (
|
||||
_In_ PCLIENT_ID Cid,
|
||||
_Out_opt_ PEPROCESS *Process,
|
||||
_Out_ PETHREAD *Thread
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlSetSaclSecurityDescriptor(
|
||||
RtlSetSaclSecurityDescriptor (
|
||||
_Inout_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_ BOOLEAN SaclPresent,
|
||||
_In_ PACL Sacl,
|
||||
_In_ BOOLEAN SaclDefaulted
|
||||
_In_ BOOLEAN SaclPresent,
|
||||
_In_ PACL Sacl,
|
||||
_In_ BOOLEAN SaclDefaulted
|
||||
);
|
||||
|
||||
#define SeEnableAccessToExports() SeExports = *(PSE_EXPORTS *)SeExports;
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
|
||||
_Must_inspect_result_
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwAdjustPrivilegesToken(
|
||||
_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
|
||||
);
|
||||
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwAlertThread(
|
||||
_In_ HANDLE ThreadHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwAccessCheckAndAuditAlarm (
|
||||
IN PUNICODE_STRING SubsystemName,
|
||||
IN 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 PBOOLEAN AccessStatus,
|
||||
OUT PBOOLEAN GenerateOnClose
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCancelIoFile(
|
||||
_In_ HANDLE FileHandle,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock
|
||||
);
|
||||
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwClearEvent(
|
||||
_In_ HANDLE EventHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCloseObjectAuditAlarm(
|
||||
_In_ PUNICODE_STRING SubsystemName,
|
||||
_In_ PVOID HandleId,
|
||||
_In_ BOOLEAN GenerateOnClose
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCreateSymbolicLinkObject(
|
||||
_Out_ PHANDLE SymbolicLinkHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_ PUNICODE_STRING Name
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwFlushInstructionCache(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_In_ PVOID BaseAddress,
|
||||
_In_ ULONG NumberOfBytesToFlush
|
||||
);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwFlushBuffersFile(
|
||||
_In_ HANDLE FileHandle,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwInitiatePowerAction(
|
||||
_In_ POWER_ACTION SystemAction,
|
||||
_In_ SYSTEM_POWER_STATE MinSystemState,
|
||||
_In_ ULONG Flags,
|
||||
_In_ BOOLEAN Asynchronous
|
||||
);
|
||||
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwLoadKey (
|
||||
IN POBJECT_ATTRIBUTES KeyObjectAttributes,
|
||||
IN POBJECT_ATTRIBUTES FileObjectAttributes
|
||||
);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwOpenProcessToken(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_Out_ PHANDLE TokenHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwOpenThread(
|
||||
_Out_ PHANDLE ThreadHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_ PCLIENT_ID ClientId
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwOpenThreadToken(
|
||||
_In_ HANDLE ThreadHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ BOOLEAN OpenAsSelf,
|
||||
_Out_ PHANDLE TokenHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwPulseEvent(
|
||||
_In_ HANDLE EventHandle,
|
||||
_In_opt_ PLONG PulseCount
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryDefaultLocale(
|
||||
_In_ BOOLEAN UserProfile,
|
||||
_Out_ PLCID DefaultLocaleId
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryDirectoryObject(
|
||||
_In_ HANDLE DirectoryHandle,
|
||||
_Out_ PVOID Buffer,
|
||||
_In_ ULONG BufferLength,
|
||||
_In_ BOOLEAN ReturnSingleEntry,
|
||||
_In_ BOOLEAN RestartScan,
|
||||
_Inout_ PULONG Context,
|
||||
_Out_opt_ PULONG ReturnLength
|
||||
);
|
||||
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryInformationProcess (
|
||||
IN HANDLE ProcessHandle,
|
||||
IN PROCESSINFOCLASS ProcessInformationClass,
|
||||
OUT PVOID ProcessInformation,
|
||||
IN ULONG ProcessInformationLength,
|
||||
OUT PULONG ReturnLength OPTIONAL
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwReplaceKey (
|
||||
IN POBJECT_ATTRIBUTES NewFileObjectAttributes,
|
||||
IN HANDLE KeyHandle,
|
||||
IN POBJECT_ATTRIBUTES OldFileObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwResetEvent(
|
||||
_In_ HANDLE EventHandle,
|
||||
_Out_opt_ PLONG NumberOfWaitingThreads
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwRestoreKey (
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE FileHandle,
|
||||
IN ULONG Flags
|
||||
);
|
||||
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSaveKey (
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE FileHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetDefaultLocale(
|
||||
_In_ BOOLEAN UserProfile,
|
||||
_In_ LCID DefaultLocaleId
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetDefaultUILanguage (
|
||||
IN LANGID LanguageId
|
||||
);
|
||||
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetInformationProcess(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_In_ PROCESSINFOCLASS ProcessInformationClass,
|
||||
_In_ PVOID ProcessInformation,
|
||||
_In_ ULONG ProcessInformationLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetSystemTime(
|
||||
_In_ PLARGE_INTEGER SystemTime,
|
||||
_In_opt_ PLARGE_INTEGER NewSystemTime
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwUnloadKey(
|
||||
_In_ POBJECT_ATTRIBUTES KeyObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwWaitForMultipleObjects(
|
||||
_In_ ULONG Count,
|
||||
_In_ HANDLE Object[],
|
||||
_In_ WAIT_TYPE WaitType,
|
||||
_In_ BOOLEAN Alertable,
|
||||
_In_ PLARGE_INTEGER Time
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwYieldExecution (
|
||||
VOID
|
||||
);
|
||||
#endif
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
|
|
|
@ -8670,7 +8670,7 @@ RtlAssert(
|
|||
_In_ PVOID FailedAssertion,
|
||||
_In_ PVOID FileName,
|
||||
_In_ ULONG LineNumber,
|
||||
_In_opt_ PSTR Message);
|
||||
_In_opt_z_ PSTR Message);
|
||||
|
||||
/* VOID
|
||||
* RtlCopyMemory(
|
||||
|
@ -9955,59 +9955,56 @@ RtlCheckBit(
|
|||
|
||||
#if DBG
|
||||
|
||||
#define ASSERT(exp) \
|
||||
(VOID)((!(exp)) ? \
|
||||
#define RTL_VERIFY(exp) \
|
||||
((!(exp)) ? \
|
||||
RtlAssert( (PVOID)#exp, (PVOID)__FILE__, __LINE__, NULL ), FALSE : TRUE)
|
||||
|
||||
#define ASSERTMSG(msg, exp) \
|
||||
(VOID)((!(exp)) ? \
|
||||
#define RTL_VERIFYMSG(msg, exp) \
|
||||
((!(exp)) ? \
|
||||
RtlAssert( (PVOID)#exp, (PVOID)__FILE__, __LINE__, (PCHAR)msg ), FALSE : TRUE)
|
||||
|
||||
#define RTL_SOFT_ASSERT(exp) \
|
||||
(VOID)((!(exp)) ? \
|
||||
#define RTL_SOFT_VERIFY(exp) \
|
||||
((!(exp)) ? \
|
||||
DbgPrint("%s(%d): Soft assertion failed\n Expression: %s\n", __FILE__, __LINE__, #exp), FALSE : TRUE)
|
||||
|
||||
#define RTL_SOFT_ASSERTMSG(msg, exp) \
|
||||
#define RTL_SOFT_VERIFYMSG(msg, exp) \
|
||||
(VOID)((!(exp)) ? \
|
||||
DbgPrint("%s(%d): Soft assertion failed\n Expression: %s\n Message: %s\n", __FILE__, __LINE__, #exp, (msg)), FALSE : TRUE)
|
||||
|
||||
#define RTL_VERIFY(exp) ASSERT(exp)
|
||||
#define RTL_VERIFYMSG(msg, exp) ASSERTMSG(msg, exp)
|
||||
#define ASSERT(exp) ((void)RTL_VERIFY(exp))
|
||||
#define ASSERTMSG(msg, exp) ((void)RTL_VERIFYMSG(msg, exp))
|
||||
|
||||
#define RTL_SOFT_VERIFY(exp) RTL_SOFT_ASSERT(exp)
|
||||
#define RTL_SOFT_VERIFYMSG(msg, exp) RTL_SOFT_ASSERTMSG(msg, exp)
|
||||
#define RTL_SOFT_ASSERT(exp) ((void)RTL_SOFT_VERIFY(exp))
|
||||
#define RTL_SOFT_ASSERTMSG(msg, exp) ((void)RTL_SOFT_VERIFYMSG(msg, exp))
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
# define __assert_annotationA(msg) __annotation(L"Debug", L"AssertFail", L ## msg)
|
||||
# define __assert_annotationW(msg) __annotation(L"Debug", L"AssertFail", msg)
|
||||
#else
|
||||
# define __assert_annotationA(msg) \
|
||||
DbgPrint("Assertion %s(%d): %s", __FILE__, __LINE__, msg)
|
||||
# define __assert_annotationW(msg) \
|
||||
DbgPrint("Assertion %s(%d): %S", __FILE__, __LINE__, msg)
|
||||
#endif
|
||||
|
||||
#define NT_ASSERT(exp) \
|
||||
#define NT_VERIFY(exp) \
|
||||
((!(exp)) ? \
|
||||
(__annotation(L"Debug", L"AssertFail", L#exp), \
|
||||
(__assert_annotationA(#exp), \
|
||||
DbgRaiseAssertionFailure(), FALSE) : TRUE)
|
||||
|
||||
#define NT_ASSERTMSG(msg, exp) \
|
||||
#define NT_VERIFYMSG(msg, exp) \
|
||||
((!(exp)) ? \
|
||||
(__annotation(L"Debug", L"AssertFail", L##msg), \
|
||||
(__assert_annotationA(msg), \
|
||||
DbgRaiseAssertionFailure(), FALSE) : TRUE)
|
||||
|
||||
#define NT_ASSERTMSGW(msg, exp) \
|
||||
#define NT_VERIFYMSGW(msg, exp) \
|
||||
((!(exp)) ? \
|
||||
(__annotation(L"Debug", L"AssertFail", msg), \
|
||||
(__assert_annotationW(msg), \
|
||||
DbgRaiseAssertionFailure(), FALSE) : TRUE)
|
||||
|
||||
#define NT_VERIFY NT_ASSERT
|
||||
#define NT_VERIFYMSG NT_ASSERTMSG
|
||||
#define NT_VERIFYMSGW NT_ASSERTMSGW
|
||||
|
||||
#else
|
||||
|
||||
/* GCC doesn't support __annotation (nor PDB) */
|
||||
#define NT_ASSERT(exp) \
|
||||
(VOID)((!(exp)) ? (DbgRaiseAssertionFailure(), FALSE) : TRUE)
|
||||
|
||||
#define NT_ASSERTMSG NT_ASSERT
|
||||
#define NT_ASSERTMSGW NT_ASSERT
|
||||
|
||||
#endif
|
||||
#define NT_ASSERT(exp) ((void)NT_VERIFY(exp))
|
||||
#define NT_ASSERTMSG(msg, exp) ((void)NT_VERIFYMSG(msg, exp))
|
||||
#define NT_ASSERTMSGW(msg, exp) ((void)NT_VERIFYMSGW(msg, exp))
|
||||
|
||||
#else /* !DBG */
|
||||
|
||||
|
|
|
@ -156,13 +156,14 @@ NtClearEvent(
|
|||
_In_ HANDLE EventHandle
|
||||
);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCreateEvent(
|
||||
_Out_ PHANDLE EventHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_ EVENT_TYPE EventType,
|
||||
_In_ BOOLEAN InitialState
|
||||
);
|
||||
|
@ -176,12 +177,13 @@ NtCreateEventPair(
|
|||
_In_ POBJECT_ATTRIBUTES ObjectAttributes
|
||||
);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtCreateKeyedEvent(
|
||||
_Out_ PHANDLE KeyedEventHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_Out_ PHANDLE OutHandle,
|
||||
_In_ ACCESS_MASK AccessMask,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_ ULONG Flags
|
||||
);
|
||||
|
@ -258,12 +260,13 @@ NtOpenEvent(
|
|||
_In_ POBJECT_ATTRIBUTES ObjectAttributes
|
||||
);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtOpenKeyedEvent(
|
||||
_Out_ PHANDLE EventHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_Out_ PHANDLE OutHandle,
|
||||
_In_ ACCESS_MASK AccessMask,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes
|
||||
);
|
||||
|
||||
|
@ -405,7 +408,7 @@ NtQuerySystemInformation(
|
|||
_In_ SYSTEM_INFORMATION_CLASS SystemInformationClass,
|
||||
_Out_ PVOID SystemInformation,
|
||||
_In_ ULONG Length,
|
||||
_Out_ PULONG ResultLength
|
||||
_Out_opt_ PULONG ResultLength
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
|
@ -439,11 +442,12 @@ NtReleaseMutant(
|
|||
_In_opt_ PLONG ReleaseCount
|
||||
);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtReleaseKeyedEvent(
|
||||
_In_ HANDLE EventHandle,
|
||||
_In_opt_ HANDLE EventHandle,
|
||||
_In_ PVOID Key,
|
||||
_In_ BOOLEAN Alertable,
|
||||
_In_opt_ PLARGE_INTEGER Timeout
|
||||
|
@ -583,11 +587,12 @@ NtShutdownSystem(
|
|||
_In_ SHUTDOWN_ACTION Action
|
||||
);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtWaitForKeyedEvent(
|
||||
_In_ HANDLE EventHandle,
|
||||
_In_opt_ HANDLE EventHandle,
|
||||
_In_ PVOID Key,
|
||||
_In_ BOOLEAN Alertable,
|
||||
_In_opt_ PLARGE_INTEGER Timeout
|
||||
|
@ -858,7 +863,7 @@ ZwQuerySystemInformation(
|
|||
_In_ SYSTEM_INFORMATION_CLASS SystemInformationClass,
|
||||
_Out_ PVOID SystemInformation,
|
||||
_In_ SIZE_T Length,
|
||||
_Out_ PSIZE_T ResultLength
|
||||
_Out_opt_ PSIZE_T ResultLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
|
|
@ -56,7 +56,11 @@ VOID
|
|||
NTAPI
|
||||
KiDeliverApc(
|
||||
_In_ KPROCESSOR_MODE PreviousMode,
|
||||
#ifdef _M_AMD64
|
||||
_In_ PKEXCEPTION_FRAME ExceptionFrame,
|
||||
#else
|
||||
_Reserved_ PKEXCEPTION_FRAME ExceptionFrame,
|
||||
#endif
|
||||
_In_ PKTRAP_FRAME TrapFrame
|
||||
);
|
||||
|
||||
|
@ -205,7 +209,11 @@ BOOLEAN
|
|||
NTAPI
|
||||
KiIpiServiceRoutine(
|
||||
_In_ PKTRAP_FRAME TrapFrame,
|
||||
#ifdef _M_AMD64
|
||||
_In_ PKEXCEPTION_FRAME ExceptionFrame
|
||||
#else
|
||||
_Reserved_ PKEXCEPTION_FRAME ExceptionFrame
|
||||
#endif
|
||||
);
|
||||
|
||||
//
|
||||
|
@ -403,8 +411,8 @@ NTSYSCALLAPI
|
|||
NTSTATUS
|
||||
NTAPI
|
||||
NtQueryPerformanceCounter(
|
||||
_In_ PLARGE_INTEGER Counter,
|
||||
_In_ PLARGE_INTEGER Frequency
|
||||
_Out_ PLARGE_INTEGER Counter,
|
||||
_Out_opt_ PLARGE_INTEGER Frequency
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
|
@ -609,8 +617,8 @@ NTSYSAPI
|
|||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryPerformanceCounter(
|
||||
_In_ PLARGE_INTEGER Counter,
|
||||
_In_ PLARGE_INTEGER Frequency
|
||||
_Out_ PLARGE_INTEGER Counter,
|
||||
_Out_opt_ PLARGE_INTEGER Frequency
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
|
|
@ -87,14 +87,14 @@ NtAllocateUserPhysicalPages(
|
|||
);
|
||||
|
||||
_Must_inspect_result_
|
||||
__drv_allocatesMem(Mem)
|
||||
_At_(*BaseAddress, __drv_allocatesMem(Mem))
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtAllocateVirtualMemory(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ _At_(*BaseAddress, _Readable_bytes_(*RegionSize) _Writable_bytes_(*RegionSize) _Post_readable_byte_size_(*RegionSize)) PVOID *BaseAddress,
|
||||
_Inout_ _Outptr_result_buffer_(*RegionSize) PVOID *BaseAddress,
|
||||
_In_ ULONG_PTR ZeroBits,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG AllocationType,
|
||||
|
@ -153,6 +153,7 @@ NtFreeUserPhysicalPages(
|
|||
);
|
||||
|
||||
__kernel_entry
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
|
@ -257,7 +258,7 @@ NtQueryVirtualMemory(
|
|||
_In_ MEMORY_INFORMATION_CLASS VirtualMemoryInformationClass,
|
||||
_Out_ PVOID VirtualMemoryInformation,
|
||||
_In_ SIZE_T Length,
|
||||
_Out_ PSIZE_T ResultLength
|
||||
_Out_opt_ PSIZE_T ResultLength
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
|
@ -268,7 +269,7 @@ NtReadVirtualMemory(
|
|||
_In_ PVOID BaseAddress,
|
||||
_Out_ PVOID Buffer,
|
||||
_In_ SIZE_T NumberOfBytesToRead,
|
||||
_Out_ PSIZE_T NumberOfBytesRead
|
||||
_Out_opt_ PSIZE_T NumberOfBytesRead
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
|
@ -305,7 +306,7 @@ NtWriteVirtualMemory(
|
|||
_In_ PVOID BaseAddress,
|
||||
_In_ PVOID Buffer,
|
||||
_In_ SIZE_T NumberOfBytesToWrite,
|
||||
_Out_ PSIZE_T NumberOfBytesWritten
|
||||
_Out_opt_ PSIZE_T NumberOfBytesWritten
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
@ -316,12 +317,15 @@ ZwAreMappedFilesTheSame(
|
|||
_In_ PVOID File2MappedAsFile
|
||||
);
|
||||
|
||||
_Must_inspect_result_
|
||||
_At_(*BaseAddress, __drv_allocatesMem(Mem))
|
||||
__kernel_entry NTSYSCALLAPI
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwAllocateVirtualMemory(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ PVOID *BaseAddress,
|
||||
_Inout_ _Outptr_result_buffer_(*RegionSize) PVOID *BaseAddress,
|
||||
_In_ ULONG_PTR ZeroBits,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG AllocationType,
|
||||
|
@ -361,13 +365,12 @@ ZwExtendSection(
|
|||
);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
_When_(return==0, __drv_freesMem(Region))
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwFreeVirtualMemory(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ PVOID *BaseAddress,
|
||||
_Inout_ __drv_freesMem(Mem) PVOID *BaseAddress,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG FreeType
|
||||
);
|
||||
|
@ -427,7 +430,7 @@ ZwQuerySection(
|
|||
_In_ SECTION_INFORMATION_CLASS SectionInformationClass,
|
||||
_Out_ PVOID SectionInformation,
|
||||
_In_ SIZE_T Length,
|
||||
_Out_ PSIZE_T ResultLength
|
||||
_Out_opt_ PSIZE_T ResultLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
@ -439,7 +442,7 @@ ZwQueryVirtualMemory(
|
|||
_In_ MEMORY_INFORMATION_CLASS VirtualMemoryInformationClass,
|
||||
_Out_ PVOID VirtualMemoryInformation,
|
||||
_In_ SIZE_T Length,
|
||||
_Out_ PSIZE_T ResultLength
|
||||
_Out_opt_ PSIZE_T ResultLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
@ -450,7 +453,7 @@ ZwReadVirtualMemory(
|
|||
_In_ PVOID BaseAddress,
|
||||
_Out_ PVOID Buffer,
|
||||
_In_ SIZE_T NumberOfBytesToRead,
|
||||
_Out_ PSIZE_T NumberOfBytesRead
|
||||
_Out_opt_ PSIZE_T NumberOfBytesRead
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
@ -480,7 +483,7 @@ ZwWriteVirtualMemory(
|
|||
_In_ PVOID BaseAddress,
|
||||
_In_ PVOID Buffer,
|
||||
_In_ SIZE_T NumberOfBytesToWrite,
|
||||
_Out_ PSIZE_T NumberOfBytesWritten
|
||||
_Out_opt_ PSIZE_T NumberOfBytesWritten
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -369,7 +369,7 @@ NTAPI
|
|||
NtWaitForSingleObject(
|
||||
_In_ HANDLE Object,
|
||||
_In_ BOOLEAN Alertable,
|
||||
_In_ PLARGE_INTEGER Time
|
||||
_In_opt_ PLARGE_INTEGER Time
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
@ -502,7 +502,7 @@ ZwSignalAndWaitForSingleObject(
|
|||
_In_ HANDLE SignalObject,
|
||||
_In_ HANDLE WaitObject,
|
||||
_In_ BOOLEAN Alertable,
|
||||
_In_ PLARGE_INTEGER Time
|
||||
_In_opt_ PLARGE_INTEGER Time
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
|
|
@ -608,8 +608,6 @@ RtlIsGenericTableEmptyAvl(
|
|||
|
||||
#endif /* RTL_USE_AVL_TABLES */
|
||||
|
||||
#endif /* NTOS_MODE_USER */
|
||||
|
||||
//
|
||||
// Error and Exception Functions
|
||||
//
|
||||
|
@ -639,6 +637,8 @@ RtlSetUnhandledExceptionFilter(
|
|||
_In_ PRTLP_UNHANDLED_EXCEPTION_FILTER TopLevelExceptionFilter
|
||||
);
|
||||
|
||||
#endif /* NTOS_MODE_USER */
|
||||
|
||||
NTSYSAPI
|
||||
VOID
|
||||
NTAPI
|
||||
|
@ -861,7 +861,7 @@ RtlGetUserInfoHeap(
|
|||
_In_ PVOID HeapHandle,
|
||||
_In_ ULONG Flags,
|
||||
_In_ PVOID BaseAddress,
|
||||
_Out_opt_ PVOID *UserValue,
|
||||
_Inout_opt_ PVOID *UserValue,
|
||||
_Out_opt_ PULONG UserFlags
|
||||
);
|
||||
|
||||
|
@ -876,13 +876,14 @@ RtlProtectHeap(
|
|||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlQueryHeapInformation (
|
||||
RtlQueryHeapInformation(
|
||||
_In_ PVOID HeapHandle,
|
||||
_In_ HEAP_INFORMATION_CLASS HeapInformationClass,
|
||||
_Out_opt_ PVOID HeapInformation,
|
||||
_In_opt_ SIZE_T HeapInformationLength,
|
||||
_Out_opt_ PSIZE_T ReturnLength
|
||||
);
|
||||
_Out_ PVOID HeapInformation,
|
||||
_In_ SIZE_T HeapInformationLength,
|
||||
_When_(HeapInformationClass==HeapCompatibilityInformation, _On_failure_(_Out_opt_))
|
||||
_Out_opt_ PSIZE_T ReturnLength
|
||||
);
|
||||
|
||||
_Ret_opt_z_
|
||||
NTSYSAPI
|
||||
|
@ -909,16 +910,15 @@ RtlReAllocateHeap(
|
|||
_In_ SIZE_T Size
|
||||
);
|
||||
|
||||
_Success_(return != 0)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlSetHeapInformation (
|
||||
RtlSetHeapInformation(
|
||||
_In_ PVOID HeapHandle,
|
||||
_In_ HEAP_INFORMATION_CLASS HeapInformationClass,
|
||||
_In_opt_ PVOID HeapInformation,
|
||||
_In_opt_ SIZE_T HeapInformationLength
|
||||
);
|
||||
_When_(HeapInformationClass==HeapCompatibilityInformation,_In_) PVOID HeapInformation,
|
||||
_In_ SIZE_T HeapInformationLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
BOOLEAN
|
||||
|
@ -990,7 +990,7 @@ NTAPI
|
|||
RtlValidateHeap(
|
||||
_In_ HANDLE Heap,
|
||||
_In_ ULONG Flags,
|
||||
_In_ PVOID P
|
||||
_In_opt_ PVOID P
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
@ -1468,21 +1468,22 @@ RtlReleasePrivilege(
|
|||
_In_ PVOID ReturnedState
|
||||
);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlSelfRelativeToAbsoluteSD(
|
||||
_In_ PSECURITY_DESCRIPTOR SelfRelativeSD,
|
||||
_Out_ PSECURITY_DESCRIPTOR AbsoluteSD,
|
||||
_In_ PULONG AbsoluteSDSize,
|
||||
_In_ PACL Dacl,
|
||||
_In_ PULONG DaclSize,
|
||||
_In_ PACL Sacl,
|
||||
_In_ PULONG SaclSize,
|
||||
_In_ PSID Owner,
|
||||
_In_ PULONG OwnerSize,
|
||||
_In_ PSID PrimaryGroup,
|
||||
_In_ PULONG PrimaryGroupSize
|
||||
_In_ PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor,
|
||||
_Out_writes_bytes_to_opt_(*AbsoluteSecurityDescriptorSize, *AbsoluteSecurityDescriptorSize) PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor,
|
||||
_Inout_ PULONG AbsoluteSecurityDescriptorSize,
|
||||
_Out_writes_bytes_to_opt_(*DaclSize, *DaclSize) PACL Dacl,
|
||||
_Inout_ PULONG DaclSize,
|
||||
_Out_writes_bytes_to_opt_(*SaclSize, *SaclSize) PACL Sacl,
|
||||
_Inout_ PULONG SaclSize,
|
||||
_Out_writes_bytes_to_opt_(*OwnerSize, *OwnerSize) PSID Owner,
|
||||
_Inout_ PULONG OwnerSize,
|
||||
_Out_writes_bytes_to_opt_(*PrimaryGroupSize, *PrimaryGroupSize) PSID PrimaryGroup,
|
||||
_Inout_ PULONG PrimaryGroupSize
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
@ -1522,13 +1523,14 @@ RtlSetDaclSecurityDescriptor(
|
|||
_In_opt_ BOOLEAN DaclDefaulted
|
||||
);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlSetGroupSecurityDescriptor(
|
||||
_Inout_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_ PSID Group,
|
||||
_In_ BOOLEAN GroupDefaulted
|
||||
_In_opt_ PSID Group,
|
||||
_In_opt_ BOOLEAN GroupDefaulted
|
||||
);
|
||||
|
||||
#ifdef NTOS_MODE_USER
|
||||
|
@ -1690,7 +1692,7 @@ RtlIntegerToChar(
|
|||
_In_ ULONG Value,
|
||||
_In_ ULONG Base,
|
||||
_In_ ULONG Length,
|
||||
_Inout_ PCHAR String
|
||||
_Out_ PCHAR String
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
@ -1811,6 +1813,7 @@ RtlUpcaseUnicodeStringToOemString(
|
|||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
_Must_inspect_result_
|
||||
//_At_(DestinationString->Buffer, _Post_bytecount_(DestinationString->Length))
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
|
@ -2215,20 +2218,22 @@ RtlFreeAnsiString(
|
|||
PANSI_STRING AnsiString
|
||||
);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTSYSAPI
|
||||
VOID
|
||||
NTAPI
|
||||
RtlInitAnsiString(
|
||||
_Out_ PANSI_STRING DestinationString,
|
||||
_In_z_ PCSZ SourceString
|
||||
_In_opt_z_ __drv_aliasesMem PCSZ SourceString
|
||||
);
|
||||
|
||||
_IRQL_requires_max_(DISPATCH_LEVEL)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlInitAnsiStringEx(
|
||||
_Out_ PANSI_STRING DestinationString,
|
||||
_In_z_ PCSZ SourceString
|
||||
_In_opt_z_ __drv_aliasesMem PCSZ SourceString
|
||||
);
|
||||
|
||||
//
|
||||
|
@ -2258,13 +2263,14 @@ RtlMultiByteToUnicodeN(
|
|||
_In_ ULONG BytesInMultiByteString
|
||||
);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlMultiByteToUnicodeSize(
|
||||
_Out_ PULONG UnicodeSize,
|
||||
_In_z_ PCSTR MbString,
|
||||
_In_ ULONG MbSize
|
||||
_Out_ PULONG BytesInUnicodeString,
|
||||
_In_reads_bytes_(BytesInMultiByteString) const CHAR *MultiByteString,
|
||||
_In_ ULONG BytesInMultiByteString
|
||||
);
|
||||
|
||||
//
|
||||
|
@ -2349,7 +2355,7 @@ NTSTATUS
|
|||
NTAPI
|
||||
RtlCreateProcessParameters (
|
||||
_Out_ PRTL_USER_PROCESS_PARAMETERS *ProcessParameters,
|
||||
_In_opt_ PUNICODE_STRING ImagePathName,
|
||||
_In_ PUNICODE_STRING ImagePathName,
|
||||
_In_opt_ PUNICODE_STRING DllPath,
|
||||
_In_opt_ PUNICODE_STRING CurrentDirectory,
|
||||
_In_opt_ PUNICODE_STRING CommandLine,
|
||||
|
@ -2376,12 +2382,29 @@ RtlCreateUserProcess(
|
|||
_Out_ PRTL_USER_PROCESS_INFORMATION ProcessInfo
|
||||
);
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlCreateUserThread(
|
||||
_In_ PVOID ThreadContext,
|
||||
_Out_ HANDLE *OutThreadHandle,
|
||||
_Reserved_ PVOID Reserved1,
|
||||
_Reserved_ PVOID Reserved2,
|
||||
_Reserved_ PVOID Reserved3,
|
||||
_Reserved_ PVOID Reserved4,
|
||||
_Reserved_ PVOID Reserved5,
|
||||
_Reserved_ PVOID Reserved6,
|
||||
_Reserved_ PVOID Reserved7,
|
||||
_Reserved_ PVOID Reserved8
|
||||
);
|
||||
#else
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlCreateUserThread(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_opt_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_ BOOLEAN CreateSuspended,
|
||||
_In_ ULONG StackZeroBits,
|
||||
_In_ SIZE_T StackReserve,
|
||||
|
@ -2391,6 +2414,7 @@ RtlCreateUserThread(
|
|||
_Inout_ PHANDLE ThreadHandle,
|
||||
_Inout_ PCLIENT_ID ClientId
|
||||
);
|
||||
#endif
|
||||
|
||||
NTSYSAPI
|
||||
PRTL_USER_PROCESS_PARAMETERS
|
||||
|
@ -2626,10 +2650,10 @@ NTSYSAPI
|
|||
BOOLEAN
|
||||
NTAPI
|
||||
RtlDosPathNameToNtPathName_U(
|
||||
_In_ PCWSTR DosPathName,
|
||||
_In_opt_z_ PCWSTR DosPathName,
|
||||
_Out_ PUNICODE_STRING NtPathName,
|
||||
_Out_ PCWSTR *NtFileNamePart,
|
||||
_Out_ PRTL_RELATIVE_NAME_U DirectoryInfo
|
||||
_Out_opt_ PCWSTR *NtFileNamePart,
|
||||
_Out_opt_ PRTL_RELATIVE_NAME_U DirectoryInfo
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
@ -2642,13 +2666,14 @@ RtlDosPathNameToRelativeNtPathName_U(
|
|||
_Out_ PRTL_RELATIVE_NAME_U RelativeName
|
||||
);
|
||||
|
||||
_At_(Destination->Buffer, _Out_bytecap_(Destination->MaximumLength))
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlExpandEnvironmentStrings_U(
|
||||
_In_z_ PWSTR Environment,
|
||||
_In_ PUNICODE_STRING Source,
|
||||
_Out_ PUNICODE_STRING Destination,
|
||||
_Inout_ PUNICODE_STRING Destination,
|
||||
_Out_ PULONG Length
|
||||
);
|
||||
|
||||
|
@ -2666,8 +2691,8 @@ NTAPI
|
|||
RtlGetFullPathName_U(
|
||||
_In_ PCWSTR FileName,
|
||||
_In_ ULONG Size,
|
||||
_In_ PWSTR Buffer,
|
||||
_Out_ PWSTR *ShortName
|
||||
_Out_z_bytecap_(Size) PWSTR Buffer,
|
||||
_Out_opt_ PWSTR *ShortName
|
||||
);
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
|
@ -2687,13 +2712,13 @@ NTSTATUS
|
|||
NTAPI
|
||||
RtlGetFullPathName_UstrEx(
|
||||
_In_ PUNICODE_STRING FileName,
|
||||
_In_ PUNICODE_STRING StaticString,
|
||||
_In_ PUNICODE_STRING DynamicString,
|
||||
_In_ PUNICODE_STRING *StringUsed,
|
||||
_In_ PSIZE_T FilePartSize,
|
||||
_Out_ PBOOLEAN NameInvalid,
|
||||
_In_opt_ PUNICODE_STRING StaticString,
|
||||
_In_opt_ PUNICODE_STRING DynamicString,
|
||||
_Out_opt_ PUNICODE_STRING *StringUsed,
|
||||
_Out_opt_ PSIZE_T FilePartSize,
|
||||
_Out_opt_ PBOOLEAN NameInvalid,
|
||||
_Out_ RTL_PATH_TYPE* PathType,
|
||||
_Out_ PSIZE_T LengthNeeded
|
||||
_Out_opt_ PSIZE_T LengthNeeded
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
@ -2717,7 +2742,6 @@ RtlIsDosDeviceName_Ustr(
|
|||
_In_ PCUNICODE_STRING Name
|
||||
);
|
||||
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
_Must_inspect_result_
|
||||
NTSYSAPI
|
||||
|
@ -3026,7 +3050,7 @@ NTAPI
|
|||
RtlFindNextForwardRunSet(
|
||||
_In_ PRTL_BITMAP BitMapHeader,
|
||||
_In_ ULONG FromIndex,
|
||||
_In_ PULONG StartingRunIndex
|
||||
_Out_ PULONG StartingRunIndex
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
@ -3227,8 +3251,8 @@ ULONG
|
|||
NTAPI
|
||||
DbgPrompt(
|
||||
_In_z_ PCCH Prompt,
|
||||
_Out_writes_bytes_(Length) PCH Response,
|
||||
_In_ ULONG Length
|
||||
_Out_writes_bytes_(MaximumResponseLength) PCH Response,
|
||||
_In_ ULONG MaximumResponseLength
|
||||
);
|
||||
|
||||
VOID
|
||||
|
@ -3346,6 +3370,7 @@ RtlIsValidHandle(
|
|||
_In_ PRTL_HANDLE_TABLE_ENTRY Handle
|
||||
);
|
||||
|
||||
_Success_(return!=FALSE)
|
||||
NTSYSAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
|
@ -3374,6 +3399,7 @@ ULONG
|
|||
NTAPI
|
||||
RtlGetNtGlobalFlags(VOID);
|
||||
|
||||
_Success_(return!=NULL)
|
||||
NTSYSAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
|
@ -3391,7 +3417,7 @@ RtlImageRvaToVa(
|
|||
_In_ PIMAGE_NT_HEADERS NtHeader,
|
||||
_In_ PVOID BaseAddress,
|
||||
_In_ ULONG Rva,
|
||||
_Out_ PIMAGE_SECTION_HEADER *SectionHeader
|
||||
_Inout_opt_ PIMAGE_SECTION_HEADER *SectionHeader
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
@ -3407,7 +3433,7 @@ RtlImageNtHeaderEx(
|
|||
_In_ ULONG Flags,
|
||||
_In_ PVOID BaseAddress,
|
||||
_In_ ULONGLONG Size,
|
||||
_In_ PIMAGE_NT_HEADERS *NtHeader
|
||||
_Out_ PIMAGE_NT_HEADERS *NtHeader
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
@ -3442,7 +3468,7 @@ RtlActivateActivationContextEx(
|
|||
_In_ ULONG Flags,
|
||||
_In_ PTEB Teb,
|
||||
_In_ PVOID Context,
|
||||
_In_ PULONG_PTR Cookie
|
||||
_Out_ PULONG_PTR Cookie
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
@ -3549,10 +3575,20 @@ NTSTATUS
|
|||
NTAPI
|
||||
RtlQueryInformationActivationContext(
|
||||
_In_ DWORD dwFlags,
|
||||
_In_ PVOID Context,
|
||||
_In_ PVOID pvSubInstance,
|
||||
_In_opt_ PVOID Context,
|
||||
_In_opt_ PVOID pvSubInstance,
|
||||
_In_ ULONG ulInfoClass,
|
||||
_Out_bytecap_(cbBufer) PVOID pvBuffer,
|
||||
_Out_bytecap_(cbBuffer) PVOID pvBuffer,
|
||||
_In_opt_ SIZE_T cbBuffer,
|
||||
_Out_opt_ SIZE_T *pcbWrittenOrRequired
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlQueryInformationActiveActivationContext(
|
||||
_In_ ULONG ulInfoClass,
|
||||
_Out_bytecap_(cbBuffer) PVOID pvBuffer,
|
||||
_In_opt_ SIZE_T cbBuffer,
|
||||
_Out_opt_ SIZE_T *pcbWrittenOrRequired
|
||||
);
|
||||
|
@ -3587,12 +3623,14 @@ RtlWow64EnableFsRedirectionEx(
|
|||
//
|
||||
// Registry Functions
|
||||
//
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
_Must_inspect_result_
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlCheckRegistryKey(
|
||||
_In_ ULONG RelativeTo,
|
||||
_In_z_ PWSTR Path
|
||||
_In_ PWSTR Path
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
@ -3733,7 +3771,7 @@ VOID
|
|||
NTAPI
|
||||
RtlInitCodePageTable(
|
||||
_In_ PUSHORT TableBase,
|
||||
_Inout_ PCPTABLEINFO CodePageTable
|
||||
_Out_ PCPTABLEINFO CodePageTable
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
|
|
@ -173,7 +173,7 @@ NtAdjustPrivilegesToken(
|
|||
_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
|
||||
_When_(PreviousState != NULL, _Out_) PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSYSCALLAPI
|
||||
|
@ -368,7 +368,7 @@ ZwAdjustPrivilegesToken(
|
|||
_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
|
||||
_When_(PreviousState != NULL, _Out_) PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
@ -504,9 +504,9 @@ NTAPI
|
|||
ZwQueryInformationToken(
|
||||
_In_ HANDLE TokenHandle,
|
||||
_In_ TOKEN_INFORMATION_CLASS TokenInformationClass,
|
||||
_Out_writes_bytes_to_opt_(TokenInformationLength,*ReturnLength) PVOID TokenInformation,
|
||||
_In_ ULONG TokenInformationLength,
|
||||
_Out_ PULONG ReturnLength
|
||||
_Out_writes_bytes_to_opt_(Length,*ResultLength) PVOID TokenInformation,
|
||||
_In_ ULONG Length,
|
||||
_Out_ PULONG ResultLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
|
|
|
@ -66,6 +66,22 @@ Author:
|
|||
#define SE_CREATE_GLOBAL_PRIVILEGE (30L)
|
||||
#define SE_MAX_WELL_KNOWN_PRIVILEGE (SE_CREATE_GLOBAL_PRIVILEGE)
|
||||
|
||||
typedef struct _TOKEN_MANDATORY_POLICY {
|
||||
ULONG Policy;
|
||||
} TOKEN_MANDATORY_POLICY, *PTOKEN_MANDATORY_POLICY;
|
||||
|
||||
typedef struct _TOKEN_ACCESS_INFORMATION
|
||||
{
|
||||
struct _SID_AND_ATTRIBUTES_HASH *SidHash;
|
||||
struct _SID_AND_ATTRIBUTES_HASH *RestrictedSidHash;
|
||||
struct _TOKEN_PRIVILEGES *Privileges;
|
||||
LUID AuthenticationId;
|
||||
TOKEN_TYPE TokenType;
|
||||
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
|
||||
TOKEN_MANDATORY_POLICY MandatoryPolicy;
|
||||
ULONG Flags;
|
||||
} TOKEN_ACCESS_INFORMATION, *PTOKEN_ACCESS_INFORMATION;
|
||||
|
||||
#else
|
||||
|
||||
//
|
||||
|
|
|
@ -20,6 +20,14 @@ Author:
|
|||
#define _NTDEF_
|
||||
#define _NTDEF_H
|
||||
|
||||
//
|
||||
// Use dummy macros, if SAL 2 is not available
|
||||
//
|
||||
#include <sal.h>
|
||||
#if (_SAL_VERSION < 20)
|
||||
#include <no_sal2.h>
|
||||
#endif
|
||||
|
||||
//
|
||||
// NDK Applications must use Unicode
|
||||
//
|
||||
|
@ -129,7 +137,7 @@ typedef LONG KPRIORITY;
|
|||
#if !defined(_NTSECAPI_H) && !defined(_SUBAUTH_H) && !defined(_NTSECAPI_)
|
||||
|
||||
#ifndef __BCRYPT_H__
|
||||
typedef LONG NTSTATUS, *PNTSTATUS;
|
||||
typedef _Return_type_success_(return >= 0) long NTSTATUS, *PNTSTATUS;
|
||||
#endif
|
||||
|
||||
typedef struct _UNICODE_STRING
|
||||
|
|
|
@ -405,32 +405,32 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
#define _SA_annotes2(n,pp1,pp2) [SAL_annotes(Name=#n, p1=_SA_SPECSTRIZE(pp1), p2=_SA_SPECSTRIZE(pp2))]
|
||||
#define _SA_annotes3(n,pp1,pp2,pp3) [SAL_annotes(Name=#n, p1=_SA_SPECSTRIZE(pp1), p2=_SA_SPECSTRIZE(pp2), p3=_SA_SPECSTRIZE(pp3))]
|
||||
|
||||
#define _SAL2_Name(Name) _SA_annotes3(SAL_name, #Name, "", "2")
|
||||
#define _SAL11_Name(Name) _SA_annotes3(SAL_name, #Name, "", "1.1")
|
||||
#define _SAL2_NAME(Name) _SA_annotes3(SAL_name, #Name, "", "2")
|
||||
#define _SAL11_NAME(Name) _SA_annotes3(SAL_name, #Name, "", "1.1")
|
||||
|
||||
#define _Pre_ [SAL_pre]
|
||||
#define _Post_ [SAL_post]
|
||||
#define _Deref_impl_ [SAL_deref]
|
||||
#define _Notref_impl_ [SAL_notref]
|
||||
#define __inner_exceptthat [SAL_except]
|
||||
#define __inner_typefix(ctype) [SAL_typefix(p1=#ctype)]
|
||||
#define __inner_typefix(ctype) [SAL_typefix(p1=_SA_SPECSTRIZE(ctype))]
|
||||
#define _Group_(annos) [SAL_begin] annos [SAL_end]
|
||||
#define _When_(expr, annos) [SAL_when(p1=_SA_SPECSTRIZE(expr))] _Group_(annos)
|
||||
#define _At_(target, annos) [SAL_at(p1=_SA_SPECSTRIZE(target))] _Group_(annos)
|
||||
#define _At_buffer_(target, iter, bound, annos) [SAL_at_buffer(p1=#target, p2=#iter, p3=#bound)] [SAL_begin] annos [SAL_end]
|
||||
#define _At_buffer_(target, iter, bound, annos) [SAL_at_buffer(p1=_SA_SPECSTRIZE(target), p2=_SA_SPECSTRIZE(iter), p3=_SA_SPECSTRIZE(bound))] [SAL_begin] annos [SAL_end]
|
||||
#define _On_failure_(annos) [SAL_context(p1="SAL_failed")] _Group_(_Post_ _Group_(annos))
|
||||
#define _Always_(annos) _Group_(annos) _On_failure_(annos)
|
||||
|
||||
#define _Analysis_noreturn_ _SAL2_Name(_Analysis_noreturn_) [SAL_annotes(Name="SAL_terminates")]
|
||||
#define _Analysis_noreturn_ _SAL2_NAME(_Analysis_noreturn_) [SAL_annotes(Name="SAL_terminates")]
|
||||
#define _Analysis_assume_(expr) __assume(expr)
|
||||
|
||||
#define _Check_return_ _SAL2_Name(_Check_return_) [SA_Post(MustCheck=SA_Yes)]
|
||||
#define _COM_Outptr_ _SAL2_Name(_COM_Outptr_) _Group_(_Outptr_ _On_failure_(_Deref_post_null_))
|
||||
#define _COM_Outptr_opt_ _SAL2_Name(_COM_Outptr_opt_) _Group_(_Outptr_opt_ _On_failure_(_Deref_post_null_))
|
||||
#define _COM_Outptr_opt_result_maybenull_ _SAL2_Name(_COM_Outptr_opt_result_maybenull_) _Group_(_Outptr_opt_result_maybenull_ _On_failure_(_Deref_post_null_))
|
||||
#define _COM_Outptr_result_maybenull_ _SAL2_Name(_COM_Outptr_result_maybenull_) _Group_(_Outptr_opt_result_maybenull_ _On_failure_(_Deref_post_null_))
|
||||
#define _Const_ _SAL2_Name(_Const_) [SA_Pre(Access=SA_Read,Notref=1)]
|
||||
#define _Deref_in_bound_ _SAL2_Name(_Deref_in_bound_) [SA_PreBound(Deref=1)]
|
||||
#define _Check_return_ _SAL2_NAME(_Check_return_) [SA_Post(MustCheck=SA_Yes)]
|
||||
#define _COM_Outptr_ _SAL2_NAME(_COM_Outptr_) _Group_(_Outptr_ _On_failure_(_Deref_post_null_))
|
||||
#define _COM_Outptr_opt_ _SAL2_NAME(_COM_Outptr_opt_) _Group_(_Outptr_opt_ _On_failure_(_Deref_post_null_))
|
||||
#define _COM_Outptr_opt_result_maybenull_ _SAL2_NAME(_COM_Outptr_opt_result_maybenull_) _Group_(_Outptr_opt_result_maybenull_ _On_failure_(_Deref_post_null_))
|
||||
#define _COM_Outptr_result_maybenull_ _SAL2_NAME(_COM_Outptr_result_maybenull_) _Group_(_Outptr_opt_result_maybenull_ _On_failure_(_Deref_post_null_))
|
||||
#define _Const_ _SAL2_NAME(_Const_) [SA_Pre(Access=SA_Read,Notref=1)]
|
||||
#define _Deref_in_bound_ _SAL2_NAME(_Deref_in_bound_) [SA_PreBound(Deref=1)]
|
||||
//#define _Deref_in_range_(lb,ub)
|
||||
//#define _Deref_inout_bound_
|
||||
//#define _Deref_inout_z_
|
||||
|
@ -440,18 +440,18 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Deref_opt_out_opt_
|
||||
//#define _Deref_opt_out_opt_z_
|
||||
//#define _Deref_opt_out_z_
|
||||
#define _Deref_out_ _SAL2_Name(_Deref_out_) _Group_(_Out_ _Deref_post_valid_)
|
||||
#define _Deref_out_ _SAL2_NAME(_Deref_out_) _Group_(_Out_ _Deref_post_valid_)
|
||||
//#define _Deref_out_bound_
|
||||
//#define _Deref_out_opt_
|
||||
//#define _Deref_out_opt_z_
|
||||
#define _Deref_out_range_(lb,ub) _SAL2_Name(_Deref_out_range_) _Group_(_Post_ [SAL_notref] [SAL_deref] [SAL_annotes(Name="SAL_range", p1=#lb, p2=#ub)])
|
||||
#define _Deref_out_range_(lb,ub) _SAL2_NAME(_Deref_out_range_) _Group_(_Post_ [SAL_notref] [SAL_deref] [SAL_annotes(Name="SAL_range", p1=_SA_SPECSTRIZE(lb), p2=_SA_SPECSTRIZE(ub))])
|
||||
//#define _Deref_out_z_
|
||||
//#define _Deref_out_z_bytecap_c_(size)
|
||||
//#define _Deref_out_z_cap_c_(size)
|
||||
#define _Deref_post_bytecap_(size)
|
||||
#define _Deref_post_bytecap_(size) _SAL11_NAME(_Deref_post_bytecap_) _Group_([SA_Post(Deref=1,Null=SA_No,Notref=1)] [SA_Post(Deref=1,WritableBytes="\n" _SA_SPECSTRIZE(size))])
|
||||
//#define _Deref_post_bytecap_c_(size)
|
||||
//#define _Deref_post_bytecap_x_(size)
|
||||
//#define _Deref_post_bytecount_(size)
|
||||
#define _Deref_post_bytecount_(size)
|
||||
//#define _Deref_post_bytecount_c_(size)
|
||||
//#define _Deref_post_bytecount_x_(size)
|
||||
//#define _Deref_post_cap_(size)
|
||||
|
@ -462,7 +462,7 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Deref_post_count_x_(size)
|
||||
//#define _Deref_post_maybenull_
|
||||
//#define _Deref_post_notnull_
|
||||
//#define _Deref_post_null_
|
||||
#define _Deref_post_null_ _SAL11_NAME(_Deref_post_null_) _Group_([SA_Post(Deref=1,Null=SA_Yes,Notref=1)] )
|
||||
//#define _Deref_post_opt_bytecap_(size)
|
||||
//#define _Deref_post_opt_bytecap_c_(size)
|
||||
//#define _Deref_post_opt_bytecap_x_(size)
|
||||
|
@ -489,7 +489,7 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Deref_post_opt_z_cap_(size)
|
||||
//#define _Deref_post_opt_z_cap_c_(size)
|
||||
//#define _Deref_post_opt_z_cap_x_(size)
|
||||
#define _Deref_post_valid_ _SAL2_Name(_Deref_post_valid_) _Group_([SA_Post(Deref=1,Null=SA_No,Notref=1)] [SA_Post(Valid=SA_Yes)])
|
||||
#define _Deref_post_valid_ _SAL2_NAME(_Deref_post_valid_) _Group_([SA_Post(Deref=1,Null=SA_No,Notref=1)] [SA_Post(Valid=SA_Yes)])
|
||||
//#define _Deref_post_valid_bytecap_(size)
|
||||
//#define _Deref_post_valid_bytecap_c_(size)
|
||||
//#define _Deref_post_valid_bytecap_x_(size)
|
||||
|
@ -506,7 +506,7 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Deref_pre_bytecap_(size)
|
||||
//#define _Deref_pre_bytecap_c_(size)
|
||||
//#define _Deref_pre_bytecap_x_(size)
|
||||
//#define _Deref_pre_bytecount_(size)
|
||||
#define _Deref_pre_bytecount_(size) _SAL11_NAME(_Deref_pre_bytecount_) _Group_([SA_Pre(Deref=1,Null=SA_No,Notref=1)] [SA_Pre(Deref=1,ValidBytes="\n" _SA_SPECSTRIZE(size))] [SA_Pre(Valid=SA_Yes)] )
|
||||
//#define _Deref_pre_bytecount_c_(size)
|
||||
//#define _Deref_pre_bytecount_x_(size)
|
||||
//#define _Deref_pre_cap_(size)
|
||||
|
@ -519,7 +519,7 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Deref_pre_maybenull_
|
||||
//#define _Deref_pre_notnull_
|
||||
//#define _Deref_pre_null_
|
||||
#define _Deref_pre_opt_bytecap_(size) _SAL11_Name(_Pre_opt_bytecap_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(WritableBytes="\n" _SA_SPECSTRIZE(size))])
|
||||
#define _Deref_pre_opt_bytecap_(size) _SAL11_NAME(_Pre_opt_bytecap_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(WritableBytes="\n" _SA_SPECSTRIZE(size))])
|
||||
//#define _Deref_pre_opt_bytecap_c_(size)
|
||||
//#define _Deref_pre_opt_bytecap_x_(size)
|
||||
//#define _Deref_pre_opt_bytecount_(size)
|
||||
|
@ -545,7 +545,7 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Deref_pre_opt_z_cap_(size)
|
||||
//#define _Deref_pre_opt_z_cap_c_(size)
|
||||
//#define _Deref_pre_opt_z_cap_x_(size)
|
||||
#define _Deref_pre_readonly_ _SAL2_Name(_Deref_pre_readonly_) _Group_([SA_Pre(Deref=1,Access=SA_Read,Notref=1)])
|
||||
#define _Deref_pre_readonly_ _SAL2_NAME(_Deref_pre_readonly_) _Group_([SA_Pre(Deref=1,Access=SA_Read,Notref=1)])
|
||||
//#define _Deref_pre_valid_
|
||||
//#define _Deref_pre_valid_bytecap_(size)
|
||||
//#define _Deref_pre_valid_bytecap_c_(size)
|
||||
|
@ -598,66 +598,66 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Deref_ret_range_(lb,ub)
|
||||
//#define _Deref_ret_z_
|
||||
//#define _Deref2_pre_readonly_
|
||||
#define _Field_range_(min,max) _SAL2_Name(_Field_range_) _Group_(_SA_annotes2(SAL_range,min,max))
|
||||
#define _Field_size_(size) _SAL2_Name(_Field_size_) _Group_(_Notnull_ _Writable_elements_(size))
|
||||
#define _Field_size_bytes_(size) _SAL2_Name(_Field_size_bytes_) _Group_(_Notnull_ _Writable_bytes_(size))
|
||||
#define _Field_range_(min,max) _SAL2_NAME(_Field_range_) _Group_(_SA_annotes2(SAL_range,min,max))
|
||||
#define _Field_size_(size) _SAL2_NAME(_Field_size_) _Group_(_Notnull_ _Writable_elements_(size))
|
||||
#define _Field_size_bytes_(size) _SAL2_NAME(_Field_size_bytes_) _Group_(_Notnull_ _Writable_bytes_(size))
|
||||
//#define _Field_size_bytes_full_(size)
|
||||
//#define _Field_size_bytes_full_opt_(size)
|
||||
#define _Field_size_bytes_opt_(size) _SAL2_Name(_Field_size_bytes_opt_) _Group_(_Maybenull_ _Writable_bytes_(size))
|
||||
#define _Field_size_bytes_opt_(size) _SAL2_NAME(_Field_size_bytes_opt_) _Group_(_Maybenull_ _Writable_bytes_(size))
|
||||
//#define _Field_size_bytes_part_(size, count)
|
||||
#define _Field_size_bytes_part_opt_(size, count) _SAL2_Name(_Field_size_bytes_part_opt_) _Group_(_Maybenull_ _Writable_bytes_(size) _Readable_bytes_(count))
|
||||
#define _Field_size_bytes_part_opt_(size, count) _SAL2_NAME(_Field_size_bytes_part_opt_) _Group_(_Maybenull_ _Writable_bytes_(size) _Readable_bytes_(count))
|
||||
//#define _Field_size_full_(size)
|
||||
//#define _Field_size_full_opt_(size)
|
||||
//#define _Field_size_opt_(size)
|
||||
//#define _Field_size_part_(size, count)
|
||||
//#define _Field_size_part_opt_(size, count)
|
||||
//#define _Field_z_
|
||||
#define _Function_class_(x) _SA_annotes1(SAL_functionClassNew, #x)
|
||||
#define _In_ _SAL2_Name(_In_) _Group_([SA_Pre(Null=SA_No,Notref=1)] [SA_Pre(Valid=SA_Yes)] [SA_Pre(Deref=1,Access=SA_Read,Notref=1)])
|
||||
#define _Function_class_(x) _SA_annotes1(SAL_functionClassNew, _SA_SPECSTRIZE(x))
|
||||
#define _In_ _SAL2_NAME(_In_) _Group_([SA_Pre(Null=SA_No,Notref=1)] [SA_Pre(Valid=SA_Yes)] [SA_Pre(Deref=1,Access=SA_Read,Notref=1)])
|
||||
//#define _In_bound_
|
||||
#define _In_bytecount_(size) _SAL11_Name(_In_bytecount_) _Group_(_Pre_bytecount_(size) _Deref_pre_readonly_)
|
||||
#define _In_bytecount_(size) _SAL11_NAME(_In_bytecount_) _Group_(_Pre_bytecount_(size) _Deref_pre_readonly_)
|
||||
//#define _In_bytecount_c_(size)
|
||||
//#define _In_bytecount_x_(size)
|
||||
#define _In_count_(size)
|
||||
#define _In_count_c_(size)
|
||||
#define _In_count_(size) _SAL11_NAME(_In_count_) _Group_(_Pre_count_(size) _Deref_pre_readonly_)
|
||||
#define _In_count_c_(size) _SAL11_NAME(_In_count_c_) _Group_(_Pre_count_c_(size) _Deref_pre_readonly_)
|
||||
//#define _In_count_x_(size)
|
||||
//#define _In_defensive_(annotes)
|
||||
#define _In_opt_ _SAL2_Name(_In_opt_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(Valid=SA_Yes)] _Deref_pre_readonly_)
|
||||
#define _In_opt_bytecount_(size)
|
||||
#define _In_opt_ _SAL2_NAME(_In_opt_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(Valid=SA_Yes)] _Deref_pre_readonly_)
|
||||
#define _In_opt_bytecount_(size) _SAL11_NAME(_In_opt_bytecount_) _Group_(_Pre_opt_bytecount_(size) _Deref_pre_readonly_)
|
||||
//#define _In_opt_bytecount_c_(size)
|
||||
//#define _In_opt_bytecount_x_(size)
|
||||
//#define _In_opt_count_(size)
|
||||
//#define _In_opt_count_c_(size)
|
||||
//#define _In_opt_count_x_(size)
|
||||
//#define _In_opt_ptrdiff_count_(size)
|
||||
#define _In_opt_z_
|
||||
#define _In_opt_z_ _SAL2_NAME(_In_opt_z_) _Group_(_In_opt_ [SA_Pre(NullTerminated=SA_Yes)])
|
||||
//#define _In_opt_z_bytecount_(size)
|
||||
//#define _In_opt_z_bytecount_c_(size)
|
||||
#define _In_opt_z_count_(size)
|
||||
#define _In_opt_z_count_(size) _SAL11_NAME(_In_opt_z_count_) _Group_(_Pre_opt_z_ _Pre_opt_count_(size) _Deref_pre_readonly_)
|
||||
//#define _In_opt_z_count_c_(size)
|
||||
//#define _In_ptrdiff_count_(size)
|
||||
#define _In_range_(lb,ub)
|
||||
#define _In_reads_(size)
|
||||
#define _In_reads_bytes_(size)
|
||||
#define _In_reads_bytes_opt_(size)
|
||||
#define _In_reads_opt_(size)
|
||||
#define _In_range_(lb,ub) _SAL2_NAME(_In_range_) _Group_([SAL_pre] [SAL_annotes(Name="SAL_range", p1=_SA_SPECSTRIZE(lb), p2=_SA_SPECSTRIZE(ub))])
|
||||
#define _In_reads_(size) _SAL2_NAME(_In_reads_) _Group_(_Pre_count_(size) _Deref_pre_readonly_)
|
||||
#define _In_reads_bytes_(size) _SAL2_NAME(_In_reads_bytes_) _Group_(_Pre_bytecount_(size) _Deref_pre_readonly_)
|
||||
#define _In_reads_bytes_opt_(size) _SAL2_NAME(_In_reads_bytes_opt_) _Group_(_Pre_opt_bytecount_(size) _Deref_pre_readonly_)
|
||||
#define _In_reads_opt_(size) _SAL2_NAME(_In_reads_opt_) _Group_(_Pre_opt_count_(size) _Deref_pre_readonly_)
|
||||
//#define _In_reads_opt_z_(size)
|
||||
#define _In_reads_or_z_(size)
|
||||
#define _In_reads_or_z_(size) _SAL2_NAME(_In_reads_or_z_) _Group_(_In_ _When_(_String_length_(_Curr_) < (size), _Pre_z_) _When_(_String_length_(_Curr_) >= (size), [SA_Pre(ValidElements="\n" _SA_SPECSTRIZE(size))]))
|
||||
//#define _In_reads_to_ptr_(ptr)
|
||||
//#define _In_reads_to_ptr_opt_(ptr)
|
||||
//#define _In_reads_to_ptr_opt_z_(ptr)
|
||||
//#define _In_reads_to_ptr_z_(ptr)
|
||||
#define _In_reads_z_(size)
|
||||
#define _In_z_
|
||||
#define _In_z_bytecount_(size)
|
||||
#define _In_reads_z_(size) _SAL2_NAME(_In_reads_z_) _Group_(_In_reads_(size) _Pre_z_)
|
||||
#define _In_z_ _SAL2_NAME(_In_z_) _Group_(_In_ [SA_Pre(NullTerminated=SA_Yes)])
|
||||
#define _In_z_bytecount_(size) _SAL11_NAME(_In_z_bytecount_) _Group_(_Pre_z_ _Pre_bytecount_(size) _Deref_pre_readonly_)
|
||||
//#define _In_z_bytecount_c_(size)
|
||||
#define _In_z_count_(size)
|
||||
#define _In_z_count_(size) _SAL11_NAME(_In_z_count_) _Group_(_Pre_z_ _Pre_count_(size) _Deref_pre_readonly_)
|
||||
//#define _In_z_count_c_(size)
|
||||
#define _Inout_ _SAL2_Name(_Inout_) _Group_(_Prepost_valid_)
|
||||
#define _Inout_bytecap_(size)
|
||||
#define _Inout_ _SAL2_NAME(_Inout_) _Group_(_Prepost_valid_)
|
||||
#define _Inout_bytecap_(size) _SAL11_NAME(_Inout_bytecap_) _Group_(_Pre_valid_bytecap_(size) _Post_valid_)
|
||||
//#define _Inout_bytecap_c_(size)
|
||||
//#define _Inout_bytecap_x_(size)
|
||||
#define _Inout_bytecount_(size)
|
||||
#define _Inout_bytecount_(size) _SAL11_NAME(_Inout_bytecount_) _Group_(_Prepost_bytecount_(size))
|
||||
//#define _Inout_bytecount_c_(size)
|
||||
//#define _Inout_bytecount_x_(size)
|
||||
//#define _Inout_cap_(size)
|
||||
|
@ -667,7 +667,7 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Inout_count_c_(size)
|
||||
//#define _Inout_count_x_(size)
|
||||
//#define _Inout_defensive_(annotes)
|
||||
#define _Inout_opt_ _SAL2_Name(_Inout_opt_) _Group_(_Prepost_opt_valid_)
|
||||
#define _Inout_opt_ _SAL2_NAME(_Inout_opt_) _Group_(_Prepost_opt_valid_)
|
||||
//#define _Inout_opt_bytecap_(size)
|
||||
//#define _Inout_opt_bytecap_c_(size)
|
||||
//#define _Inout_opt_bytecap_x_(size)
|
||||
|
@ -693,20 +693,20 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Inout_opt_z_count_(size)
|
||||
//#define _Inout_opt_z_count_c_(size)
|
||||
//#define _Inout_ptrdiff_count_(size)
|
||||
#define _Inout_updates_(size)
|
||||
#define _Inout_updates_(size) _SAL2_NAME(_Inout_updates_) _Group_(_Pre_cap_(size) [SA_Pre(Valid=SA_Yes)] [SA_Post(Valid=SA_Yes)] )
|
||||
//#define _Inout_updates_all_(size)
|
||||
//#define _Inout_updates_all_opt_(size)
|
||||
#define _Inout_updates_bytes_(size)
|
||||
#define _Inout_updates_bytes_(size) _SAL2_NAME(_Inout_updates_bytes_) _Group_(_Pre_bytecap_(size) [SA_Pre(Valid=SA_Yes)] [SA_Post(Valid=SA_Yes)] )
|
||||
//#define _Inout_updates_bytes_all_(size)
|
||||
//#define _Inout_updates_bytes_all_opt_(size)
|
||||
//#define _Inout_updates_bytes_opt_(size)
|
||||
#define _Inout_updates_bytes_to_(size,count)
|
||||
#define _Inout_updates_bytes_to_opt_(size,count)
|
||||
#define _Inout_updates_opt_(size)
|
||||
#define _Inout_updates_bytes_to_(size,count) _SAL2_NAME(_Inout_updates_bytes_to_) _Group_(_Out_writes_bytes_to_(size,count) [SA_Pre(Valid=SA_Yes)] [SA_Pre(ValidBytes="\n" _SA_SPECSTRIZE(count))] )
|
||||
#define _Inout_updates_bytes_to_opt_(size,count) _SAL2_NAME(_Inout_updates_bytes_to_opt_) _Group_(_Out_writes_bytes_to_opt_(size,count) [SA_Pre(Valid=SA_Yes)] [SA_Pre(ValidBytes="\n" _SA_SPECSTRIZE(count))] )
|
||||
#define _Inout_updates_opt_(size) _SAL2_NAME(_Inout_updates_opt_) _Group_(_Pre_opt_cap_(size) [SA_Pre(Valid=SA_Yes)] [SA_Post(Valid=SA_Yes)])
|
||||
//#define _Inout_updates_opt_z_(size)
|
||||
//#define _Inout_updates_to_(size,count)
|
||||
//#define _Inout_updates_to_opt_(size,count)
|
||||
#define _Inout_updates_z_(size) _SAL2_Name(_Inout_updates_z_) _Group_(_Pre_cap_(size) [SA_Pre(Valid=SA_Yes)] [SA_Post(Valid=SA_Yes)] [SA_Pre(NullTerminated=SA_Yes)] [SA_Post(NullTerminated=SA_Yes)])
|
||||
#define _Inout_updates_z_(size) _SAL2_NAME(_Inout_updates_z_) _Group_(_Pre_cap_(size) [SA_Pre(Valid=SA_Yes)] [SA_Post(Valid=SA_Yes)] [SA_Pre(NullTerminated=SA_Yes)] [SA_Post(NullTerminated=SA_Yes)])
|
||||
//#define _Inout_z_
|
||||
//#define _Inout_z_bytecap_(size)
|
||||
//#define _Inout_z_bytecap_c_(size)
|
||||
|
@ -718,29 +718,29 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Inout_z_cap_x_(size)
|
||||
//#define _Inout_z_count_(size)
|
||||
//#define _Inout_z_count_c_(size)
|
||||
#define _Interlocked_operand_
|
||||
#define _Literal_
|
||||
#define _Interlocked_operand_ [SAL_pre] [SAL_annotes(Name="SAL_interlocked")]
|
||||
#define _Literal_ _SAL2_NAME(_Literal_) _Group_([SAL_pre] [SAL_annotes(Name="SAL_constant", p1="__yes")])
|
||||
#define _Maybenull_ [SAL_annotes(Name="SAL_null", p1="__maybe")]
|
||||
#define _Maybevalid_ [SAL_annotes(Name="SAL_valid", p1="__maybe")]
|
||||
//#define _Maybe_raises_SEH_exception
|
||||
#define _Must_inspect_result_ _SAL2_Name(_Must_inspect_result_) _Group_(_Post_ [SAL_annotes(Name="SAL_mustInspect")] [SA_Post(MustCheck=SA_Yes)])
|
||||
#define _Notliteral_
|
||||
#define _Must_inspect_result_ _SAL2_NAME(_Must_inspect_result_) _Group_(_Post_ [SAL_annotes(Name="SAL_mustInspect")] [SA_Post(MustCheck=SA_Yes)])
|
||||
#define _Notliteral_ _SAL2_NAME(_Notliteral_) _Group_([SAL_pre] [SAL_annotes(Name="SAL_constant", p1="__no")] )
|
||||
#define _Notnull_ [SAL_annotes(Name="SAL_null", p1="__no")]
|
||||
//#define _Notref_
|
||||
//#define _Notvalid_
|
||||
#define _Null_
|
||||
#define _Null_terminated_ _SAL2_Name(_Null_terminated_) _Group_([SAL_annotes(Name="SAL_nullTerminated", p1="__yes")])
|
||||
#define _NullNull_terminated_
|
||||
#define _Null_ [SAL_annotes(Name="SAL_null", p1="__yes")]
|
||||
#define _Null_terminated_ _SAL2_NAME(_Null_terminated_) _Group_([SAL_annotes(Name="SAL_nullTerminated", p1="__yes")])
|
||||
#define _NullNull_terminated_ _SAL2_NAME(_NullNull_terminated_) _Group_([SAL_annotes(Name="SAL_nullTerminated", p1="__yes")] [SAL_annotes(Name="SAL_readableTo", p1="inexpressibleCount(\"NullNull terminated string\")")])
|
||||
//#define _On_failure_(annos)
|
||||
#define _Out_ _SAL2_Name(_Out_) _Group_([SA_Pre(Null=SA_No,Notref=1)] [SA_Pre(WritableElementsConst=1,Notref=1)] [SA_Post(Valid=SA_Yes)])
|
||||
#define _Out_ _SAL2_NAME(_Out_) _Group_([SA_Pre(Null=SA_No,Notref=1)] [SA_Pre(WritableElementsConst=1,Notref=1)] [SA_Post(Valid=SA_Yes)])
|
||||
//#define _Out_bound_
|
||||
#define _Out_bytecap_(size)
|
||||
#define _Out_bytecap_(size) _SAL11_NAME(_Out_bytecap_) _Group_(_Pre_bytecap_(size) [SA_Post(Valid=SA_Yes)])
|
||||
//#define _Out_bytecap_c_(size)
|
||||
//#define _Out_bytecap_post_bytecount_(cap,count)
|
||||
//#define _Out_bytecap_x_(size)
|
||||
//#define _Out_bytecapcount_(capcount)
|
||||
//#define _Out_bytecapcount_x_(capcount)
|
||||
#define _Out_cap_(size)
|
||||
#define _Out_cap_(size) _SAL11_NAME(_Out_cap_) _Group_(_Pre_cap_(size) [SA_Post(Valid=SA_Yes)])
|
||||
//#define _Out_cap_c_(size)
|
||||
//#define _Out_cap_m_(mult,size)
|
||||
//#define _Out_cap_post_count_(cap,count)
|
||||
|
@ -748,14 +748,14 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Out_capcount_(capcount)
|
||||
//#define _Out_capcount_x_(capcount)
|
||||
//#define _Out_defensive_(annotes)
|
||||
#define _Out_opt_ _SAL2_Name(_Out_opt_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(WritableElementsConst=1,Notref=1)] [SA_Post(Valid=SA_Yes)])
|
||||
#define _Out_opt_bytecap_(size)
|
||||
#define _Out_opt_ _SAL2_NAME(_Out_opt_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(WritableElementsConst=1,Notref=1)] [SA_Post(Valid=SA_Yes)])
|
||||
#define _Out_opt_bytecap_(size) _SAL11_NAME(_Out_opt_bytecap_) _Group_(_Pre_opt_bytecap_(size) [SA_Post(Valid=SA_Yes)])
|
||||
//#define _Out_opt_bytecap_c_(size)
|
||||
//#define _Out_opt_bytecap_post_bytecount_(cap,count)
|
||||
//#define _Out_opt_bytecap_x_(size)
|
||||
//#define _Out_opt_bytecapcount_(capcount)
|
||||
//#define _Out_opt_bytecapcount_x_(capcount)
|
||||
#define _Out_opt_cap_(size)
|
||||
#define _Out_opt_cap_(size) _SAL11_NAME(_Out_opt_cap_) _Group_(_Pre_opt_cap_(size) [SA_Post(Valid=SA_Yes)])
|
||||
//#define _Out_opt_cap_c_(size)
|
||||
//#define _Out_opt_cap_m_(mult,size)
|
||||
//#define _Out_opt_cap_post_count_(cap,count)
|
||||
|
@ -775,28 +775,28 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Out_opt_z_cap_x_(size)
|
||||
//#define _Out_opt_z_capcount_(capcount)
|
||||
//#define _Out_ptrdiff_cap_(size)
|
||||
#define _Out_range_(lb,ub) _SAL2_Name(_Out_range_) _Group_(_Post_ _SA_annotes2(SAL_range, lb, ub))
|
||||
#define _Out_writes_(size)
|
||||
#define _Out_range_(lb,ub) _SAL2_NAME(_Out_range_) _Group_(_Post_ _SA_annotes2(SAL_range, lb, ub))
|
||||
#define _Out_writes_(size) _SAL2_NAME(_Out_writes_) _Group_(_Pre_cap_(size) [SA_Post(Valid=SA_Yes)])
|
||||
//#define _Out_writes_all_(size)
|
||||
//#define _Out_writes_all_opt_(size)
|
||||
#define _Out_writes_bytes_(size)
|
||||
#define _Out_writes_bytes_all_(size)
|
||||
#define _Out_writes_bytes_(size) _SAL2_NAME(_Out_writes_bytes_) _Group_(_Pre_bytecap_(size) [SA_Post(Valid=SA_Yes)])
|
||||
#define _Out_writes_bytes_all_(size) _SAL2_NAME(_Out_writes_bytes_all_) _Group_(_Out_writes_bytes_to_(_Old_(size), _Old_(size)))
|
||||
//#define _Out_writes_bytes_all_opt_(size)
|
||||
#define _Out_writes_bytes_opt_(size)
|
||||
#define _Out_writes_bytes_to_(size,count)
|
||||
#define _Out_writes_bytes_to_opt_(size,count)
|
||||
#define _Out_writes_opt_(size)
|
||||
#define _Out_writes_bytes_opt_(size) _SAL2_NAME(_Out_writes_bytes_opt_) _Group_(_Pre_opt_bytecap_(size) [SA_Post(Valid=SA_Yes)])
|
||||
#define _Out_writes_bytes_to_(size,count) _SAL2_NAME(_Out_writes_bytes_to_) _Group_(_Pre_bytecap_(size) [SA_Post(Valid=SA_Yes)] _Post_bytecount_(count))
|
||||
#define _Out_writes_bytes_to_opt_(size,count) _SAL2_NAME(_Out_writes_bytes_to_opt_) _Group_(_Pre_opt_bytecap_(size) [SA_Post(Valid=SA_Yes)] _Post_bytecount_(count) )
|
||||
#define _Out_writes_opt_(size) _SAL2_NAME(_Out_writes_opt_) _Group_(_Pre_opt_cap_(size) [SA_Post(Valid=SA_Yes)])
|
||||
//#define _Out_writes_opt_z_(size)
|
||||
#define _Out_writes_to_(size,count)
|
||||
#define _Out_writes_to_opt_(size,count)
|
||||
#define _Out_writes_to_(size,count) _SAL2_NAME(_Out_writes_to_) _Group_(_Pre_cap_(size) [SA_Post(Valid=SA_Yes)] _Post_count_(count))
|
||||
#define _Out_writes_to_opt_(size,count) _SAL2_NAME(_Out_writes_to_opt_) _Group_(_Pre_opt_cap_(size) [SA_Post(Valid=SA_Yes)] _Post_count_(count))
|
||||
//#define _Out_writes_to_ptr_(ptr)
|
||||
//#define _Out_writes_to_ptr_opt_(ptr)
|
||||
//#define _Out_writes_to_ptr_opt_z_(ptr)
|
||||
//#define _Out_writes_to_ptr_z_(ptr)
|
||||
//#define _Out_writes_z_(size)
|
||||
#define _Out_z_bytecap_(size)
|
||||
#define _Out_z_bytecap_(size) _SAL11_NAME(_Out_z_bytecap_) _Group_(_Pre_bytecap_(size) [SA_Post(Valid=SA_Yes)] _Post_z_)
|
||||
//#define _Out_z_bytecap_c_(size)
|
||||
#define _Out_z_bytecap_post_bytecount_(cap,count) _SAL11_Name(_Out_z_bytecap_post_bytecount_) _Group_(_Pre_bytecap_(cap) [SA_Post(Valid=SA_Yes)] _Post_z_bytecount_(count))
|
||||
#define _Out_z_bytecap_post_bytecount_(cap,count) _SAL11_NAME(_Out_z_bytecap_post_bytecount_) _Group_(_Pre_bytecap_(cap) [SA_Post(Valid=SA_Yes)] _Post_z_bytecount_(count))
|
||||
//#define _Out_z_bytecap_x_(size)
|
||||
//#define _Out_z_bytecapcount_(capcount)
|
||||
//#define _Out_z_cap_(size)
|
||||
|
@ -805,8 +805,8 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Out_z_cap_post_count_(cap,count)
|
||||
//#define _Out_z_cap_x_(size)
|
||||
//#define _Out_z_capcount_(capcount)
|
||||
#define _Outptr_ _SAL2_Name(_Outptr_) _Group_([SA_Pre(Null=SA_No,Notref=1)] [SA_Pre(WritableElementsConst=1,Notref=1)] [SA_Post(Valid=SA_Yes)] [SA_Post(Deref=1,Null=SA_No,Notref=1,ValidElements="\n""1")])
|
||||
#define _Outptr_opt_ _SAL2_Name(_Outptr_opt_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(WritableElementsConst=1,Notref=1)] [SA_Post(Valid=SA_Yes)] [SA_Post(Deref=1,Null=SA_No,Notref=1,ValidElements="\n""1")])
|
||||
#define _Outptr_ _SAL2_NAME(_Outptr_) _Group_([SA_Pre(Null=SA_No,Notref=1)] [SA_Pre(WritableElementsConst=1,Notref=1)] [SA_Post(Valid=SA_Yes)] [SA_Post(Deref=1,Null=SA_No,Notref=1,ValidElements="\n""1")])
|
||||
#define _Outptr_opt_ _SAL2_NAME(_Outptr_opt_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(WritableElementsConst=1,Notref=1)] [SA_Post(Valid=SA_Yes)] [SA_Post(Deref=1,Null=SA_No,Notref=1,ValidElements="\n""1")])
|
||||
//#define _Outptr_opt_result_buffer_(size)
|
||||
//#define _Outptr_opt_result_buffer_all_(size)
|
||||
//#define _Outptr_opt_result_buffer_all_maybenull_(size)
|
||||
|
@ -815,21 +815,21 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Outptr_opt_result_buffer_to_maybenull_(size, count)
|
||||
//#define _Outptr_opt_result_bytebuffer_(size)
|
||||
//#define _Outptr_opt_result_bytebuffer_all_(size)
|
||||
#define _Outptr_opt_result_bytebuffer_all_maybenull_(size) _SAL2_Name(_Outptr_opt_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(WritableElementsConst=1,Notref=1)] [SA_Post(Valid=SA_Yes)] [SA_Post(Deref=1,Null=SA_Maybe,Notref=1,ValidBytes="\n"#size)])
|
||||
#define _Outptr_opt_result_bytebuffer_all_maybenull_(size) _SAL2_NAME(_Outptr_opt_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(WritableElementsConst=1,Notref=1)] [SA_Post(Valid=SA_Yes)] [SA_Post(Deref=1,Null=SA_Maybe,Notref=1,ValidBytes="\n" _SA_SPECSTRIZE(size))])
|
||||
//#define _Outptr_opt_result_bytebuffer_maybenull_(size)
|
||||
//#define _Outptr_opt_result_bytebuffer_to_(size, count)
|
||||
//#define _Outptr_opt_result_bytebuffer_to_maybenull_(size, count)
|
||||
#define _Outptr_opt_result_maybenull_ _SAL2_Name(_Outptr_opt_result_maybenull_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(WritableElementsConst=1,Notref=1)] [SA_Post(Valid=SA_Yes)] [SA_Post(Deref=1,Null=SA_Maybe,Notref=1,ValidElements="\n""1")])
|
||||
#define _Outptr_opt_result_maybenull_ _SAL2_NAME(_Outptr_opt_result_maybenull_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(WritableElementsConst=1,Notref=1)] [SA_Post(Valid=SA_Yes)] [SA_Post(Deref=1,Null=SA_Maybe,Notref=1,ValidElements="\n""1")])
|
||||
//#define _Outptr_opt_result_maybenull_z_
|
||||
//#define _Outptr_opt_result_nullonfailure_
|
||||
//#define _Outptr_opt_result_z_
|
||||
#define _Outptr_result_buffer_(size)
|
||||
#define _Outptr_result_buffer_(size) _SAL2_NAME(_Outptr_result_buffer_) _Group_([SA_Pre(Null=SA_No,Notref=1)] [SA_Pre(WritableElementsConst=1,Notref=1)] [SA_Post(Valid=SA_Yes)] [SA_Post(Deref=1,Null=SA_No,Notref=1,WritableElements="\n" _SA_SPECSTRIZE(size))] )
|
||||
//#define _Outptr_result_buffer_all_(size)
|
||||
//#define _Outptr_result_buffer_all_maybenull_(size)
|
||||
//#define _Outptr_result_buffer_maybenull_(size)
|
||||
//#define _Outptr_result_buffer_to_(size, count)
|
||||
//#define _Outptr_result_buffer_to_maybenull_(size, count)
|
||||
#define _Outptr_result_bytebuffer_(size)
|
||||
#define _Outptr_result_bytebuffer_(size) _SAL2_NAME(_Outptr_result_bytebuffer_) _Group_([SA_Pre(Null=SA_No,Notref=1)] [SA_Pre(WritableElementsConst=1,Notref=1)] [SA_Post(Valid=SA_Yes)] [SA_Post(Deref=1,Null=SA_No,Notref=1,WritableBytes="\n" _SA_SPECSTRIZE(size))])
|
||||
//#define _Outptr_result_bytebuffer_all_(size)
|
||||
//#define _Outptr_result_bytebuffer_all_maybenull_(size)
|
||||
//#define _Outptr_result_bytebuffer_maybenull_(size)
|
||||
|
@ -837,7 +837,7 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Outptr_result_bytebuffer_to_maybenull_(size, count)
|
||||
//#define _Outptr_result_maybenull_
|
||||
//#define _Outptr_result_maybenull_z_
|
||||
#define _Outptr_result_nullonfailure_
|
||||
#define _Outptr_result_nullonfailure_ _SAL2_NAME(_Outptr_result_nullonfailure_) _Group_(_Outptr_ [SAL_context(p1="SAL_failed")] _Group_([SAL_post] _Deref_post_null_) )
|
||||
//#define _Outptr_result_z_
|
||||
//#define _Outref_
|
||||
//#define _Outref_result_buffer_(size)
|
||||
|
@ -854,75 +854,75 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Outref_result_bytebuffer_to_maybenull_(size, count)
|
||||
//#define _Outref_result_maybenull_
|
||||
//#define _Outref_result_nullonfailure_
|
||||
#define _Points_to_data_
|
||||
#define _Points_to_data_ _SAL2_NAME(_Points_to_data_) _Group_([SAL_pre] [SAL_at(p1="*_Curr_")] _Group_([SAL_annotes(Name="SAL_mayBePointer", p1="__no")]) )
|
||||
//#define _Post_bytecap_(size)
|
||||
//#define _Post_bytecount_(size)
|
||||
#define _Post_bytecount_(size) _SAL11_NAME(_Post_bytecount_) _Group_([SA_Post(ValidBytes="\n" _SA_SPECSTRIZE(size))] [SA_Post(Valid=SA_Yes)])
|
||||
//#define _Post_bytecount_c_(size)
|
||||
//#define _Post_bytecount_x_(size)
|
||||
//#define _Post_cap_(size)
|
||||
//#define _Post_count_(size)
|
||||
#define _Post_count_(size) _SAL11_NAME(_Post_count_) _Group_([SA_Post(ValidElements="\n" _SA_SPECSTRIZE(size))] [SA_Post(Valid=SA_Yes)] )
|
||||
//#define _Post_count_c_(size)
|
||||
//#define _Post_count_x_(size)
|
||||
//#define _Post_defensive_
|
||||
#define _Post_equal_to_(expr)
|
||||
#define _Post_invalid_ _SAL2_Name(_Post_invalid_) _Group_([SA_Post(Deref=1,Valid=SA_No)])
|
||||
#define _Post_maybenull_ _SAL2_Name(_Post_maybenull_) _Group_([SA_Post(Null=SA_Maybe)])
|
||||
#define _Post_equal_to_(expr) _SAL2_NAME(_Post_equal_to_) _Group_(_Out_range_(==,expr))
|
||||
#define _Post_invalid_ _SAL2_NAME(_Post_invalid_) _Group_([SA_Post(Deref=1,Valid=SA_No)])
|
||||
#define _Post_maybenull_ _SAL2_NAME(_Post_maybenull_) _Group_([SA_Post(Null=SA_Maybe)])
|
||||
//#define _Post_maybez_
|
||||
#define _Post_notnull_ _SAL2_Name(_Post_notnull_) _Group_([SA_Post(Null=SA_No)])
|
||||
#define _Post_notnull_ _SAL2_NAME(_Post_notnull_) _Group_([SA_Post(Null=SA_No)])
|
||||
//#define _Post_null_
|
||||
#define _Post_ptr_invalid_ _SAL2_Name(_Post_ptr_invalid_) _Group_([SA_Post(Valid=SA_No)])
|
||||
#define _Post_readable_byte_size_(size)
|
||||
#define _Post_ptr_invalid_ _SAL2_NAME(_Post_ptr_invalid_) _Group_([SA_Post(Valid=SA_No)])
|
||||
#define _Post_readable_byte_size_(size) _SAL2_NAME(_Post_readable_byte_size_) _Group_([SA_Post(ValidBytes="\n" _SA_SPECSTRIZE(size))] [SA_Post(Valid=SA_Yes)] )
|
||||
//#define _Post_readable_size_(size)
|
||||
#define _Post_satisfies_(cond)
|
||||
#define _Post_valid_ _SAL2_Name(_Post_valid_) _Group_([SA_Post(Valid=SA_Yes)])
|
||||
#define _Post_writable_byte_size_(size)
|
||||
#define _Post_satisfies_(cond) _SAL2_NAME(_Post_satisfies_) _Group_([SAL_post] [SAL_annotes(Name="SAL_satisfies", p1=_SA_SPECSTRIZE(cond))])
|
||||
#define _Post_valid_ _SAL2_NAME(_Post_valid_) _Group_([SA_Post(Valid=SA_Yes)])
|
||||
#define _Post_writable_byte_size_(size) _SAL2_NAME(_Post_writable_byte_size_) _Group_([SA_Post(WritableBytes="\n" _SA_SPECSTRIZE(size))] )
|
||||
//#define _Post_writable_size_(size)
|
||||
#define _Post_z_ _SAL2_Name(_Post_z_) _Group_([SA_Post(NullTerminated=SA_Yes)] [SA_Post(Valid=SA_Yes)])
|
||||
#define _Post_z_bytecount_(size) _SAL11_Name(_Post_z_bytecount_) _Group_([SA_Post(NullTerminated=SA_Yes,ValidBytes="\n" _SA_SPECSTRIZE(size) )] [SA_Post(Valid=SA_Yes)])
|
||||
#define _Post_z_ _SAL2_NAME(_Post_z_) _Group_([SA_Post(NullTerminated=SA_Yes)] [SA_Post(Valid=SA_Yes)])
|
||||
#define _Post_z_bytecount_(size) _SAL11_NAME(_Post_z_bytecount_) _Group_([SA_Post(NullTerminated=SA_Yes,ValidBytes="\n" _SA_SPECSTRIZE(size) )] [SA_Post(Valid=SA_Yes)])
|
||||
//#define _Post_z_bytecount_c_(size)
|
||||
//#define _Post_z_bytecount_x_(size)
|
||||
//#define _Post_z_count_(size)
|
||||
//#define _Post_z_count_c_(size)
|
||||
//#define _Post_z_count_x_(size)
|
||||
#define _Pre_bytecap_(size) _SAL11_Name(_Pre_bytecap_) _Group_([SA_Pre(Null=SA_No,Notref=1)] [SA_Pre(WritableBytes="\n" _SA_SPECSTRIZE(size) )])
|
||||
#define _Pre_bytecap_(size) _SAL11_NAME(_Pre_bytecap_) _Group_([SA_Pre(Null=SA_No,Notref=1)] [SA_Pre(WritableBytes="\n" _SA_SPECSTRIZE(size) )])
|
||||
//#define _Pre_bytecap_c_(size)
|
||||
//#define _Pre_bytecap_x_(size)
|
||||
#define _Pre_bytecount_(size)
|
||||
#define _Pre_bytecount_(size) _SAL11_NAME(_Pre_bytecount_) _Group_([SA_Pre(Null=SA_No,Notref=1)] [SA_Pre(ValidBytes="\n" _SA_SPECSTRIZE(size))] [SA_Pre(Valid=SA_Yes)] )
|
||||
//#define _Pre_bytecount_c_(size)
|
||||
//#define _Pre_bytecount_x_(size)
|
||||
#define _Pre_cap_(size) _SAL11_Name(_Pre_cap_) _Group_([SA_Pre(Null=SA_No,Notref=1)] [SA_Pre(WritableElements="\n" _SA_SPECSTRIZE(size) )])
|
||||
#define _Pre_cap_(size) _SAL11_NAME(_Pre_cap_) _Group_([SA_Pre(Null=SA_No,Notref=1)] [SA_Pre(WritableElements="\n" _SA_SPECSTRIZE(size) )])
|
||||
//#define _Pre_cap_c_(size)
|
||||
//#define _Pre_cap_c_one_
|
||||
//#define _Pre_cap_for_(param)
|
||||
//#define _Pre_cap_m_(mult,size)
|
||||
//#define _Pre_cap_x_(size)
|
||||
//#define _Pre_count_(size)
|
||||
#define _Pre_count_(size) _SAL11_NAME(_Pre_count_) _Group_([SA_Pre(Null=SA_No,Notref=1)] [SA_Pre(ValidElements="\n" _SA_SPECSTRIZE(size))] [SA_Pre(Valid=SA_Yes)])
|
||||
//#define _Pre_count_c_(size)
|
||||
//#define _Pre_count_x_(size)
|
||||
//#define _Pre_defensive_
|
||||
//#define _Pre_equal_to_(expr)
|
||||
//#define _Pre_invalid_
|
||||
#define _Pre_maybenull_ _SAL2_Name(_Pre_maybenull_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)])
|
||||
#define _Pre_maybenull_ _SAL2_NAME(_Pre_maybenull_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)])
|
||||
//#define _Pre_notnull_
|
||||
//#define _Pre_null_
|
||||
//#define _Pre_opt_bytecap_(size)
|
||||
#define _Pre_opt_bytecap_(size) _SAL11_NAME(_Pre_opt_bytecap_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(WritableBytes="\n" _SA_SPECSTRIZE(size))] )
|
||||
//#define _Pre_opt_bytecap_c_(size)
|
||||
//#define _Pre_opt_bytecap_x_(size)
|
||||
//#define _Pre_opt_bytecount_(size)
|
||||
#define _Pre_opt_bytecount_(size) _SAL11_NAME(_Pre_opt_bytecount_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(ValidBytes="\n" _SA_SPECSTRIZE(size))] [SA_Pre(Valid=SA_Yes)] )
|
||||
//#define _Pre_opt_bytecount_c_(size)
|
||||
//#define _Pre_opt_bytecount_x_(size)
|
||||
//#define _Pre_opt_cap_(size)
|
||||
#define _Pre_opt_cap_(size) _SAL11_NAME(_Pre_opt_cap_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(WritableElements="\n" _SA_SPECSTRIZE(size))] )
|
||||
//#define _Pre_opt_cap_c_(size)
|
||||
//#define _Pre_opt_cap_c_one_
|
||||
//#define _Pre_opt_cap_for_(param)
|
||||
//#define _Pre_opt_cap_m_(mult,size)
|
||||
//#define _Pre_opt_cap_x_(size)
|
||||
//#define _Pre_opt_count_(size)
|
||||
#define _Pre_opt_count_(size) _SAL11_NAME(_Pre_opt_count_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(ValidElements="\n" _SA_SPECSTRIZE(size))] [SA_Pre(Valid=SA_Yes)] )
|
||||
//#define _Pre_opt_count_c_(size)
|
||||
//#define _Pre_opt_count_x_(size)
|
||||
//#define _Pre_opt_ptrdiff_cap_(ptr)
|
||||
//#define _Pre_opt_ptrdiff_count_(ptr)
|
||||
#define _Pre_opt_valid_ _SAL2_Name(_Pre_opt_valid_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(Valid=SA_Yes)])
|
||||
#define _Pre_opt_valid_ _SAL2_NAME(_Pre_opt_valid_) _Group_([SA_Pre(Null=SA_Maybe,Notref=1)] [SA_Pre(Valid=SA_Yes)])
|
||||
//#define _Pre_opt_valid_bytecap_(size)
|
||||
//#define _Pre_opt_valid_bytecap_c_(size)
|
||||
//#define _Pre_opt_valid_bytecap_x_(size)
|
||||
|
@ -939,12 +939,12 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Pre_ptrdiff_cap_(ptr)
|
||||
//#define _Pre_ptrdiff_count_(ptr)
|
||||
//#define _Pre_readable_byte_size_(size)
|
||||
#define _Pre_readable_size_(size)
|
||||
#define _Pre_readable_size_(size) _SAL2_NAME(_Pre_readable_size_) _Group_([SA_Pre(ValidElements="\n" _SA_SPECSTRIZE(size))] [SA_Pre(Valid=SA_Yes)] )
|
||||
//#define _Pre_readonly_
|
||||
#define _Pre_satisfies_(cond)
|
||||
#define _Pre_satisfies_(cond) _SAL2_NAME(_Pre_satisfies_) _Group_([SAL_pre] [SAL_annotes(Name="SAL_satisfies", p1=_SA_SPECSTRIZE(cond))])
|
||||
#define _Pre_unknown_
|
||||
//#define _Pre_valid_
|
||||
//#define _Pre_valid_bytecap_(size)
|
||||
#define _Pre_valid_ _SAL2_NAME(_Pre_valid_) _Group_([SA_Pre(Null=SA_No,Notref=1)] [SA_Pre(Valid=SA_Yes)] )
|
||||
#define _Pre_valid_bytecap_(size) _SAL11_NAME(_Pre_valid_bytecap_) _Group_([SA_Pre(Null=SA_No,Notref=1)] [SA_Pre(WritableBytes="\n" _SA_SPECSTRIZE(size))] [SA_Pre(Valid=SA_Yes)] )
|
||||
//#define _Pre_valid_bytecap_c_(size)
|
||||
//#define _Pre_valid_bytecap_x_(size)
|
||||
//#define _Pre_valid_cap_(size)
|
||||
|
@ -960,7 +960,7 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Pre_z_cap_(size)
|
||||
//#define _Pre_z_cap_c_(size)
|
||||
//#define _Pre_z_cap_x_(size)
|
||||
//#define _Prepost_bytecount_(size)
|
||||
#define _Prepost_bytecount_(size) _SAL11_NAME(_Deref_prepost_bytecount_) _Group_(_Deref_pre_bytecount_(size) _Deref_post_bytecount_(size))
|
||||
//#define _Prepost_bytecount_c_(size)
|
||||
//#define _Prepost_bytecount_x_(size)
|
||||
//#define _Prepost_count_(size)
|
||||
|
@ -972,16 +972,16 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Prepost_opt_count_(size)
|
||||
//#define _Prepost_opt_count_c_(size)
|
||||
//#define _Prepost_opt_count_x_(size)
|
||||
#define _Prepost_opt_valid_ _SAL2_Name(_Prepost_opt_valid_) _Group_(_Pre_opt_valid_ _Post_valid_)
|
||||
#define _Prepost_opt_valid_ _SAL2_NAME(_Prepost_opt_valid_) _Group_(_Pre_opt_valid_ _Post_valid_)
|
||||
//#define _Prepost_opt_z_
|
||||
#define _Prepost_valid_
|
||||
#define _Prepost_valid_ _SAL11_NAME(_Prepost_valid_) _Group_(_Pre_valid_ _Post_valid_)
|
||||
//#define _Prepost_z_
|
||||
#define _Printf_format_string_
|
||||
#define _Printf_format_string_ _SAL2_NAME(_Printf_format_string_) _Group_([SA_FormatString(Style="printf")] )
|
||||
//#define _Raises_SEH_exception_
|
||||
#define _Maybe_raises_SEH_exception_
|
||||
#define _Readable_bytes_(size) _SAL2_Name(_Readable_bytes_) _Group_(_SA_annotes1(SAL_readableTo, byteCount(size)))
|
||||
#define _Readable_bytes_(size) _SAL2_NAME(_Readable_bytes_) _Group_(_SA_annotes1(SAL_readableTo, byteCount(size)))
|
||||
//#define _Readable_elements_(size)
|
||||
#define _Reserved_ _SAL2_Name(_Reserved_) _Group_([SA_Pre(Null=SA_Yes)])
|
||||
#define _Reserved_ _SAL2_NAME(_Reserved_) _Group_([SA_Pre(Null=SA_Yes)])
|
||||
//#define _Result_nullonfailure_
|
||||
//#define _Result_zeroonfailure_
|
||||
//#define __inner_callback
|
||||
|
@ -999,15 +999,15 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Ret_count_(size)
|
||||
//#define _Ret_count_c_(size)
|
||||
//#define _Ret_count_x_(size)
|
||||
#define _Ret_maybenull_ _SAL2_Name(_Ret_maybenull_) _Group_([SA_Post(Null=SA_Maybe)])
|
||||
#define _Ret_maybenull_ _SAL2_NAME(_Ret_maybenull_) _Group_([SA_Post(Null=SA_Maybe)])
|
||||
//#define _Ret_maybenull_z_
|
||||
//#define _Ret_notnull_
|
||||
//#define _Ret_null_
|
||||
//#define _Ret_opt_
|
||||
#define _Ret_opt_bytecap_(size) _SAL11_Name(_Ret_opt_bytecap_) _Group_([SA_Post(Null=SA_Maybe,Notref=1)] [SA_Post(WritableBytes="\n" _SA_SPECSTRIZE(size))])
|
||||
#define _Ret_opt_bytecap_(size) _SAL11_NAME(_Ret_opt_bytecap_) _Group_([SA_Post(Null=SA_Maybe,Notref=1)] [SA_Post(WritableBytes="\n" _SA_SPECSTRIZE(size))])
|
||||
//#define _Ret_opt_bytecap_c_(size)
|
||||
//#define _Ret_opt_bytecap_x_(size)
|
||||
#define _Ret_opt_bytecount_(size)
|
||||
#define _Ret_opt_bytecount_(size) _SAL11_NAME(_Ret_opt_bytecount_) _Group_([SA_Post(Null=SA_Maybe,Notref=1)] [SA_Post(ValidBytes="\n" _SA_SPECSTRIZE(size))] [SA_Post(Valid=SA_Yes)])
|
||||
//#define _Ret_opt_bytecount_c_(size)
|
||||
//#define _Ret_opt_bytecount_x_(size)
|
||||
//#define _Ret_opt_cap_(size)
|
||||
|
@ -1017,12 +1017,12 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Ret_opt_count_c_(size)
|
||||
//#define _Ret_opt_count_x_(size)
|
||||
//#define _Ret_opt_valid_
|
||||
#define _Ret_opt_z_
|
||||
#define _Ret_opt_z_ _SAL11_NAME(_Ret_opt_z_) _Group_([SA_Post(Null=SA_Maybe,NullTerminated=SA_Yes)] [SA_Post(Valid=SA_Yes)] )
|
||||
//#define _Ret_opt_z_bytecap_(size)
|
||||
//#define _Ret_opt_z_bytecount_(size)
|
||||
//#define _Ret_opt_z_cap_(size)
|
||||
//#define _Ret_opt_z_count_(size)
|
||||
#define _Ret_range_(lb,ub)
|
||||
#define _Ret_range_(lb,ub) _SAL2_NAME(_Ret_range_) _Group_([SAL_post] [SAL_annotes(Name="SAL_range", p1=_SA_SPECSTRIZE(lb), p2=_SA_SPECSTRIZE(ub))] )
|
||||
//#define _Ret_valid_
|
||||
//#define _Ret_writes_(size)
|
||||
//#define _Ret_writes_bytes_(size)
|
||||
|
@ -1034,21 +1034,21 @@ enum __SAL_YesNo {_SAL_notpresent, _SAL_no, _SAL_maybe, _SAL_yes, _SAL_default};
|
|||
//#define _Ret_writes_to_(size,count)
|
||||
//#define _Ret_writes_to_maybenull_(size,count)
|
||||
//#define _Ret_writes_z_(size)
|
||||
#define _Ret_z_ _SAL2_Name(_Ret_z_) _Group_([SA_Post(Null=SA_No,NullTerminated=SA_Yes)] [SA_Post(Valid=SA_Yes)])
|
||||
#define _Ret_z_ _SAL2_NAME(_Ret_z_) _Group_([SA_Post(Null=SA_No,NullTerminated=SA_Yes)] [SA_Post(Valid=SA_Yes)])
|
||||
//#define _Ret_z_bytecap_(size)
|
||||
//#define _Ret_z_bytecount_(size)
|
||||
//#define _Ret_z_cap_(size)
|
||||
//#define _Ret_z_count_(size)
|
||||
#define _Return_type_success_(expr) _SAL2_Name(_Return_type_success_) _Group_([SA_Success(Condition=_SA_SPECSTRIZE(expr))])
|
||||
#define _Return_type_success_(expr) _SAL2_NAME(_Return_type_success_) _Group_([SA_Success(Condition=_SA_SPECSTRIZE(expr))])
|
||||
//#define _Scanf_format_string_
|
||||
//#define _Scanf_s_format_string_
|
||||
#define _Struct_size_bytes_(size)
|
||||
#define _Success_(expr) _SAL2_Name(_Success_) _Group_([SA_Success(Condition=_SA_SPECSTRIZE(expr))])
|
||||
#define _Unchanged_(e)
|
||||
#define _Struct_size_bytes_(size) _SAL2_NAME(_Struct_size_bytes_) _Group_(_Writable_bytes_(byteCount(size)))
|
||||
#define _Success_(expr) _SAL2_NAME(_Success_) _Group_([SA_Success(Condition=_SA_SPECSTRIZE(expr))])
|
||||
#define _Unchanged_(expr) _SAL2_NAME(_Unchanged_) _Group_([SAL_at(p1=_SA_SPECSTRIZE(expr))] _Group_(_Post_equal_to_(expr) _Const_))
|
||||
//#define _Use_decl_annotations_
|
||||
#define _Valid_
|
||||
#define _Writable_bytes_(size) _SAL2_Name(_Writable_bytes_) _Group_(_SA_annotes1(SAL_writableTo, byteCount(size)))
|
||||
#define _Writable_elements_(size) _SAL2_Name(_Writable_elements_) _Group_(_SA_annotes1(SAL_writableTo, elementCount(size)))
|
||||
#define _Valid_ [SAL_annotes(Name="SAL_valid", p1="__yes")]
|
||||
#define _Writable_bytes_(size) _SAL2_NAME(_Writable_bytes_) _Group_(_SA_annotes1(SAL_writableTo, byteCount(size)))
|
||||
#define _Writable_elements_(size) _SAL2_NAME(_Writable_elements_) _Group_(_SA_annotes1(SAL_writableTo, elementCount(size)))
|
||||
|
||||
#define __In_impl_ [SA_Pre(Valid=SA_Yes)] [SA_Pre(Deref=1, Notref=1, Access=SA_Read)]
|
||||
#define __AuToQuOtE _SA_annotes0(SAL_AuToQuOtE)
|
||||
|
|
|
@ -782,6 +782,32 @@ ULONG
|
|||
NTAPI
|
||||
MmDoesFileHaveUserWritableReferences(
|
||||
_In_ PSECTION_OBJECT_POINTERS SectionPointer);
|
||||
|
||||
_Must_inspect_result_
|
||||
_At_(*BaseAddress, __drv_allocatesMem(Mem))
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtAllocateVirtualMemory(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ _Outptr_result_buffer_(*RegionSize) PVOID *BaseAddress,
|
||||
_In_ ULONG_PTR ZeroBits,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG AllocationType,
|
||||
_In_ ULONG Protect);
|
||||
|
||||
__kernel_entry
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtFreeVirtualMemory(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ __drv_freesMem(Mem) PVOID *BaseAddress,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG FreeType);
|
||||
|
||||
$endif (_NTIFS_)
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
||||
|
||||
|
|
|
@ -122,12 +122,12 @@ NTSYSCALLAPI
|
|||
NTSTATUS
|
||||
NTAPI
|
||||
NtAdjustPrivilegesToken(
|
||||
_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);
|
||||
_In_ HANDLE TokenHandle,
|
||||
_In_ BOOLEAN DisableAllPrivileges,
|
||||
_In_opt_ PTOKEN_PRIVILEGES NewState,
|
||||
_In_ ULONG BufferLength,
|
||||
_Out_writes_bytes_to_opt_(BufferLength, *ReturnLength) PTOKEN_PRIVILEGES PreviousState,
|
||||
_When_(PreviousState != NULL, _Out_) PULONG ReturnLength);
|
||||
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
|
@ -363,30 +363,6 @@ NTAPI
|
|||
NtClose(
|
||||
_In_ HANDLE Handle);
|
||||
|
||||
_Must_inspect_result_
|
||||
__drv_allocatesMem(Mem)
|
||||
__kernel_entry
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NtAllocateVirtualMemory(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ _At_(*BaseAddress, _Readable_bytes_(*RegionSize) _Writable_bytes_(*RegionSize) _Post_readable_byte_size_(*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,
|
||||
_Inout_ __drv_freesMem(Mem) PVOID *BaseAddress,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG FreeType);
|
||||
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
|
@ -1703,72 +1679,72 @@ NTKERNELAPI
|
|||
LARGE_INTEGER
|
||||
NTAPI
|
||||
CcGetLsnForFileObject (
|
||||
IN PFILE_OBJECT FileObject,
|
||||
OUT PLARGE_INTEGER OldestLsn OPTIONAL
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_Out_opt_ PLARGE_INTEGER OldestLsn
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
FsRtlAllocatePool (
|
||||
IN POOL_TYPE PoolType,
|
||||
IN ULONG NumberOfBytes
|
||||
_In_ POOL_TYPE PoolType,
|
||||
_In_ ULONG NumberOfBytes
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
FsRtlAllocatePoolWithQuota (
|
||||
IN POOL_TYPE PoolType,
|
||||
IN ULONG NumberOfBytes
|
||||
_In_ POOL_TYPE PoolType,
|
||||
_In_ ULONG NumberOfBytes
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
FsRtlAllocatePoolWithQuotaTag (
|
||||
IN POOL_TYPE PoolType,
|
||||
IN ULONG NumberOfBytes,
|
||||
IN ULONG Tag
|
||||
_In_ POOL_TYPE PoolType,
|
||||
_In_ ULONG NumberOfBytes,
|
||||
_In_ ULONG Tag
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
PVOID
|
||||
NTAPI
|
||||
FsRtlAllocatePoolWithTag (
|
||||
IN POOL_TYPE PoolType,
|
||||
IN ULONG NumberOfBytes,
|
||||
IN ULONG Tag
|
||||
_In_ POOL_TYPE PoolType,
|
||||
_In_ ULONG NumberOfBytes,
|
||||
_In_ ULONG Tag
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FsRtlMdlReadComplete (
|
||||
IN PFILE_OBJECT FileObject,
|
||||
IN PMDL MdlChain
|
||||
_In_ PFILE_OBJECT FileObject,
|
||||
_In_ PMDL MdlChain
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
FsRtlMdlWriteComplete (
|
||||
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
|
||||
FsRtlNotifyChangeDirectory (
|
||||
IN PNOTIFY_SYNC NotifySync,
|
||||
IN PVOID FsContext,
|
||||
IN PSTRING FullDirectoryName,
|
||||
IN PLIST_ENTRY NotifyList,
|
||||
IN BOOLEAN WatchTree,
|
||||
IN ULONG CompletionFilter,
|
||||
IN PIRP NotifyIrp
|
||||
_In_ PNOTIFY_SYNC NotifySync,
|
||||
_In_ PVOID FsContext,
|
||||
_In_ PSTRING FullDirectoryName,
|
||||
_In_ PLIST_ENTRY NotifyList,
|
||||
_In_ BOOLEAN WatchTree,
|
||||
_In_ ULONG CompletionFilter,
|
||||
_In_ PIRP NotifyIrp
|
||||
);
|
||||
|
||||
#if 1
|
||||
|
@ -1787,25 +1763,18 @@ ObCreateObject(
|
|||
_Out_ PVOID *Object
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
ObGetObjectPointerCount (
|
||||
IN PVOID Object
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObReferenceObjectByName (
|
||||
IN PUNICODE_STRING ObjectName,
|
||||
IN ULONG Attributes,
|
||||
IN PACCESS_STATE PassedAccessState OPTIONAL,
|
||||
IN ACCESS_MASK DesiredAccess OPTIONAL,
|
||||
IN POBJECT_TYPE ObjectType,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
IN OUT PVOID ParseContext OPTIONAL,
|
||||
OUT PVOID *Object
|
||||
_In_ PUNICODE_STRING ObjectName,
|
||||
_In_ ULONG Attributes,
|
||||
_In_opt_ PACCESS_STATE PassedAccessState,
|
||||
_In_opt_ ACCESS_MASK DesiredAccess,
|
||||
_In_ POBJECT_TYPE ObjectType,
|
||||
_In_ KPROCESSOR_MODE AccessMode,
|
||||
_Inout_opt_ PVOID ParseContext,
|
||||
_Out_ PVOID *Object
|
||||
);
|
||||
|
||||
#define PsDereferenceImpersonationToken(T) \
|
||||
|
@ -1820,316 +1789,25 @@ NTKERNELAPI
|
|||
NTSTATUS
|
||||
NTAPI
|
||||
PsLookupProcessThreadByCid (
|
||||
IN PCLIENT_ID Cid,
|
||||
OUT PEPROCESS *Process OPTIONAL,
|
||||
OUT PETHREAD *Thread
|
||||
_In_ PCLIENT_ID Cid,
|
||||
_Out_opt_ PEPROCESS *Process,
|
||||
_Out_ PETHREAD *Thread
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
RtlSetSaclSecurityDescriptor (
|
||||
IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN BOOLEAN SaclPresent,
|
||||
IN PACL Sacl,
|
||||
IN BOOLEAN SaclDefaulted
|
||||
_Inout_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_In_ BOOLEAN SaclPresent,
|
||||
_In_ PACL Sacl,
|
||||
_In_ BOOLEAN SaclDefaulted
|
||||
);
|
||||
|
||||
#define SeEnableAccessToExports() SeExports = *(PSE_EXPORTS *)SeExports;
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwAdjustPrivilegesToken (
|
||||
IN HANDLE TokenHandle,
|
||||
IN BOOLEAN DisableAllPrivileges,
|
||||
IN PTOKEN_PRIVILEGES NewState,
|
||||
IN ULONG BufferLength,
|
||||
OUT PTOKEN_PRIVILEGES PreviousState OPTIONAL,
|
||||
OUT PULONG ReturnLength
|
||||
);
|
||||
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
#endif
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwAlertThread (
|
||||
IN HANDLE ThreadHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwAccessCheckAndAuditAlarm (
|
||||
IN PUNICODE_STRING SubsystemName,
|
||||
IN 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 PBOOLEAN AccessStatus,
|
||||
OUT PBOOLEAN GenerateOnClose
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCancelIoFile (
|
||||
IN HANDLE FileHandle,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock
|
||||
);
|
||||
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwClearEvent (
|
||||
IN HANDLE EventHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCloseObjectAuditAlarm (
|
||||
IN PUNICODE_STRING SubsystemName,
|
||||
IN PVOID HandleId,
|
||||
IN BOOLEAN GenerateOnClose
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCreateSymbolicLinkObject (
|
||||
OUT PHANDLE SymbolicLinkHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN PUNICODE_STRING TargetName
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwFlushInstructionCache (
|
||||
IN HANDLE ProcessHandle,
|
||||
IN PVOID BaseAddress OPTIONAL,
|
||||
IN ULONG FlushSize
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwFlushBuffersFile(
|
||||
IN HANDLE FileHandle,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwInitiatePowerAction (
|
||||
IN POWER_ACTION SystemAction,
|
||||
IN SYSTEM_POWER_STATE MinSystemState,
|
||||
IN ULONG Flags,
|
||||
IN BOOLEAN Asynchronous
|
||||
);
|
||||
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwLoadKey (
|
||||
IN POBJECT_ATTRIBUTES KeyObjectAttributes,
|
||||
IN POBJECT_ATTRIBUTES FileObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwOpenProcessToken (
|
||||
IN HANDLE ProcessHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
OUT PHANDLE TokenHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwOpenThread (
|
||||
OUT PHANDLE ThreadHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
IN PCLIENT_ID ClientId
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwOpenThreadToken (
|
||||
IN HANDLE ThreadHandle,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN BOOLEAN OpenAsSelf,
|
||||
OUT PHANDLE TokenHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwPulseEvent (
|
||||
IN HANDLE EventHandle,
|
||||
OUT PLONG PreviousState OPTIONAL
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryDefaultLocale (
|
||||
IN BOOLEAN ThreadOrSystem,
|
||||
OUT PLCID Locale
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryDirectoryObject(
|
||||
_In_ HANDLE DirectoryHandle,
|
||||
_Out_ PVOID Buffer,
|
||||
_In_ ULONG BufferLength,
|
||||
_In_ BOOLEAN ReturnSingleEntry,
|
||||
_In_ BOOLEAN RestartScan,
|
||||
_Inout_ PULONG Context,
|
||||
_Out_opt_ PULONG ReturnLength
|
||||
);
|
||||
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryInformationProcess (
|
||||
IN HANDLE ProcessHandle,
|
||||
IN PROCESSINFOCLASS ProcessInformationClass,
|
||||
OUT PVOID ProcessInformation,
|
||||
IN ULONG ProcessInformationLength,
|
||||
OUT PULONG ReturnLength OPTIONAL
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwReplaceKey (
|
||||
IN POBJECT_ATTRIBUTES NewFileObjectAttributes,
|
||||
IN HANDLE KeyHandle,
|
||||
IN POBJECT_ATTRIBUTES OldFileObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwResetEvent (
|
||||
IN HANDLE EventHandle,
|
||||
OUT PLONG PreviousState OPTIONAL
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwRestoreKey (
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE FileHandle,
|
||||
IN ULONG Flags
|
||||
);
|
||||
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSaveKey (
|
||||
IN HANDLE KeyHandle,
|
||||
IN HANDLE FileHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetDefaultLocale (
|
||||
IN BOOLEAN ThreadOrSystem,
|
||||
IN LCID Locale
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetDefaultUILanguage (
|
||||
IN LANGID LanguageId
|
||||
);
|
||||
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetInformationProcess (
|
||||
IN HANDLE ProcessHandle,
|
||||
IN PROCESSINFOCLASS ProcessInformationClass,
|
||||
IN PVOID ProcessInformation,
|
||||
IN ULONG ProcessInformationLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetSystemTime (
|
||||
IN PLARGE_INTEGER NewTime,
|
||||
OUT PLARGE_INTEGER OldTime OPTIONAL
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwUnloadKey (
|
||||
IN POBJECT_ATTRIBUTES KeyObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwWaitForMultipleObjects (
|
||||
IN ULONG HandleCount,
|
||||
IN PHANDLE Handles,
|
||||
IN WAIT_TYPE WaitType,
|
||||
IN BOOLEAN Alertable,
|
||||
IN PLARGE_INTEGER Timeout OPTIONAL
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwYieldExecution (
|
||||
VOID
|
||||
);
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -219,6 +219,14 @@ ObOpenObjectByPointerWithTag(
|
|||
_In_ KPROCESSOR_MODE AccessMode,
|
||||
_In_ ULONG Tag,
|
||||
_Out_ PHANDLE Handle);
|
||||
|
||||
NTKERNELAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
ObGetObjectPointerCount(
|
||||
_In_ PVOID Object
|
||||
);
|
||||
|
||||
$endif (_NTIFS_)
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
|
||||
|
||||
|
|
|
@ -145,7 +145,7 @@ RtlAssert(
|
|||
_In_ PVOID FailedAssertion,
|
||||
_In_ PVOID FileName,
|
||||
_In_ ULONG LineNumber,
|
||||
_In_opt_ PSTR Message);
|
||||
_In_opt_z_ PSTR Message);
|
||||
|
||||
/* VOID
|
||||
* RtlCopyMemory(
|
||||
|
@ -1663,9 +1663,9 @@ NTSYSAPI
|
|||
NTSTATUS
|
||||
NTAPI
|
||||
RtlCopySid(
|
||||
_In_ ULONG Length,
|
||||
_Out_writes_bytes_(Length) PSID Destination,
|
||||
_In_ PSID Source);
|
||||
_In_ ULONG DestinationSidLength,
|
||||
_Out_writes_bytes_(DestinationSidLength) PSID DestinationSid,
|
||||
_In_ PSID SourceSid);
|
||||
|
||||
_IRQL_requires_max_(APC_LEVEL)
|
||||
NTSYSAPI
|
||||
|
@ -1827,7 +1827,7 @@ VOID
|
|||
NTAPI
|
||||
RtlInitCodePageTable(
|
||||
_In_ PUSHORT TableBase,
|
||||
_Inout_ PCPTABLEINFO CodePageTable);
|
||||
_Out_ PCPTABLEINFO CodePageTable);
|
||||
|
||||
$endif (_NTIFS_)
|
||||
|
||||
|
@ -3057,59 +3057,56 @@ RtlCheckBit(
|
|||
|
||||
#if DBG
|
||||
|
||||
#define ASSERT(exp) \
|
||||
(VOID)((!(exp)) ? \
|
||||
#define RTL_VERIFY(exp) \
|
||||
((!(exp)) ? \
|
||||
RtlAssert( (PVOID)#exp, (PVOID)__FILE__, __LINE__, NULL ), FALSE : TRUE)
|
||||
|
||||
#define ASSERTMSG(msg, exp) \
|
||||
(VOID)((!(exp)) ? \
|
||||
#define RTL_VERIFYMSG(msg, exp) \
|
||||
((!(exp)) ? \
|
||||
RtlAssert( (PVOID)#exp, (PVOID)__FILE__, __LINE__, (PCHAR)msg ), FALSE : TRUE)
|
||||
|
||||
#define RTL_SOFT_ASSERT(exp) \
|
||||
(VOID)((!(exp)) ? \
|
||||
#define RTL_SOFT_VERIFY(exp) \
|
||||
((!(exp)) ? \
|
||||
DbgPrint("%s(%d): Soft assertion failed\n Expression: %s\n", __FILE__, __LINE__, #exp), FALSE : TRUE)
|
||||
|
||||
#define RTL_SOFT_ASSERTMSG(msg, exp) \
|
||||
#define RTL_SOFT_VERIFYMSG(msg, exp) \
|
||||
(VOID)((!(exp)) ? \
|
||||
DbgPrint("%s(%d): Soft assertion failed\n Expression: %s\n Message: %s\n", __FILE__, __LINE__, #exp, (msg)), FALSE : TRUE)
|
||||
|
||||
#define RTL_VERIFY(exp) ASSERT(exp)
|
||||
#define RTL_VERIFYMSG(msg, exp) ASSERTMSG(msg, exp)
|
||||
#define ASSERT(exp) ((void)RTL_VERIFY(exp))
|
||||
#define ASSERTMSG(msg, exp) ((void)RTL_VERIFYMSG(msg, exp))
|
||||
|
||||
#define RTL_SOFT_VERIFY(exp) RTL_SOFT_ASSERT(exp)
|
||||
#define RTL_SOFT_VERIFYMSG(msg, exp) RTL_SOFT_ASSERTMSG(msg, exp)
|
||||
#define RTL_SOFT_ASSERT(exp) ((void)RTL_SOFT_VERIFY(exp))
|
||||
#define RTL_SOFT_ASSERTMSG(msg, exp) ((void)RTL_SOFT_VERIFYMSG(msg, exp))
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
# define __assert_annotationA(msg) __annotation(L"Debug", L"AssertFail", L ## msg)
|
||||
# define __assert_annotationW(msg) __annotation(L"Debug", L"AssertFail", msg)
|
||||
#else
|
||||
# define __assert_annotationA(msg) \
|
||||
DbgPrint("Assertion %s(%d): %s", __FILE__, __LINE__, msg)
|
||||
# define __assert_annotationW(msg) \
|
||||
DbgPrint("Assertion %s(%d): %S", __FILE__, __LINE__, msg)
|
||||
#endif
|
||||
|
||||
#define NT_ASSERT(exp) \
|
||||
#define NT_VERIFY(exp) \
|
||||
((!(exp)) ? \
|
||||
(__annotation(L"Debug", L"AssertFail", L#exp), \
|
||||
(__assert_annotationA(#exp), \
|
||||
DbgRaiseAssertionFailure(), FALSE) : TRUE)
|
||||
|
||||
#define NT_ASSERTMSG(msg, exp) \
|
||||
#define NT_VERIFYMSG(msg, exp) \
|
||||
((!(exp)) ? \
|
||||
(__annotation(L"Debug", L"AssertFail", L##msg), \
|
||||
(__assert_annotationA(msg), \
|
||||
DbgRaiseAssertionFailure(), FALSE) : TRUE)
|
||||
|
||||
#define NT_ASSERTMSGW(msg, exp) \
|
||||
#define NT_VERIFYMSGW(msg, exp) \
|
||||
((!(exp)) ? \
|
||||
(__annotation(L"Debug", L"AssertFail", msg), \
|
||||
(__assert_annotationW(msg), \
|
||||
DbgRaiseAssertionFailure(), FALSE) : TRUE)
|
||||
|
||||
#define NT_VERIFY NT_ASSERT
|
||||
#define NT_VERIFYMSG NT_ASSERTMSG
|
||||
#define NT_VERIFYMSGW NT_ASSERTMSGW
|
||||
|
||||
#else
|
||||
|
||||
/* GCC doesn't support __annotation (nor PDB) */
|
||||
#define NT_ASSERT(exp) \
|
||||
(VOID)((!(exp)) ? (DbgRaiseAssertionFailure(), FALSE) : TRUE)
|
||||
|
||||
#define NT_ASSERTMSG NT_ASSERT
|
||||
#define NT_ASSERTMSGW NT_ASSERT
|
||||
|
||||
#endif
|
||||
#define NT_ASSERT(exp) ((void)NT_VERIFY(exp))
|
||||
#define NT_ASSERTMSG(msg, exp) ((void)NT_VERIFYMSG(msg, exp))
|
||||
#define NT_ASSERTMSGW(msg, exp) ((void)NT_VERIFYMSGW(msg, exp))
|
||||
|
||||
#else /* !DBG */
|
||||
|
||||
|
|
|
@ -101,17 +101,18 @@ NTSYSAPI
|
|||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCreateFile(
|
||||
_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);
|
||||
_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
|
||||
);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSYSAPI
|
||||
|
@ -590,29 +591,29 @@ ZwOpenDirectoryObject(
|
|||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
_When_(return==0, __drv_allocatesMem(Region))
|
||||
_Must_inspect_result_
|
||||
_At_(*BaseAddress, __drv_allocatesMem(Mem))
|
||||
__kernel_entry NTSYSCALLAPI
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwAllocateVirtualMemory(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ PVOID *BaseAddress,
|
||||
_In_ ULONG_PTR ZeroBits,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG AllocationType,
|
||||
_In_ ULONG Protect);
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ _Outptr_result_buffer_(*RegionSize) PVOID *BaseAddress,
|
||||
_In_ ULONG_PTR ZeroBits,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG AllocationType,
|
||||
_In_ ULONG Protect);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
_When_(return==0, __drv_freesMem(Region))
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwFreeVirtualMemory(
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ PVOID *BaseAddress,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG FreeType);
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_Inout_ __drv_freesMem(Mem) PVOID *BaseAddress,
|
||||
_Inout_ PSIZE_T RegionSize,
|
||||
_In_ ULONG FreeType);
|
||||
|
||||
_When_(Timeout == NULL, _IRQL_requires_max_(APC_LEVEL))
|
||||
_When_(Timeout->QuadPart != 0, _IRQL_requires_max_(APC_LEVEL))
|
||||
|
@ -1066,8 +1067,8 @@ NTSYSCALLAPI
|
|||
NTSTATUS
|
||||
NTAPI
|
||||
ZwRollbackComplete(
|
||||
IN HANDLE EnlistmentHandle,
|
||||
IN PLARGE_INTEGER TmVirtualClock OPTIONAL);
|
||||
_In_ HANDLE EnlistmentHandle,
|
||||
_In_opt_ PLARGE_INTEGER TmVirtualClock);
|
||||
|
||||
NTSYSCALLAPI
|
||||
NTSTATUS
|
||||
|
@ -1169,29 +1170,29 @@ NTSYSAPI
|
|||
NTSTATUS
|
||||
NTAPI
|
||||
ZwNotifyChangeMultipleKeys(
|
||||
IN HANDLE MasterKeyHandle,
|
||||
IN ULONG Count OPTIONAL,
|
||||
IN OBJECT_ATTRIBUTES SubordinateObjects[] OPTIONAL,
|
||||
IN HANDLE Event OPTIONAL,
|
||||
IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
|
||||
IN PVOID ApcContext OPTIONAL,
|
||||
OUT PIO_STATUS_BLOCK IoStatusBlock,
|
||||
IN ULONG CompletionFilter,
|
||||
IN BOOLEAN WatchTree,
|
||||
OUT PVOID Buffer OPTIONAL,
|
||||
IN ULONG BufferSize,
|
||||
IN BOOLEAN Asynchronous);
|
||||
_In_ HANDLE MasterKeyHandle,
|
||||
_In_opt_ ULONG Count,
|
||||
_In_opt_ OBJECT_ATTRIBUTES SubordinateObjects[],
|
||||
_In_opt_ HANDLE Event,
|
||||
_In_opt_ PIO_APC_ROUTINE ApcRoutine,
|
||||
_In_opt_ PVOID ApcContext,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock,
|
||||
_In_ ULONG CompletionFilter,
|
||||
_In_ BOOLEAN WatchTree,
|
||||
_Out_opt_ PVOID Buffer,
|
||||
_In_ ULONG BufferSize,
|
||||
_In_ BOOLEAN Asynchronous);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryMultipleValueKey(
|
||||
IN HANDLE KeyHandle,
|
||||
IN OUT PKEY_VALUE_ENTRY ValueEntries,
|
||||
IN ULONG EntryCount,
|
||||
OUT PVOID ValueBuffer,
|
||||
IN OUT PULONG BufferLength,
|
||||
OUT PULONG RequiredBufferLength OPTIONAL);
|
||||
_In_ HANDLE KeyHandle,
|
||||
_Inout_ PKEY_VALUE_ENTRY ValueEntries,
|
||||
_In_ ULONG EntryCount,
|
||||
_Out_ PVOID ValueBuffer,
|
||||
_Inout_ PULONG BufferLength,
|
||||
_Out_opt_ PULONG RequiredBufferLength);
|
||||
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSYSAPI
|
||||
|
@ -1234,6 +1235,286 @@ ZwSetInformationToken(
|
|||
_In_ TOKEN_INFORMATION_CLASS TokenInformationClass,
|
||||
_In_reads_bytes_(TokenInformationLength) PVOID TokenInformation,
|
||||
_In_ ULONG TokenInformationLength);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwAdjustPrivilegesToken (
|
||||
_In_ HANDLE TokenHandle,
|
||||
_In_ BOOLEAN DisableAllPrivileges,
|
||||
_In_ PTOKEN_PRIVILEGES NewState,
|
||||
_In_ ULONG BufferLength,
|
||||
_Out_opt_ PTOKEN_PRIVILEGES PreviousState,
|
||||
_Out_ PULONG ReturnLength
|
||||
);
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwAlertThread (
|
||||
_In_ HANDLE ThreadHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwAccessCheckAndAuditAlarm (
|
||||
_In_ PUNICODE_STRING SubsystemName,
|
||||
_In_ 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_ PBOOLEAN AccessStatus,
|
||||
_Out_ PBOOLEAN GenerateOnClose
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCancelIoFile (
|
||||
_In_ HANDLE FileHandle,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock
|
||||
);
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwClearEvent (
|
||||
_In_ HANDLE EventHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCloseObjectAuditAlarm (
|
||||
_In_ PUNICODE_STRING SubsystemName,
|
||||
_In_ PVOID HandleId,
|
||||
_In_ BOOLEAN GenerateOnClose
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwCreateSymbolicLinkObject (
|
||||
_Out_ PHANDLE SymbolicLinkHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_ PUNICODE_STRING TargetName
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwFlushInstructionCache (
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_In_opt_ PVOID BaseAddress,
|
||||
_In_ ULONG FlushSize
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwFlushBuffersFile(
|
||||
_In_ HANDLE FileHandle,
|
||||
_Out_ PIO_STATUS_BLOCK IoStatusBlock
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwInitiatePowerAction (
|
||||
_In_ POWER_ACTION SystemAction,
|
||||
_In_ SYSTEM_POWER_STATE MinSystemState,
|
||||
_In_ ULONG Flags,
|
||||
_In_ BOOLEAN Asynchronous
|
||||
);
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwLoadKey (
|
||||
_In_ POBJECT_ATTRIBUTES KeyObjectAttributes,
|
||||
_In_ POBJECT_ATTRIBUTES FileObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwOpenProcessToken (
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_Out_ PHANDLE TokenHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwOpenThread (
|
||||
_Out_ PHANDLE ThreadHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ POBJECT_ATTRIBUTES ObjectAttributes,
|
||||
_In_ PCLIENT_ID ClientId
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwOpenThreadToken (
|
||||
_In_ HANDLE ThreadHandle,
|
||||
_In_ ACCESS_MASK DesiredAccess,
|
||||
_In_ BOOLEAN OpenAsSelf,
|
||||
_Out_ PHANDLE TokenHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwPulseEvent (
|
||||
_In_ HANDLE EventHandle,
|
||||
_In_opt_ PLONG PulseCount
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryDefaultLocale (
|
||||
_In_ BOOLEAN UserProfile,
|
||||
_Out_ PLCID DefaultLocaleId
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryDirectoryObject(
|
||||
_In_ HANDLE DirectoryHandle,
|
||||
_Out_ PVOID Buffer,
|
||||
_In_ ULONG BufferLength,
|
||||
_In_ BOOLEAN ReturnSingleEntry,
|
||||
_In_ BOOLEAN RestartScan,
|
||||
_Inout_ PULONG Context,
|
||||
_Out_opt_ PULONG ReturnLength
|
||||
);
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwQueryInformationProcess (
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_In_ PROCESSINFOCLASS ProcessInformationClass,
|
||||
_Out_ PVOID ProcessInformation,
|
||||
_In_ ULONG ProcessInformationLength,
|
||||
_Out_opt_ PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwReplaceKey (
|
||||
_In_ POBJECT_ATTRIBUTES NewFileObjectAttributes,
|
||||
_In_ HANDLE KeyHandle,
|
||||
_In_ POBJECT_ATTRIBUTES OldFileObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwResetEvent (
|
||||
_In_ HANDLE EventHandle,
|
||||
_Out_opt_ PLONG NumberOfWaitingThreads
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwRestoreKey (
|
||||
_In_ HANDLE KeyHandle,
|
||||
_In_ HANDLE FileHandle,
|
||||
_In_ ULONG Flags
|
||||
);
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSaveKey (
|
||||
_In_ HANDLE KeyHandle,
|
||||
_In_ HANDLE FileHandle
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetDefaultLocale (
|
||||
_In_ BOOLEAN UserProfile,
|
||||
_In_ LCID DefaultLocaleId
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 2195)
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetDefaultUILanguage (
|
||||
_In_ LANGID LanguageId
|
||||
);
|
||||
#endif /* (VER_PRODUCTBUILD >= 2195) */
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetInformationProcess (
|
||||
_In_ HANDLE ProcessHandle,
|
||||
_In_ PROCESSINFOCLASS ProcessInformationClass,
|
||||
_In_ PVOID ProcessInformation,
|
||||
_In_ ULONG ProcessInformationLength
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwSetSystemTime (
|
||||
_In_ PLARGE_INTEGER NewTime,
|
||||
_Out_opt_ PLARGE_INTEGER OldTime
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwUnloadKey (
|
||||
_In_ POBJECT_ATTRIBUTES KeyObjectAttributes
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwWaitForMultipleObjects (
|
||||
_In_ ULONG HandleCount,
|
||||
_In_ PHANDLE Handles,
|
||||
_In_ WAIT_TYPE WaitType,
|
||||
_In_ BOOLEAN Alertable,
|
||||
_In_opt_ PLARGE_INTEGER Timeout
|
||||
);
|
||||
|
||||
NTSYSAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ZwYieldExecution (
|
||||
VOID
|
||||
);
|
||||
|
||||
$endif (_NTIFS_)
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
|
||||
|
||||
|
|
Loading…
Reference in a new issue