ReactOS  0.4.15-dev-1070-ge1a01de
rtlfuncs.h File Reference
#include <umtypes.h>
#include <ntnls.h>
#include <rtltypes.h>
#include <pstypes.h>
#include <extypes.h>
#include "in6addr.h"
#include "inaddr.h"
Include dependency graph for rtlfuncs.h:

Go to the source code of this file.

Macros

#define RTL_STACK_WALKING_MODE_FRAMES_TO_SKIP_SHIFT   8
 
#define NtCurrentPeb()   (NtCurrentTeb()->ProcessEnvironmentBlock)
 
#define RTL_SKIP_BUFFER_COPY   0x00000001
 
#define RTL_UNCHANGED_UNK_PATH   1
 
#define RTL_CONVERTED_UNC_PATH   2
 
#define RTL_CONVERTED_NT_PATH   3
 
#define RTL_UNCHANGED_DOS_PATH   4
 

Functions

NTSYSAPI VOID NTAPI RtlCaptureContext (_Out_ PCONTEXT ContextRecord)
 
NTSYSAPI BOOLEAN NTAPI RtlDispatchException (_In_ PEXCEPTION_RECORD ExceptionRecord, _In_ PCONTEXT Context)
 
 _IRQL_requires_max_ (APC_LEVEL) _When_(Status< 0
 
 _Out_range_ (>, 0)) _When_(Status >=0
 
 _When_ (Status< 0, _Out_range_(>, 0)) _When_(Status >=0
 
NTSYSAPI NTSTATUS NTAPI RtlMapSecurityErrorToNtStatus (_In_ ULONG SecurityError)
 
NTSYSAPI VOID NTAPI RtlRaiseException (_In_ PEXCEPTION_RECORD ExceptionRecord)
 
DECLSPEC_NORETURN NTSYSAPI VOID NTAPI RtlRaiseStatus (_In_ NTSTATUS Status)
 
NTSYSAPI VOID NTAPI RtlUnwind (_In_opt_ PVOID TargetFrame, _In_opt_ PVOID TargetIp, _In_opt_ PEXCEPTION_RECORD ExceptionRecord, _In_ PVOID ReturnValue)
 
NTSYSAPI ULONG NTAPI RtlWalkFrameChain (_Out_writes_(Count -(Flags >> RTL_STACK_WALKING_MODE_FRAMES_TO_SKIP_SHIFT)) PVOID *Callers, _In_ ULONG Count, _In_ ULONG Flags)
 
NTSYSAPI USHORT NTAPI RtlLogStackBackTrace (VOID)
 
NTSYSAPI SIZE_T NTAPI RtlSizeHeap (_In_ PVOID HeapHandle, _In_ ULONG Flags, _In_ PVOID MemoryPointer)
 
NTSYSAPI NTSTATUS NTAPI RtlAddAccessAllowedObjectAce (_Inout_ PACL pAcl, _In_ ULONG dwAceRevision, _In_ ULONG AceFlags, _In_ ACCESS_MASK AccessMask, _In_opt_ GUID *ObjectTypeGuid, _In_opt_ GUID *InheritedObjectTypeGuid, _In_ PSID pSid)
 
NTSYSAPI NTSTATUS NTAPI RtlAddAccessDeniedAce (_Inout_ PACL Acl, _In_ ULONG Revision, _In_ ACCESS_MASK AccessMask, _In_ PSID Sid)
 
NTSYSAPI NTSTATUS NTAPI RtlAddAccessDeniedAceEx (_Inout_ PACL Acl, _In_ ULONG Revision, _In_ ULONG Flags, _In_ ACCESS_MASK AccessMask, _In_ PSID Sid)
 
NTSYSAPI NTSTATUS NTAPI RtlAddAccessDeniedObjectAce (_Inout_ PACL pAcl, _In_ ULONG dwAceRevision, _In_ ULONG AceFlags, _In_ ACCESS_MASK AccessMask, _In_opt_ GUID *ObjectTypeGuid, _In_opt_ GUID *InheritedObjectTypeGuid, _In_ PSID pSid)
 
NTSYSAPI NTSTATUS NTAPI RtlAddAce (_Inout_ PACL Acl, _In_ ULONG AceRevision, _In_ ULONG StartingAceIndex, _In_reads_bytes_(AceListLength) PVOID AceList, _In_ ULONG AceListLength)
 
NTSYSAPI NTSTATUS NTAPI RtlAddAuditAccessAce (_Inout_ PACL Acl, _In_ ULONG Revision, _In_ ACCESS_MASK AccessMask, _In_ PSID Sid, _In_ BOOLEAN Success, _In_ BOOLEAN Failure)
 
NTSYSAPI NTSTATUS NTAPI RtlAcquirePrivilege (_In_ PULONG Privilege, _In_ ULONG NumPriv, _In_ ULONG Flags, _Out_ PVOID *ReturnedState)
 
NTSYSAPI NTSTATUS NTAPI RtlAddAuditAccessAceEx (_Inout_ PACL Acl, _In_ ULONG Revision, _In_ ULONG Flags, _In_ ACCESS_MASK AccessMask, _In_ PSID Sid, _In_ BOOLEAN Success, _In_ BOOLEAN Failure)
 
NTSYSAPI NTSTATUS NTAPI RtlAddAuditAccessObjectAce (_Inout_ PACL Acl, _In_ ULONG Revision, _In_ ULONG Flags, _In_ ACCESS_MASK AccessMask, _In_opt_ GUID *ObjectTypeGuid, _In_opt_ GUID *InheritedObjectTypeGuid, _In_ PSID Sid, _In_ BOOLEAN Success, _In_ BOOLEAN Failure)
 
NTSYSAPI NTSTATUS NTAPI RtlAddMandatoryAce (_Inout_ PACL Acl, _In_ ULONG Revision, _In_ ULONG Flags, _In_ ULONG MandatoryFlags, _In_ UCHAR AceType, _In_ PSID LabelSid)
 
NTSYSAPI NTSTATUS NTAPI RtlAdjustPrivilege (_In_ ULONG Privilege, _In_ BOOLEAN NewValue, _In_ BOOLEAN ForThread, _Out_ PBOOLEAN OldValue)
 
_Must_inspect_result_ NTSYSAPI NTSTATUS NTAPI RtlAllocateAndInitializeSid (_In_ PSID_IDENTIFIER_AUTHORITY IdentifierAuthority, _In_ UCHAR SubAuthorityCount, _In_ ULONG SubAuthority0, _In_ ULONG SubAuthority1, _In_ ULONG SubAuthority2, _In_ ULONG SubAuthority3, _In_ ULONG SubAuthority4, _In_ ULONG SubAuthority5, _In_ ULONG SubAuthority6, _In_ ULONG SubAuthority7, _Outptr_ PSID *Sid)
 
NTSYSAPI BOOLEAN NTAPI RtlAreAllAccessesGranted (ACCESS_MASK GrantedAccess, ACCESS_MASK DesiredAccess)
 
NTSYSAPI BOOLEAN NTAPI RtlAreAnyAccessesGranted (ACCESS_MASK GrantedAccess, ACCESS_MASK DesiredAccess)
 
NTSYSAPI VOID NTAPI RtlCopyLuidAndAttributesArray (ULONG Count, PLUID_AND_ATTRIBUTES Src, PLUID_AND_ATTRIBUTES Dest)
 
NTSYSAPI NTSTATUS NTAPI RtlCopySidAndAttributesArray (_In_ ULONG Count, _In_ PSID_AND_ATTRIBUTES Src, _In_ ULONG SidAreaSize, _In_ PSID_AND_ATTRIBUTES Dest, _In_ PSID SidArea, _Out_ PSID *RemainingSidArea, _Out_ PULONG RemainingSidAreaSize)
 
 _Out_writes_bytes_ (DestinationSidLength) PSID DestinationSid
 
NTSYSAPI NTSTATUS NTAPI RtlCreateAcl (PACL Acl, ULONG AclSize, ULONG AclRevision)
 
NTSYSAPI NTSTATUS NTAPI RtlCreateSecurityDescriptor (_Out_ PSECURITY_DESCRIPTOR SecurityDescriptor, _In_ ULONG Revision)
 
NTSYSAPI NTSTATUS NTAPI RtlCreateSecurityDescriptorRelative (_Out_ PISECURITY_DESCRIPTOR_RELATIVE SecurityDescriptor, _In_ ULONG Revision)
 
NTSYSAPI NTSTATUS NTAPI RtlCopySecurityDescriptor (_In_ PSECURITY_DESCRIPTOR pSourceSecurityDescriptor, _Out_ PSECURITY_DESCRIPTOR *pDestinationSecurityDescriptor)
 
NTSYSAPI NTSTATUS NTAPI RtlDeleteAce (PACL Acl, ULONG AceIndex)
 
NTSYSAPI BOOLEAN NTAPI RtlEqualPrefixSid (PSID Sid1, PSID Sid2)
 
NTSYSAPI BOOLEAN NTAPI RtlEqualSid (_In_ PSID Sid1, _In_ PSID Sid2)
 
NTSYSAPI BOOLEAN NTAPI RtlFirstFreeAce (PACL Acl, PACE *Ace)
 
NTSYSAPI PVOID NTAPI RtlFreeSid (_In_ _Post_invalid_ PSID Sid)
 
NTSYSAPI NTSTATUS NTAPI RtlGetAce (PACL Acl, ULONG AceIndex, PVOID *Ace)
 
NTSYSAPI NTSTATUS NTAPI RtlGetControlSecurityDescriptor (_In_ PSECURITY_DESCRIPTOR SecurityDescriptor, _Out_ PSECURITY_DESCRIPTOR_CONTROL Control, _Out_ PULONG Revision)
 
NTSYSAPI NTSTATUS NTAPI RtlGetDaclSecurityDescriptor (_In_ PSECURITY_DESCRIPTOR SecurityDescriptor, _Out_ PBOOLEAN DaclPresent, _Out_ PACL *Dacl, _Out_ PBOOLEAN DaclDefaulted)
 
NTSYSAPI NTSTATUS NTAPI RtlGetSaclSecurityDescriptor (_In_ PSECURITY_DESCRIPTOR SecurityDescriptor, _Out_ PBOOLEAN SaclPresent, _Out_ PACL *Sacl, _Out_ PBOOLEAN SaclDefaulted)
 
NTSYSAPI NTSTATUS NTAPI RtlGetGroupSecurityDescriptor (_In_ PSECURITY_DESCRIPTOR SecurityDescriptor, _Out_ PSID *Group, _Out_ PBOOLEAN GroupDefaulted)
 
NTSYSAPI NTSTATUS NTAPI RtlGetOwnerSecurityDescriptor (_In_ PSECURITY_DESCRIPTOR SecurityDescriptor, _Out_ PSID *Owner, _Out_ PBOOLEAN OwnerDefaulted)
 
NTSYSAPI BOOLEAN NTAPI RtlGetSecurityDescriptorRMControl (_In_ PSECURITY_DESCRIPTOR SecurityDescriptor, _Out_ PUCHAR RMControl)
 
NTSYSAPI PSID_IDENTIFIER_AUTHORITY NTAPI RtlIdentifierAuthoritySid (PSID Sid)
 
NTSYSAPI NTSTATUS NTAPI RtlImpersonateSelf (IN SECURITY_IMPERSONATION_LEVEL ImpersonationLevel)
 
NTSYSAPI ULONG NTAPI RtlLengthRequiredSid (IN ULONG SubAuthorityCount)
 
NTSYSAPI ULONG NTAPI RtlLengthSid (IN PSID Sid)
 
NTSYSAPI NTSTATUS NTAPI RtlMakeSelfRelativeSD (_In_ PSECURITY_DESCRIPTOR AbsoluteSD, _Out_ PSECURITY_DESCRIPTOR SelfRelativeSD, _Inout_ PULONG BufferLength)
 
NTSYSAPI VOID NTAPI RtlMapGenericMask (PACCESS_MASK AccessMask, PGENERIC_MAPPING GenericMapping)
 
NTSYSAPI VOID NTAPI RtlReleasePrivilege (_In_ PVOID ReturnedState)
 
NTSYSAPI NTSTATUS NTAPI RtlSelfRelativeToAbsoluteSD2 (_Inout_ PSECURITY_DESCRIPTOR SelfRelativeSD, _Out_ PULONG BufferSize)
 
NTSYSAPI NTSTATUS NTAPI RtlSetAttributesSecurityDescriptor (_Inout_ PSECURITY_DESCRIPTOR SecurityDescriptor, _In_ SECURITY_DESCRIPTOR_CONTROL Control, _Out_ PULONG Revision)
 
NTSYSAPI NTSTATUS NTAPI RtlSetControlSecurityDescriptor (_In_ PSECURITY_DESCRIPTOR SecurityDescriptor, _In_ SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest, _In_ SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet)
 
NTSYSAPI NTSTATUS NTAPI RtlSetSaclSecurityDescriptor (_Inout_ PSECURITY_DESCRIPTOR SecurityDescriptor, _In_ BOOLEAN SaclPresent, _In_ PACL Sacl, _In_ BOOLEAN SaclDefaulted)
 
NTSYSAPI VOID NTAPI RtlSetSecurityDescriptorRMControl (_Inout_ PSECURITY_DESCRIPTOR SecurityDescriptor, _In_ PUCHAR RMControl)
 
NTSYSAPI PUCHAR NTAPI RtlSubAuthorityCountSid (_In_ PSID Sid)
 
NTSYSAPI PULONG NTAPI RtlSubAuthoritySid (_In_ PSID Sid, _In_ ULONG SubAuthority)
 
NTSYSAPI BOOLEAN NTAPI RtlValidSecurityDescriptor (IN PSECURITY_DESCRIPTOR SecurityDescriptor)
 
NTSYSAPI BOOLEAN NTAPI RtlValidSid (IN PSID Sid)
 
NTSYSAPI BOOLEAN NTAPI RtlValidAcl (PACL Acl)
 
NTSYSAPI NTSTATUS NTAPI RtlDeleteSecurityObject (_In_ PSECURITY_DESCRIPTOR *ObjectDescriptor)
 
NTSYSAPI NTSTATUS NTAPI RtlNewSecurityObject (_In_ PSECURITY_DESCRIPTOR ParentDescriptor, _In_ PSECURITY_DESCRIPTOR CreatorDescriptor, _Out_ PSECURITY_DESCRIPTOR *NewDescriptor, _In_ BOOLEAN IsDirectoryObject, _In_ HANDLE Token, _In_ PGENERIC_MAPPING GenericMapping)
 
NTSYSAPI NTSTATUS NTAPI RtlQuerySecurityObject (_In_ PSECURITY_DESCRIPTOR ObjectDescriptor, _In_ SECURITY_INFORMATION SecurityInformation, _Out_ PSECURITY_DESCRIPTOR ResultantDescriptor, _In_ ULONG DescriptorLength, _Out_ PULONG ReturnLength)
 
NTSYSAPI NTSTATUS NTAPI RtlSetSecurityObject (_In_ SECURITY_INFORMATION SecurityInformation, _In_ PSECURITY_DESCRIPTOR ModificationDescriptor, _Out_ PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, _In_ PGENERIC_MAPPING GenericMapping, _In_ HANDLE Token)
 
NTSYSAPI NTSTATUS NTAPI RtlLargeIntegerToChar (_In_ PLARGE_INTEGER Value, _In_ ULONG Base, _In_ ULONG Length, _Out_ PCHAR String)
 
NTSYSAPI CHAR NTAPI RtlUpperChar (CHAR Source)
 
NTSYSAPI WCHAR NTAPI RtlUpcaseUnicodeChar (WCHAR Source)
 
NTSYSAPI WCHAR NTAPI RtlDowncaseUnicodeChar (IN WCHAR Source)
 
NTSYSAPI NTSTATUS NTAPI RtlIntegerToChar (_In_ ULONG Value, _In_ ULONG Base, _In_ ULONG Length, _Out_ PCHAR String)
 
NTSYSAPI NTSTATUS NTAPI RtlIntegerToUnicode (_In_ ULONG Value, _In_opt_ ULONG Base, _In_opt_ ULONG Length, _Inout_ LPWSTR String)
 
 _IRQL_requires_max_ (PASSIVE_LEVEL) _At_(String -> MaximumLength, _Const_) NTSYSAPI NTSTATUS NTAPI RtlIntegerToUnicodeString(_In_ ULONG Value, _In_opt_ ULONG Base, _Inout_ PUNICODE_STRING String)
 
NTSYSAPI NTSTATUS NTAPI RtlCharToInteger (PCSZ String, ULONG Base, PULONG Value)
 
NTSYSAPI ULONG NTAPI RtlxUnicodeStringToAnsiSize (IN PCUNICODE_STRING UnicodeString)
 
NTSYSAPI NTSTATUS NTAPI RtlUnicodeStringToAnsiString (PANSI_STRING DestinationString, PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
 
NTSYSAPI NTSTATUS NTAPI RtlUpcaseUnicodeStringToOemString (POEM_STRING DestinationString, PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
 
_Out_ _At_ (DestinationString->Buffer, __drv_allocatesMem(Mem))) _When_(!AllocateDestinationString
 
NTSYSAPI NTSTATUS NTAPI RtlUnicodeStringToOemString (POEM_STRING DestinationString, PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
 
NTSYSAPI NTSTATUS NTAPI RtlUpcaseUnicodeToOemN (PCHAR OemString, ULONG OemSize, PULONG ResultSize, PCWCH UnicodeString, ULONG UnicodeSize)
 
NTSYSAPI ULONG NTAPI RtlxUnicodeStringToOemSize (IN PCUNICODE_STRING UnicodeString)
 
NTSYSAPI NTSTATUS NTAPI RtlUnicodeToOemN (PCHAR OemString, ULONG OemSize, PULONG ResultSize, PCWCH UnicodeString, ULONG UnicodeSize)
 
NTSYSAPI NTSTATUS NTAPI RtlUnicodeToMultiByteN (PCHAR MbString, ULONG MbSize, PULONG ResultSize, PCWCH UnicodeString, ULONG UnicodeSize)
 
NTSYSAPI NTSTATUS NTAPI RtlUpcaseUnicodeToMultiByteN (PCHAR MbString, ULONG MbSize, PULONG ResultSize, PCWCH UnicodeString, ULONG UnicodeSize)
 
NTSYSAPI NTSTATUS NTAPI RtlUnicodeToMultiByteSize (PULONG MbSize, PCWCH UnicodeString, ULONG UnicodeSize)
 
NTSYSAPI ULONG NTAPI RtlxOemStringToUnicodeSize (IN PCOEM_STRING OemString)
 
NTSYSAPI NTSTATUS NTAPI RtlOemStringToUnicodeString (PUNICODE_STRING DestinationString, PCOEM_STRING SourceString, BOOLEAN AllocateDestinationString)
 
*BytesInUnicodeString PWCH _In_ ULONG _Out_opt_ PULONG _In_reads_bytes_ (BytesInOemString) PCCH OemString
 
NTSYSAPI NTSTATUS NTAPI RtlAnsiStringToUnicodeString (PUNICODE_STRING DestinationString, PCANSI_STRING SourceString, BOOLEAN AllocateDestinationString)
 
NTSYSAPI ULONG NTAPI RtlxAnsiStringToUnicodeSize (PCANSI_STRING AnsiString)
 
NTSYSAPI BOOLEAN NTAPI RtlCreateUnicodeStringFromAsciiz (_Out_ PUNICODE_STRING Destination, _In_ PCSZ Source)
 
NTSYSAPI NTSTATUS NTAPI RtlAppendUnicodeToString (PUNICODE_STRING Destination, PCWSTR Source)
 
NTSYSAPI NTSTATUS NTAPI RtlAppendUnicodeStringToString (PUNICODE_STRING Destination, PCUNICODE_STRING Source)
 
NTSYSAPI LONG NTAPI RtlCompareUnicodeString (PCUNICODE_STRING String1, PCUNICODE_STRING String2, BOOLEAN CaseInsensitive)
 
NTSYSAPI VOID NTAPI RtlCopyUnicodeString (PUNICODE_STRING DestinationString, PCUNICODE_STRING SourceString)
 
NTSYSAPI BOOLEAN NTAPI RtlCreateUnicodeString (PUNICODE_STRING DestinationString, PCWSTR SourceString)
 
NTSYSAPI BOOLEAN NTAPI RtlEqualUnicodeString (PCUNICODE_STRING String1, PCUNICODE_STRING String2, BOOLEAN CaseInsensitive)
 
NTSYSAPI VOID NTAPI RtlEraseUnicodeString (_Inout_ PUNICODE_STRING String)
 
NTSYSAPI NTSTATUS NTAPI RtlHashUnicodeString (_In_ CONST UNICODE_STRING *String, _In_ BOOLEAN CaseInSensitive, _In_ ULONG HashAlgorithm, _Out_ PULONG HashValue)
 
 _IRQL_requires_max_ (DISPATCH_LEVEL) _At_(DestinationString -> Buffer, _Post_equal_to_(SourceString)) _When_(SourceString !=NULL, _At_(DestinationString->Length, _Post_equal_to_(_String_length_(SourceString))) _At_(DestinationString->MaximumLength, _Post_equal_to_(DestinationString->Length+sizeof(CHAR)))) _When_(SourceString==NULL, _At_(DestinationString->Length, _Post_equal_to_(0)) _At_(DestinationString->MaximumLength, _Post_equal_to_(0))) NTSYSAPI VOID NTAPI RtlInitString(_Out_ PSTRING DestinationString, _In_opt_z_ __drv_aliasesMem PCSTR SourceString)
 
NTSYSAPI BOOLEAN NTAPI RtlIsTextUnicode (_In_ CONST VOID *Buffer, _In_ INT Size, _Inout_opt_ INT *Flags)
 
NTSYSAPI VOID NTAPI RtlCopyString (_Out_ PSTRING DestinationString, _In_opt_ const STRING *SourceString)
 
_Must_inspect_result_ NTSYSAPI NTSTATUS NTAPI RtlUpcaseUnicodeString (_When_(AllocateDestinationString, _Out_ _At_(DestinationString->Buffer, __drv_allocatesMem(Mem))) _When_(!AllocateDestinationString, _Inout_) PUNICODE_STRING DestinationString, _In_ PCUNICODE_STRING SourceString, _In_ BOOLEAN AllocateDestinationString)
 
NTSYSAPI NTSTATUS NTAPI RtlValidateUnicodeString (_In_ ULONG Flags, _In_ PCUNICODE_STRING String)
 
NTSYSAPI NTSTATUS NTAPI RtlpEnsureBufferSize (_In_ ULONG Flags, _Inout_ PRTL_BUFFER Buffer, _In_ SIZE_T RequiredSize)
 
*BytesInUnicodeString PWCH _In_ ULONG _Out_opt_ PULONG _In_reads_bytes_ (BytesInMultiByteString) const CHAR *MultiByteString
 
NTSYSAPI NTSTATUS NTAPI RtlAddAtomToAtomTable (_In_ PRTL_ATOM_TABLE AtomTable, _In_ PWSTR AtomName, _Out_ PRTL_ATOM Atom)
 
NTSYSAPI NTSTATUS NTAPI RtlCreateAtomTable (_In_ ULONG TableSize, _Inout_ PRTL_ATOM_TABLE *AtomTable)
 
NTSYSAPI NTSTATUS NTAPI RtlDeleteAtomFromAtomTable (_In_ PRTL_ATOM_TABLE AtomTable, _In_ RTL_ATOM Atom)
 
NTSYSAPI NTSTATUS NTAPI RtlDestroyAtomTable (IN PRTL_ATOM_TABLE AtomTable)
 
NTSYSAPI NTSTATUS NTAPI RtlQueryAtomInAtomTable (_In_ PRTL_ATOM_TABLE AtomTable, _In_ RTL_ATOM Atom, _Out_opt_ PULONG RefCount, _Out_opt_ PULONG PinCount, _Out_opt_z_bytecap_(*NameLength) PWSTR AtomName, _Inout_opt_ PULONG NameLength)
 
NTSYSAPI NTSTATUS NTAPI RtlPinAtomInAtomTable (_In_ PRTL_ATOM_TABLE AtomTable, _In_ RTL_ATOM Atom)
 
NTSYSAPI NTSTATUS NTAPI RtlLookupAtomInAtomTable (_In_ PRTL_ATOM_TABLE AtomTable, _In_ PWSTR AtomName, _Out_ PRTL_ATOM Atom)
 
NTSYSAPI PPEB NTAPI RtlGetCurrentPeb (VOID)
 
NTSYSAPI VOID NTAPI RtlAcquirePebLock (VOID)
 
NTSYSAPI NTSTATUS NTAPI RtlCreateProcessParameters (_Out_ PRTL_USER_PROCESS_PARAMETERS *ProcessParameters, _In_ PUNICODE_STRING ImagePathName, _In_opt_ PUNICODE_STRING DllPath, _In_opt_ PUNICODE_STRING CurrentDirectory, _In_opt_ PUNICODE_STRING CommandLine, _In_opt_ PWSTR Environment, _In_opt_ PUNICODE_STRING WindowTitle, _In_opt_ PUNICODE_STRING DesktopInfo, _In_opt_ PUNICODE_STRING ShellInfo, _In_opt_ PUNICODE_STRING RuntimeInfo)
 
NTSYSAPI NTSTATUS NTAPI RtlCreateUserProcess (_In_ PUNICODE_STRING ImageFileName, _In_ ULONG Attributes, _In_ PRTL_USER_PROCESS_PARAMETERS ProcessParameters, _In_opt_ PSECURITY_DESCRIPTOR ProcessSecutityDescriptor, _In_opt_ PSECURITY_DESCRIPTOR ThreadSecurityDescriptor, _In_opt_ HANDLE ParentProcess, _In_ BOOLEAN CurrentDirectory, _In_opt_ HANDLE DebugPort, _In_opt_ HANDLE ExceptionPort, _Out_ PRTL_USER_PROCESS_INFORMATION ProcessInfo)
 
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)
 
NTSYSAPI PRTL_USER_PROCESS_PARAMETERS NTAPI RtlDeNormalizeProcessParams (_In_ PRTL_USER_PROCESS_PARAMETERS ProcessParameters)
 
NTSYSAPI NTSTATUS NTAPI RtlDestroyProcessParameters (_In_ PRTL_USER_PROCESS_PARAMETERS ProcessParameters)
 
NTSYSAPI VOID NTAPI RtlExitUserThread (_In_ NTSTATUS Status)
 
NTSYSAPI VOID NTAPI RtlInitializeContext (_In_ HANDLE ProcessHandle, _Out_ PCONTEXT ThreadContext, _In_opt_ PVOID ThreadStartParam, _In_ PTHREAD_START_ROUTINE ThreadStartAddress, _In_ PINITIAL_TEB InitialTeb)
 
NTSYSAPI BOOLEAN NTAPI RtlIsThreadWithinLoaderCallout (VOID)
 
NTSYSAPI PRTL_USER_PROCESS_PARAMETERS NTAPI RtlNormalizeProcessParams (_In_ PRTL_USER_PROCESS_PARAMETERS ProcessParameters)
 
NTSYSAPI VOID NTAPI RtlReleasePebLock (VOID)
 
NTSYSAPI NTSTATUS NTAPI RtlRemoteCall (_In_ HANDLE Process, _In_ HANDLE Thread, _In_ PVOID CallSite, _In_ ULONG ArgumentCount, _In_ PULONG Arguments, _In_ BOOLEAN PassContext, _In_ BOOLEAN AlreadySuspended)
 
NTSYSAPI NTSTATUS __cdecl RtlSetProcessIsCritical (_In_ BOOLEAN NewValue, _Out_opt_ PBOOLEAN OldValue, _In_ BOOLEAN NeedBreaks)
 
NTSYSAPI NTSTATUS __cdecl RtlSetThreadIsCritical (_In_ BOOLEAN NewValue, _Out_opt_ PBOOLEAN OldValue, _In_ BOOLEAN NeedBreaks)
 
NTSYSAPI ULONG NTAPI RtlGetCurrentProcessorNumber (VOID)
 
NTSTATUS NTAPI RtlSetThreadPoolStartFunc (_In_ PRTL_START_POOL_THREAD StartPoolThread, _In_ PRTL_EXIT_POOL_THREAD ExitPoolThread)
 
NTSYSAPI NTSTATUS NTAPI RtlDeregisterWaitEx (_In_ HANDLE hWaitHandle, _In_opt_ HANDLE hCompletionEvent)
 
NTSYSAPI NTSTATUS NTAPI RtlDeregisterWait (_In_ HANDLE hWaitHandle)
 
NTSYSAPI NTSTATUS NTAPI RtlQueueWorkItem (_In_ WORKERCALLBACKFUNC Function, _In_opt_ PVOID Context, _In_ ULONG Flags)
 
NTSYSAPI NTSTATUS NTAPI RtlSetIoCompletionCallback (_In_ HANDLE FileHandle, _In_ PIO_APC_ROUTINE Callback, _In_ ULONG Flags)
 
NTSYSAPI NTSTATUS NTAPI RtlRegisterWait (_In_ PHANDLE phNewWaitObject, _In_ HANDLE hObject, _In_ WAITORTIMERCALLBACKFUNC Callback, _In_ PVOID pvContext, _In_ ULONG ulMilliseconds, _In_ ULONG ulFlags)
 
NTSYSAPI NTSTATUS NTAPI RtlCreateEnvironment (_In_ BOOLEAN Inherit, _Out_ PWSTR *Environment)
 
NTSYSAPI NTSTATUS NTAPI RtlComputePrivatizedDllName_U (_In_ PUNICODE_STRING DllName, _Inout_ PUNICODE_STRING RealName, _Inout_ PUNICODE_STRING LocalName)
 
NTSYSAPI VOID NTAPI RtlDestroyEnvironment (_In_ PWSTR Environment)
 
NTSYSAPI BOOLEAN NTAPI RtlDoesFileExists_U (_In_ PCWSTR FileName)
 
NTSYSAPI RTL_PATH_TYPE NTAPI RtlDetermineDosPathNameType_U (_In_ PCWSTR Path)
 
NTSYSAPI ULONG NTAPI RtlDosSearchPath_U (_In_ PCWSTR Path, _In_ PCWSTR FileName, _In_ PCWSTR Extension, _In_ ULONG BufferSize, _Out_ PWSTR Buffer, _Out_ PWSTR *PartName)
 
NTSYSAPI NTSTATUS NTAPI RtlDosSearchPath_Ustr (_In_ ULONG Flags, _In_ PUNICODE_STRING PathString, _In_ PUNICODE_STRING FileNameString, _In_ PUNICODE_STRING ExtensionString, _In_ PUNICODE_STRING CallerBuffer, _Inout_opt_ PUNICODE_STRING DynamicString, _Out_opt_ PUNICODE_STRING *FullNameOut, _Out_opt_ PSIZE_T FilePartSize, _Out_opt_ PSIZE_T LengthNeeded)
 
NTSYSAPI BOOLEAN NTAPI RtlDosPathNameToNtPathName_U (_In_opt_z_ PCWSTR DosPathName, _Out_ PUNICODE_STRING NtPathName, _Out_opt_ PCWSTR *NtFileNamePart, _Out_opt_ PRTL_RELATIVE_NAME_U DirectoryInfo)
 
NTSYSAPI NTSTATUS NTAPI RtlNtPathNameToDosPathName (_In_ ULONG Flags, _Inout_ PRTL_UNICODE_STRING_BUFFER Path, _Out_opt_ PULONG PathType, _Out_opt_ PULONG Unknown)
 
NTSYSAPI BOOLEAN NTAPI RtlDosPathNameToRelativeNtPathName_U (_In_ PCWSTR DosName, _Out_ PUNICODE_STRING NtName, _Out_ PCWSTR *PartName, _Out_ PRTL_RELATIVE_NAME_U RelativeName)
 
 _At_ (Destination->Buffer, _Out_bytecap_(Destination->MaximumLength)) NTSYSAPI NTSTATUS NTAPI RtlExpandEnvironmentStrings_U(_In_z_ PWSTR Environment
 
NTSYSAPI ULONG NTAPI RtlGetCurrentDirectory_U (_In_ ULONG MaximumLength, _Out_bytecap_(MaximumLength) PWSTR Buffer)
 
NTSYSAPI ULONG NTAPI RtlGetFullPathName_U (_In_ PCWSTR FileName, _In_ ULONG Size, _Out_z_bytecap_(Size) PWSTR Buffer, _Out_opt_ PWSTR *ShortName)
 
NTSYSAPI NTSTATUS NTAPI RtlGetFullPathName_UEx (_In_ PWSTR FileName, _In_ ULONG BufferLength, _Out_ PWSTR Buffer, _Out_opt_ PWSTR *FilePart, _Out_opt_ RTL_PATH_TYPE *InputPathType)
 
NTSTATUS NTAPI RtlGetFullPathName_UstrEx (_In_ PUNICODE_STRING FileName, _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_opt_ PSIZE_T LengthNeeded)
 
NTSYSAPI NTSTATUS NTAPI RtlGetLengthWithoutTrailingPathSeperators (_Reserved_ ULONG Flags, _In_ PCUNICODE_STRING PathString, _Out_ PULONG Length)
 
NTSYSAPI ULONG NTAPI RtlGetLongestNtPathLength (VOID)
 
NTSYSAPI ULONG NTAPI RtlIsDosDeviceName_U (_In_ PCWSTR Name)
 
NTSYSAPI ULONG NTAPI RtlIsDosDeviceName_Ustr (_In_ PCUNICODE_STRING Name)
 
NTSYSAPI NTSTATUS NTAPI RtlQueryEnvironmentVariable_U (_In_opt_ PWSTR Environment, _In_ PCUNICODE_STRING Name, _Out_ PUNICODE_STRING Value)
 
VOID NTAPI RtlReleaseRelativeName (_In_ PRTL_RELATIVE_NAME_U RelativeName)
 
NTSYSAPI NTSTATUS NTAPI RtlSetCurrentDirectory_U (_In_ PUNICODE_STRING name)
 
NTSYSAPI NTSTATUS NTAPI RtlSetEnvironmentVariable (_In_z_ PWSTR *Environment, _In_ PUNICODE_STRING Name, _In_ PUNICODE_STRING Value)
 
NTSYSAPI NTSTATUS NTAPI RtlDeleteCriticalSection (_In_ PRTL_CRITICAL_SECTION CriticalSection)
 
NTSYSAPI NTSTATUS NTAPI RtlEnterCriticalSection (_In_ PRTL_CRITICAL_SECTION CriticalSection)
 
NTSYSAPI NTSTATUS NTAPI RtlInitializeCriticalSection (_In_ PRTL_CRITICAL_SECTION CriticalSection)
 
NTSYSAPI NTSTATUS NTAPI RtlInitializeCriticalSectionAndSpinCount (_In_ PRTL_CRITICAL_SECTION CriticalSection, _In_ ULONG SpinCount)
 
NTSYSAPI ULONG NTAPI RtlIsCriticalSectionLocked (_In_ PRTL_CRITICAL_SECTION CriticalSection)
 
NTSYSAPI ULONG NTAPI RtlIsCriticalSectionLockedByThread (_In_ PRTL_CRITICAL_SECTION CriticalSection)
 
NTSYSAPI NTSTATUS NTAPI RtlLeaveCriticalSection (_In_ PRTL_CRITICAL_SECTION CriticalSection)
 
NTSYSAPI BOOLEAN NTAPI RtlTryEnterCriticalSection (_In_ PRTL_CRITICAL_SECTION CriticalSection)
 
NTSYSAPI VOID NTAPI RtlpUnWaitCriticalSection (_In_ PRTL_CRITICAL_SECTION CriticalSection)
 
NTSYSAPI NTSTATUS NTAPI RtlpWaitForCriticalSection (_In_ PRTL_CRITICAL_SECTION CriticalSection)
 
NTSYSAPI BOOLEAN NTAPI RtlAcquireResourceExclusive (_In_ PRTL_RESOURCE Resource, _In_ BOOLEAN Wait)
 
NTSYSAPI BOOLEAN NTAPI RtlAcquireResourceShared (_In_ PRTL_RESOURCE Resource, _In_ BOOLEAN Wait)
 
NTSYSAPI VOID NTAPI RtlConvertExclusiveToShared (_In_ PRTL_RESOURCE Resource)
 
NTSYSAPI VOID NTAPI RtlConvertSharedToExclusive (_In_ PRTL_RESOURCE Resource)
 
NTSYSAPI VOID NTAPI RtlDeleteResource (_In_ PRTL_RESOURCE Resource)
 
NTSYSAPI VOID NTAPI RtlDumpResource (_In_ PRTL_RESOURCE Resource)
 
NTSYSAPI VOID NTAPI RtlInitializeResource (_In_ PRTL_RESOURCE Resource)
 
NTSYSAPI VOID NTAPI RtlReleaseResource (_In_ PRTL_RESOURCE Resource)
 
NTSYSAPI NTSTATUS NTAPI RtlCompressBuffer (_In_ USHORT CompressionFormatAndEngine, _In_reads_bytes_(UncompressedBufferSize) PUCHAR UncompressedBuffer, _In_ ULONG UncompressedBufferSize, _Out_writes_bytes_to_(CompressedBufferSize, *FinalCompressedSize) PUCHAR CompressedBuffer, _In_ ULONG CompressedBufferSize, _In_ ULONG UncompressedChunkSize, _Out_ PULONG FinalCompressedSize, _In_ PVOID WorkSpace)
 
 _Out_writes_bytes_to_ (UncompressedBufferSize, *FinalUncompressedSize) PUCHAR UncompressedBuffer
 
_In_ ULONG _In_reads_bytes_ (CompressedBufferSize) PUCHAR CompressedBuffer
 
NTSYSAPI NTSTATUS NTAPI RtlGetCompressionWorkSpaceSize (_In_ USHORT CompressionFormatAndEngine, _Out_ PULONG CompressBufferWorkSpaceSize, _Out_ PULONG CompressFragmentWorkSpaceSize)
 
NTSYSAPI VOID NTAPI RtlPopFrame (_In_ PTEB_ACTIVE_FRAME Frame)
 
NTSYSAPI VOID NTAPI RtlPushFrame (_In_ PTEB_ACTIVE_FRAME Frame)
 
NTSYSAPI PTEB_ACTIVE_FRAME NTAPI RtlGetFrame (VOID)
 
NTSYSAPI PRTL_DEBUG_INFORMATION NTAPI RtlCreateQueryDebugBuffer (_In_ ULONG Size, _In_ BOOLEAN EventPair)
 
NTSYSAPI NTSTATUS NTAPI RtlDestroyQueryDebugBuffer (IN PRTL_DEBUG_INFORMATION DebugBuffer)
 
NTSYSAPI NTSTATUS NTAPI RtlQueryProcessDebugInformation (_In_ ULONG ProcessId, _In_ ULONG DebugInfoClassMask, _Inout_ PRTL_DEBUG_INFORMATION DebugBuffer)
 
NTSYSAPI NTSTATUS NTAPI RtlCreateTimer (_In_ HANDLE TimerQueue, _In_ PHANDLE phNewTimer, _In_ WAITORTIMERCALLBACKFUNC Callback, _In_ PVOID Parameter, _In_ ULONG DueTime, _In_ ULONG Period, _In_ ULONG Flags)
 
NTSYSAPI NTSTATUS NTAPI RtlCreateTimerQueue (PHANDLE TimerQueue)
 
NTSYSAPI NTSTATUS NTAPI RtlDeleteTimer (_In_ HANDLE TimerQueue, _In_ HANDLE Timer, _In_ HANDLE CompletionEvent)
 
NTSYSAPI NTSTATUS NTAPI RtlUpdateTimer (_In_ HANDLE TimerQueue, _In_ HANDLE Timer, _In_ ULONG DueTime, _In_ ULONG Period)
 
NTSYSAPI NTSTATUS NTAPI RtlDeleteTimerQueueEx (_In_ HANDLE TimerQueue, _In_opt_ HANDLE CompletionEvent)
 
NTSYSAPI NTSTATUS NTAPI RtlDeleteTimerQueue (HANDLE TimerQueue)
 
PSLIST_ENTRY FASTCALL InterlockedPushListSList (_Inout_ PSLIST_HEADER ListHead, _Inout_ __drv_aliasesMem PSLIST_ENTRY List, _Inout_ PSLIST_ENTRY ListEnd, _In_ ULONG Count)
 
NTSYSAPI VOID NTAPI RtlInitializeRangeList (_Out_ PRTL_RANGE_LIST RangeList)
 
NTSYSAPI VOID NTAPI RtlFreeRangeList (_In_ PRTL_RANGE_LIST RangeList)
 
NTSYSAPI NTSTATUS NTAPI RtlCopyRangeList (_Out_ PRTL_RANGE_LIST CopyRangeList, _In_ PRTL_RANGE_LIST RangeList)
 
NTSYSAPI NTSTATUS NTAPI RtlMergeRangeLists (_Out_ PRTL_RANGE_LIST MergedRangeList, _In_ PRTL_RANGE_LIST RangeList1, _In_ PRTL_RANGE_LIST RangeList2, _In_ ULONG Flags)
 
NTSYSAPI NTSTATUS NTAPI RtlInvertRangeList (_Out_ PRTL_RANGE_LIST InvertedRangeList, _In_ PRTL_RANGE_LIST RangeList)
 
NTSYSAPI NTSTATUS NTAPI RtlAddRange (_Inout_ PRTL_RANGE_LIST RangeList, _In_ ULONGLONG Start, _In_ ULONGLONG End, _In_ UCHAR Attributes, _In_ ULONG Flags, _In_opt_ PVOID UserData, _In_opt_ PVOID Owner)
 
NTSYSAPI NTSTATUS NTAPI RtlDeleteRange (_Inout_ PRTL_RANGE_LIST RangeList, _In_ ULONGLONG Start, _In_ ULONGLONG End, _In_ PVOID Owner)
 
NTSYSAPI NTSTATUS NTAPI RtlDeleteOwnersRanges (_Inout_ PRTL_RANGE_LIST RangeList, _In_ _Maybenull_ PVOID Owner)
 
NTSYSAPI NTSTATUS NTAPI RtlFindRange (_In_ PRTL_RANGE_LIST RangeList, _In_ ULONGLONG Minimum, _In_ ULONGLONG Maximum, _In_ ULONG Length, _In_ ULONG Alignment, _In_ ULONG Flags, _In_ UCHAR AttributeAvailableMask, _In_opt_ PVOID Context, _In_opt_ PRTL_CONFLICT_RANGE_CALLBACK Callback, _Out_ PULONGLONG Start)
 
NTSYSAPI NTSTATUS NTAPI RtlIsRangeAvailable (_In_ PRTL_RANGE_LIST RangeList, _In_ ULONGLONG Start, _In_ ULONGLONG End, _In_ ULONG Flags, _In_ UCHAR AttributeAvailableMask, _In_opt_ PVOID Context, _In_opt_ PRTL_CONFLICT_RANGE_CALLBACK Callback, _Out_ PBOOLEAN Available)
 
NTSYSAPI NTSTATUS NTAPI RtlGetFirstRange (_In_ PRTL_RANGE_LIST RangeList, _Out_ PRTL_RANGE_LIST_ITERATOR Iterator, _Outptr_ PRTL_RANGE *Range)
 
NTSYSAPI NTSTATUS NTAPI RtlGetNextRange (_Inout_ PRTL_RANGE_LIST_ITERATOR Iterator, _Outptr_ PRTL_RANGE *Range, _In_ BOOLEAN MoveForwards)
 
ULONG __cdecl DbgPrint (_In_z_ _Printf_format_string_ PCSTR Format,...)
 
NTSYSAPI ULONG __cdecl DbgPrintEx (_In_ ULONG ComponentId, _In_ ULONG Level, _In_z_ _Printf_format_string_ PCSTR Format,...)
 
NTSYSAPI ULONG NTAPI DbgPrompt (_In_z_ PCCH Prompt, _Out_writes_bytes_(MaximumResponseLength) PCH Response, _In_ ULONG MaximumResponseLength)
 
VOID NTAPI DbgBreakPoint (VOID)
 
VOID NTAPI DbgLoadImageSymbols (_In_ PSTRING Name, _In_ PVOID Base, _In_ ULONG_PTR ProcessId)
 
VOID NTAPI DbgUnLoadImageSymbols (_In_ PSTRING Name, _In_ PVOID Base, _In_ ULONG_PTR ProcessId)
 
VOID NTAPI DbgCommandString (_In_ PCCH Name, _In_ PCCH Command)
 
NTSYSAPI PVOID NTAPI RtlInsertElementGenericTable (_In_ PRTL_GENERIC_TABLE Table, _In_reads_bytes_(BufferSize) PVOID Buffer, _In_ CLONG BufferSize, _Out_opt_ PBOOLEAN NewElement)
 
NTSYSAPI PVOID NTAPI RtlInsertElementGenericTableFull (_In_ PRTL_GENERIC_TABLE Table, _In_reads_bytes_(BufferSize) PVOID Buffer, _In_ CLONG BufferSize, _Out_opt_ PBOOLEAN NewElement, _In_ PVOID NodeOrParent, _In_ TABLE_SEARCH_RESULT SearchResult)
 
NTSYSAPI BOOLEAN NTAPI RtlIsGenericTableEmpty (_In_ PRTL_GENERIC_TABLE Table)
 
NTSYSAPI PVOID NTAPI RtlLookupElementGenericTableFull (_In_ PRTL_GENERIC_TABLE Table, _In_ PVOID Buffer, _Out_ PVOID *NodeOrParent, _Out_ TABLE_SEARCH_RESULT *SearchResult)
 
NTSYSAPI PRTL_HANDLE_TABLE_ENTRY NTAPI RtlAllocateHandle (_In_ PRTL_HANDLE_TABLE HandleTable, _Inout_ PULONG Index)
 
NTSYSAPI VOID NTAPI RtlDestroyHandleTable (_Inout_ PRTL_HANDLE_TABLE HandleTable)
 
NTSYSAPI BOOLEAN NTAPI RtlFreeHandle (_In_ PRTL_HANDLE_TABLE HandleTable, _In_ PRTL_HANDLE_TABLE_ENTRY Handle)
 
NTSYSAPI VOID NTAPI RtlInitializeHandleTable (_In_ ULONG TableSize, _In_ ULONG HandleSize, _In_ PRTL_HANDLE_TABLE HandleTable)
 
NTSYSAPI BOOLEAN NTAPI RtlIsValidHandle (_In_ PRTL_HANDLE_TABLE HandleTable, _In_ PRTL_HANDLE_TABLE_ENTRY Handle)
 
 _Success_ (return!=FALSE) NTSYSAPI BOOLEAN NTAPI RtlIsValidIndexHandle(_In_ PRTL_HANDLE_TABLE HandleTable
 
NTSYSAPI NTSTATUS NTAPI RtlFindMessage (_In_ PVOID BaseAddress, _In_ ULONG Type, _In_ ULONG Language, _In_ ULONG MessageId, _Out_ PMESSAGE_RESOURCE_ENTRY *MessageResourceEntry)
 
NTSYSAPI ULONG NTAPI RtlGetNtGlobalFlags (VOID)
 
NTSYSAPI PVOID NTAPI RtlImageRvaToVa (_In_ PIMAGE_NT_HEADERS NtHeader, _In_ PVOID BaseAddress, _In_ ULONG Rva, _Inout_opt_ PIMAGE_SECTION_HEADER *SectionHeader)
 
NTSYSAPI PIMAGE_NT_HEADERS NTAPI RtlImageNtHeader (_In_ PVOID BaseAddress)
 
NTSYSAPI NTSTATUS NTAPI RtlImageNtHeaderEx (_In_ ULONG Flags, _In_ PVOID BaseAddress, _In_ ULONGLONG Size, _Out_ PIMAGE_NT_HEADERS *NtHeader)
 
NTSYSAPI PIMAGE_SECTION_HEADER NTAPI RtlImageRvaToSection (_In_ PIMAGE_NT_HEADERS NtHeader, _In_ PVOID BaseAddress, _In_ ULONG Rva)
 
NTSYSAPI ULONG NTAPI LdrRelocateImageWithBias (_In_ PVOID NewAddress, _In_ LONGLONG AdditionalBias, _In_ PCCH LoaderName, _In_ ULONG Success, _In_ ULONG Conflict, _In_ ULONG Invalid)
 
NTSYSAPI NTSTATUS NTAPI RtlCreateRegistryKey (_In_ ULONG RelativeTo, _In_ PWSTR Path)
 
NTSYSAPI NTSTATUS NTAPI RtlFormatCurrentUserKeyPath (_Out_ _At_(KeyPath->Buffer, __drv_allocatesMem(Mem) _Post_bytecap_(KeyPath->MaximumLength) _Post_bytecount_(KeyPath->Length)) PUNICODE_STRING KeyPath)
 
NTSYSAPI NTSTATUS NTAPI RtlOpenCurrentUser (_In_ ACCESS_MASK DesiredAccess, _Out_ PHANDLE KeyHandle)
 
_In_ PCWSTR _In_z_ PCWSTR _In_ ULONG _In_reads_bytes_opt_ (ValueLength) PVOID ValueData
 
NTSYSAPI VOID NTAPI RtlGetDefaultCodePage (_Out_ PUSHORT AnsiCodePage, _Out_ PUSHORT OemCodePage)
 
NTSYSAPI VOID NTAPI RtlInitNlsTables (_In_ PUSHORT AnsiTableBase, _In_ PUSHORT OemTableBase, _In_ PUSHORT CaseTableBase, _Out_ PNLSTABLEINFO NlsTable)
 
NTSYSAPI VOID NTAPI RtlResetRtlTranslations (_In_ PNLSTABLEINFO NlsTable)
 
NTSYSAPI ULONG NTAPI RtlUniform (_In_ PULONG Seed)
 
NTSYSAPI ULONG NTAPI RtlRandom (_Inout_ PULONG Seed)
 
NTSYSAPI ULONG NTAPI RtlComputeCrc32 (_In_ ULONG InitialCrc, _In_ PUCHAR Buffer, _In_ ULONG Length)
 
NTSYSAPI PSTR NTAPI RtlIpv4AddressToStringA (_In_ const struct in_addr *Addr, _Out_writes_(16) PCHAR S)
 
NTSYSAPI PWSTR NTAPI RtlIpv4AddressToStringW (_In_ const struct in_addr *Addr, _Out_writes_(16) PWCHAR S)
 
NTSYSAPI NTSTATUS NTAPI RtlIpv4AddressToStringExA (_In_ const struct in_addr *Address, _In_ USHORT Port, _Out_writes_to_(*AddressStringLength, *AddressStringLength) PCHAR AddressString, _Inout_ PULONG AddressStringLength)
 
NTSTATUS NTAPI RtlIpv4AddressToStringExW (_In_ const struct in_addr *Address, _In_ USHORT Port, _Out_writes_to_(*AddressStringLength, *AddressStringLength) PWCHAR AddressString, _Inout_ PULONG AddressStringLength)
 
NTSYSAPI NTSTATUS NTAPI RtlIpv4StringToAddressA (_In_ PCSTR String, _In_ BOOLEAN Strict, _Out_ PCSTR *Terminator, _Out_ struct in_addr *Addr)
 
NTSYSAPI NTSTATUS NTAPI RtlIpv4StringToAddressW (_In_ PCWSTR String, _In_ BOOLEAN Strict, _Out_ PCWSTR *Terminator, _Out_ struct in_addr *Addr)
 
NTSYSAPI NTSTATUS NTAPI RtlIpv4StringToAddressExA (_In_ PCSTR AddressString, _In_ BOOLEAN Strict, _Out_ struct in_addr *Address, _Out_ PUSHORT Port)
 
NTSYSAPI NTSTATUS NTAPI RtlIpv4StringToAddressExW (_In_ PCWSTR AddressString, _In_ BOOLEAN Strict, _Out_ struct in_addr *Address, _Out_ PUSHORT Port)
 
NTSYSAPI PSTR NTAPI RtlIpv6AddressToStringA (_In_ const struct in6_addr *Addr, _Out_writes_(46) PSTR S)
 
NTSYSAPI PWSTR NTAPI RtlIpv6AddressToStringW (_In_ const struct in6_addr *Addr, _Out_writes_(46) PWSTR S)
 
NTSYSAPI NTSTATUS NTAPI RtlIpv6AddressToStringExA (_In_ const struct in6_addr *Address, _In_ ULONG ScopeId, _In_ USHORT Port, _Out_writes_to_(*AddressStringLength, *AddressStringLength) PSTR AddressString, _Inout_ PULONG AddressStringLength)
 
NTSYSAPI NTSTATUS NTAPI RtlIpv6AddressToStringExW (_In_ const struct in6_addr *Address, _In_ ULONG ScopeId, _In_ USHORT Port, _Out_writes_to_(*AddressStringLength, *AddressStringLength) PWCHAR AddressString, _Inout_ PULONG AddressStringLength)
 
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressA (_In_ PCSTR String, _Out_ PCSTR *Terminator, _Out_ struct in6_addr *Addr)
 
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressW (_In_ PCWSTR String, _Out_ PCWSTR *Terminator, _Out_ struct in6_addr *Addr)
 
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressExA (_In_ PCSTR AddressString, _Out_ struct in6_addr *Address, _Out_ PULONG ScopeId, _Out_ PUSHORT Port)
 
NTSYSAPI NTSTATUS NTAPI RtlIpv6StringToAddressExW (_In_ PCWSTR AddressString, _Out_ struct in6_addr *Address, _Out_ PULONG ScopeId, _Out_ PUSHORT Port)
 
NTSYSAPI NTSTATUS NTAPI RtlQueryTimeZoneInformation (_Out_ PRTL_TIME_ZONE_INFORMATION TimeZoneInformation)
 
NTSYSAPI VOID NTAPI RtlSecondsSince1970ToTime (_In_ ULONG SecondsSince1970, _Out_ PLARGE_INTEGER Time)
 
NTSYSAPI NTSTATUS NTAPI RtlSetTimeZoneInformation (_In_ PRTL_TIME_ZONE_INFORMATION TimeZoneInformation)
 
 _Success_ (return !=0) _Must_inspect_result_ NTSYSAPI BOOLEAN NTAPI RtlTimeToSecondsSince1970(_In_ PLARGE_INTEGER Time
 
NTSYSAPI VOID NTAPI RtlTimeToTimeFields (PLARGE_INTEGER Time, PTIME_FIELDS TimeFields)
 
NTSYSAPI NTSTATUS NTAPI RtlSystemTimeToLocalTime (_In_ PLARGE_INTEGER SystemTime, _Out_ PLARGE_INTEGER LocalTime)
 
NTSYSAPI NTSTATUS NTAPI RtlFindActivationContextSectionGuid (ULONG flags, const GUID *extguid, ULONG section_kind, const GUID *guid, void *ptr)
 

Variables

_Out_writes_bytes_to_opt_ BufferLength PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor
 
_Out_writes_bytes_to_opt_ BufferLength PSECURITY_DESCRIPTOR _Inout_ PULONG BufferLength
 
_In_ ULONG Revision
 
_In_ ULONG _In_ ACCESS_MASK AccessMask
 
_In_ ULONG _In_ ACCESS_MASK _In_ PSID Sid
 
_In_ ULONG dwAceRevision
 
_In_ ULONG _In_ ULONG AceFlags
 
_In_ ULONG _In_ ULONG _In_ ACCESS_MASK _In_ PSID pSid
 
_In_ PLUID SourceLuid
 
_In_ PSID _In_ BOOLEAN AllocateDestinationString
 
_In_ PSID SourceSid
 
_In_ PSID_IDENTIFIER_AUTHORITY IdentifierAuthority
 
_In_ PSID_IDENTIFIER_AUTHORITY _In_ UCHAR SubAuthorityCount
 
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor
 
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG AbsoluteSecurityDescriptorSize
 
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL Dacl
 
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG DaclSize
 
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL Sacl
 
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL _Inout_ PULONG SaclSize
 
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ OwnerSize PSID Owner
 
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ OwnerSize PSID _Inout_ PULONG OwnerSize
 
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ OwnerSize PSID _Inout_ PULONG _Out_writes_bytes_to_opt_ PrimaryGroupSize PSID PrimaryGroup
 
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ OwnerSize PSID _Inout_ PULONG _Out_writes_bytes_to_opt_ PrimaryGroupSize PSID _Inout_ PULONG PrimaryGroupSize
 
_In_ BOOLEAN DaclPresent
 
_In_ BOOLEAN _In_opt_ PACL _In_opt_ BOOLEAN DaclDefaulted
 
_In_opt_ PSID Group
 
_In_opt_ PSID _In_opt_ BOOLEAN GroupDefaulted
 
_In_opt_ PSID _In_opt_ BOOLEAN OwnerDefaulted
 
_In_ ULONG SecurityDescriptorLength
 
_In_ ULONG _In_ SECURITY_INFORMATION RequiredInformation
 
_Out_ _Inout_ POEM_STRING DestinationString
 
_Out_ _Inout_ POEM_STRING _In_ PCUNICODE_STRING SourceString
 
*BytesInUnicodeString PWCH UnicodeString
 
*BytesInUnicodeString PWCH _In_ ULONG MaxBytesInUnicodeString
 
*BytesInUnicodeString PWCH _In_ ULONG _Out_opt_ PULONG BytesInUnicodeString
 
*BytesInUnicodeString PWCH _In_ ULONG _Out_opt_ PULONG _In_ ULONG BytesInOemString
 
_In_ const STRINGString2
 
_In_ const STRING _In_ BOOLEAN CaseInsensitive
 
_In_ const STRING _In_ BOOLEAN CaseInSensitive
 
_In_ const STRINGSource
 
_In_opt_ ULONG Base
 
_In_opt_ ULONG _Out_ PULONG Value
 
*BytesInUnicodeString PWCH _In_ ULONG _Out_opt_ PULONG _In_ ULONG BytesInMultiByteString
 
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
 
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING _Out_ PULONG Length
 
_Inout_opt_ POEM_STRING OemName
 
_Inout_opt_ POEM_STRING _Out_opt_ PBOOLEAN NameContainsSpaces
 
_In_ ULONG UncompressedBufferSize
 
_In_ ULONG _In_ ULONG CompressedBufferSize
 
_In_ ULONG _In_ ULONG _Out_ PULONG FinalUncompressedSize
 
_In_ ULONG Index
 
_In_ ULONG _Out_ PRTL_HANDLE_TABLE_ENTRYHandle
 
_In_ BOOLEAN MappedAsImage
 
_In_ BOOLEAN _In_ USHORT Directory
 
_In_ BOOLEAN _In_ USHORT _Out_ PULONG Size
 
_In_ PWSTR Path
 
_In_ PCWSTR _Inout_ _At_ QueryTable EntryContext
 
_In_ PCWSTR _Inout_ _At_ QueryTable _Pre_unknown_ PRTL_QUERY_REGISTRY_TABLE QueryTable
 
_In_ PCWSTR _Inout_ _At_ QueryTable _Pre_unknown_ PRTL_QUERY_REGISTRY_TABLE _In_opt_ PVOID Context
 
_In_ PCWSTR _Inout_ _At_ QueryTable _Pre_unknown_ PRTL_QUERY_REGISTRY_TABLE _In_opt_ PVOID _In_opt_ PVOID Environment
 
_In_ PCWSTR _In_z_ PCWSTR ValueName
 
_In_ PCWSTR _In_z_ PCWSTR _In_ ULONG ValueType
 
_In_ PCWSTR _In_z_ PCWSTR _In_ ULONG _In_ ULONG ValueLength
 
_Out_ PCPTABLEINFO CodePageTable
 
_Out_ PLARGE_INTEGER Time
 
_Out_ PULONG ElapsedSeconds
 
_In_ ULONG TypeMask
 
_In_ ULONG _In_ ULONGLONG ConditionMask
 

Macro Definition Documentation

◆ NtCurrentPeb

#define NtCurrentPeb ( )    (NtCurrentTeb()->ProcessEnvironmentBlock)

Definition at line 1072 of file rtlfuncs.h.

◆ RTL_CONVERTED_NT_PATH

#define RTL_CONVERTED_NT_PATH   3

Definition at line 2907 of file rtlfuncs.h.

◆ RTL_CONVERTED_UNC_PATH

#define RTL_CONVERTED_UNC_PATH   2

Definition at line 2906 of file rtlfuncs.h.

◆ RTL_SKIP_BUFFER_COPY

#define RTL_SKIP_BUFFER_COPY   0x00000001

Definition at line 2385 of file rtlfuncs.h.

◆ RTL_STACK_WALKING_MODE_FRAMES_TO_SKIP_SHIFT

#define RTL_STACK_WALKING_MODE_FRAMES_TO_SKIP_SHIFT   8

Definition at line 808 of file rtlfuncs.h.

◆ RTL_UNCHANGED_DOS_PATH

#define RTL_UNCHANGED_DOS_PATH   4

Definition at line 2908 of file rtlfuncs.h.

◆ RTL_UNCHANGED_UNK_PATH

#define RTL_UNCHANGED_UNK_PATH   1

Definition at line 2905 of file rtlfuncs.h.

Function Documentation

◆ _At_() [1/2]

_Out_ _At_ ( DestinationString->  Buffer,
__drv_allocatesMem(Mem)   
)

◆ _At_() [2/2]

_At_ ( Destination->  Buffer,
_Out_bytecap_(Destination->MaximumLength  
)

◆ _In_reads_bytes_() [1/3]

◆ _In_reads_bytes_() [2/3]

◆ _In_reads_bytes_() [3/3]

_In_ ULONG _In_reads_bytes_ ( CompressedBufferSize  )

◆ _In_reads_bytes_opt_()

_In_ PCWSTR _In_z_ PCWSTR _In_ ULONG _In_reads_bytes_opt_ ( ValueLength  )

◆ _IRQL_requires_max_() [1/3]

_IRQL_requires_max_ ( APC_LEVEL  )

Definition at line 197 of file cddata.c.

254 {
255  THREAD_CONTEXT ThreadContext = {0};
256  PIRP_CONTEXT IrpContext = NULL;
257  BOOLEAN Wait;
258 
259 #ifdef CD_SANITY
260  PVOID PreviousTopLevel;
261 #endif
262 
264 
265 #if DBG
266 
267  KIRQL SaveIrql = KeGetCurrentIrql();
268 
269 #endif
270 
272 
274 
276 
277 #ifdef CD_SANITY
278  PreviousTopLevel = IoGetTopLevelIrp();
279 #endif
280 
281  //
282  // Loop until this request has been completed or posted.
283  //
284 
285  do {
286 
287  //
288  // Use a try-except to handle the exception cases.
289  //
290 
291  _SEH2_TRY {
292 
293  //
294  // If the IrpContext is NULL then this is the first pass through
295  // this loop.
296  //
297 
298  if (IrpContext == NULL) {
299 
300  //
301  // Decide if this request is waitable an allocate the IrpContext.
302  // If the file object in the stack location is NULL then this
303  // is a mount which is always waitable. Otherwise we look at
304  // the file object flags.
305  //
306 
308 
309  Wait = TRUE;
310 
311  } else {
312 
313  Wait = CanFsdWait( Irp );
314  }
315 
316  IrpContext = CdCreateIrpContext( Irp, Wait );
317 
318  //
319  // Update the thread context information.
320  //
321 
322  CdSetThreadContext( IrpContext, &ThreadContext );
323 
324 #ifdef CD_SANITY
325  NT_ASSERT( !CdTestTopLevel ||
326  SafeNodeType( IrpContext->TopLevel ) == CDFS_NTC_IRP_CONTEXT );
327 #endif
328 
329  //
330  // Otherwise cleanup the IrpContext for the retry.
331  //
332 
333  } else {
334 
335  //
336  // Set the MORE_PROCESSING flag to make sure the IrpContext
337  // isn't inadvertently deleted here. Then cleanup the
338  // IrpContext to perform the retry.
339  //
340 
341  SetFlag( IrpContext->Flags, IRP_CONTEXT_FLAG_MORE_PROCESSING );
342  CdCleanupIrpContext( IrpContext, FALSE );
343  }
344 
345  //
346  // Case on the major irp code.
347  //
348 
349  switch (IrpContext->MajorFunction) {
350 
351  case IRP_MJ_CREATE :
352 
353  Status = CdCommonCreate( IrpContext, Irp );
354  break;
355 
356  case IRP_MJ_CLOSE :
357 
358  Status = CdCommonClose( IrpContext, Irp );
359  break;
360 
361  case IRP_MJ_READ :
362 
363  //
364  // If this is an Mdl complete request, don't go through
365  // common read.
366  //
367 
368  if (FlagOn( IrpContext->MinorFunction, IRP_MN_COMPLETE )) {
369 
370  Status = CdCompleteMdl( IrpContext, Irp );
371 
372  } else {
373 
374  Status = CdCommonRead( IrpContext, Irp );
375  }
376 
377  break;
378 
379  case IRP_MJ_WRITE :
380 
381  Status = CdCommonWrite( IrpContext, Irp );
382  break;
383 
385 
386  Status = CdCommonQueryInfo( IrpContext, Irp );
387  break;
388 
390 
391  Status = CdCommonSetInfo( IrpContext, Irp );
392  break;
393 
395 
396  Status = CdCommonQueryVolInfo( IrpContext, Irp );
397  break;
398 
400 
401  Status = CdCommonDirControl( IrpContext, Irp );
402  break;
403 
405 
406  Status = CdCommonFsControl( IrpContext, Irp );
407  break;
408 
409  case IRP_MJ_DEVICE_CONTROL :
410 
411  Status = CdCommonDevControl( IrpContext, Irp );
412  break;
413 
414  case IRP_MJ_LOCK_CONTROL :
415 
416  Status = CdCommonLockControl( IrpContext, Irp );
417  break;
418 
419  case IRP_MJ_CLEANUP :
420 
421  Status = CdCommonCleanup( IrpContext, Irp );
422  break;
423 
424  case IRP_MJ_PNP :
425 
426  Status = CdCommonPnp( IrpContext, Irp );
427  break;
428 
429  case IRP_MJ_SHUTDOWN :
430 
431  Status = CdCommonShutdown( IrpContext, Irp );
432  break;
433 
434  default :
435 
437  CdCompleteRequest( IrpContext, Irp, Status );
438  }
439 
441 
442  Status = CdProcessException( IrpContext, Irp, _SEH2_GetExceptionCode() );
443  } _SEH2_END;
444 
445  } while (Status == STATUS_CANT_WAIT);
446 
447 #ifdef CD_SANITY
448  NT_ASSERT( !CdTestTopLevel ||
449  (PreviousTopLevel == IoGetTopLevelIrp()) );
450 #endif
451 
453 
454  NT_ASSERT( SaveIrql == KeGetCurrentIrql( ));
455 
456  return Status;
457 }
#define KeGetCurrentIrql()
Definition: env_spec_w32.h:706
VOID CdSetThreadContext(_Inout_ PIRP_CONTEXT IrpContext, _In_ PTHREAD_CONTEXT ThreadContext)
Definition: cddata.c:981
#define IRP_MJ_CREATE
Definition: rdpdr.c:44
#define FsRtlEnterFileSystem
#define FsRtlExitFileSystem
#define IRP_MJ_SHUTDOWN
_In_ PIRP Irp
Definition: csq.h:116
#define TRUE
Definition: types.h:120
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:317
#define IRP_CONTEXT_FLAG_MORE_PROCESSING
Definition: cdstruc.h:1220
#define SafeNodeType(Ptr)
Definition: nodetype.h:54
#define IRP_MJ_PNP
Definition: cdrw_usr.h:52
LONG NTSTATUS
Definition: precomp.h:26
#define STATUS_INVALID_DEVICE_REQUEST
Definition: udferr_usr.h:138
_SEH2_TRY
Definition: create.c:4226
#define IRP_MN_COMPLETE
Definition: iotypes.h:4399
UCHAR KIRQL
Definition: env_spec_w32.h:591
#define FALSE
Definition: types.h:117
VOID CdCompleteRequest(_Inout_opt_ PIRP_CONTEXT IrpContext, _Inout_opt_ PIRP Irp, _In_ NTSTATUS Status)
Definition: cddata.c:914
#define _SEH2_GetExceptionInformation()
Definition: pseh2_64.h:11
unsigned char BOOLEAN
smooth NULL
Definition: ftsmooth.c:416
#define IRP_MJ_QUERY_VOLUME_INFORMATION
Definition: rdpdr.c:50
#define IRP_MJ_DIRECTORY_CONTROL
Definition: rdpdr.c:51
_Inout_ PFILE_OBJECT FileObject
Definition: cdprocs.h:588
#define IRP_MJ_FILE_SYSTEM_CONTROL
PIRP NTAPI IoGetTopLevelIrp(VOID)
Definition: irp.c:1843
#define CanFsdWait(I)
Definition: cdprocs.h:2001
NTSTATUS CdCompleteMdl(_In_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
Definition: cachesup.c:411
#define IRP_MJ_CLOSE
Definition: rdpdr.c:45
Status
Definition: gdiplustypes.h:24
NTSTATUS CdCommonDevControl(_Inout_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
Definition: devctrl.c:46
#define FlagOn(_F, _SF)
Definition: ext2fs.h:179
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(_In_ PIRP Irp)
Definition: iofuncs.h:2789
#define SetFlag(_F, _SF)
Definition: ext2fs.h:187
_SEH2_END
Definition: create.c:4400
LONG CdExceptionFilter(_Inout_ PIRP_CONTEXT IrpContext, _In_ PEXCEPTION_POINTERS ExceptionPointer)
Definition: cddata.c:525
#define ASSERT_OPTIONAL_IRP(I)
Definition: cddata.h:252
_In_ PDEVICE_OBJECT DeviceObject
Definition: iotypes.h:2464
VOID CdCleanupIrpContext(_In_ PIRP_CONTEXT IrpContext, _In_ BOOLEAN Post)
Definition: strucsup.c:1733
NTSTATUS CdCommonLockControl(_Inout_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
Definition: lockctrl.c:35
#define CDFS_NTC_IRP_CONTEXT
Definition: nodetype.h:34
#define IRP_MJ_LOCK_CONTROL
Definition: rdpdr.c:53
#define IRP_MJ_READ
Definition: rdpdr.c:46
#define IRP_MJ_CLEANUP
#define IRP_MJ_SET_INFORMATION
Definition: rdpdr.c:49
#define IRP_MJ_WRITE
Definition: rdpdr.c:47
#define IRP_MJ_QUERY_INFORMATION
Definition: rdpdr.c:48
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:6
#define _SEH2_GetExceptionCode()
Definition: pseh2_64.h:12
_Ret_valid_ PIRP_CONTEXT CdCreateIrpContext(_In_ PIRP Irp, _In_ BOOLEAN Wait)
Definition: strucsup.c:1573
#define IRP_MJ_DEVICE_CONTROL
Definition: rdpdr.c:52
#define STATUS_CANT_WAIT
Definition: ntstatus.h:452
IN BOOLEAN Wait
Definition: fatprocs.h:1538
#define NT_ASSERT
Definition: rtlfuncs.h:3312

◆ _IRQL_requires_max_() [2/3]

Definition at line 64 of file Messaging.c.

75 {
76  PFLT_SERVER_PORT_OBJECT PortObject;
78 
79  /* The caller must allow at least one connection */
80  if (MaxConnections == 0)
81  {
83  }
84 
85  /* The request must be for a kernel handle */
86  if (!(ObjectAttributes->Attributes & OBJ_KERNEL_HANDLE))
87  {
89  }
90 
91  /*
92  * Get rundown protection on the target to stop the owner
93  * from unloading whilst this port object is open. It gets
94  * removed in the FltpServerPortClose callback
95  */
97  if (!NT_SUCCESS(Status))
98  {
99  return Status;
100  }
101 
102  /* Create the server port object for this filter */
106  KernelMode,
107  NULL,
108  sizeof(FLT_SERVER_PORT_OBJECT),
109  0,
110  0,
111  (PVOID *)&PortObject);
112  if (NT_SUCCESS(Status))
113  {
114  /* Zero out the struct */
115  RtlZeroMemory(PortObject, sizeof(FLT_SERVER_PORT_OBJECT));
116 
117  /* Increment the ref count on the target filter */
119 
120  /* Setup the filter port object */
121  PortObject->Filter = Filter;
122  PortObject->ConnectNotify = ConnectNotifyCallback;
124  PortObject->MessageNotify = MessageNotifyCallback;
125  PortObject->Cookie = ServerPortCookie;
126  PortObject->MaxConnections = MaxConnections;
127 
128  /* Insert the object */
129  Status = ObInsertObject(PortObject,
130  NULL,
132  0,
133  NULL,
135  if (NT_SUCCESS(Status))
136  {
137  /* Lock the connection list */
139 
140  /* Add the new port object to the connection list and increment the count */
143 
144  /* Unlock the connection list*/
146  }
147  }
148 
149  if (!NT_SUCCESS(Status))
150  {
151  /* Allow the filter to be cleaned up */
153  }
154 
155  return Status;
156 }
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:35
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
_Must_inspect_result_ _Outptr_ PFLT_PORT * ServerPort
Definition: fltkernel.h:1873
PFLT_CONNECT_NOTIFY ConnectNotify
Definition: fltmgrint.h:191
VOID FLTAPI FltObjectDereference(_Inout_ PVOID Object)
Definition: Object.c:53
LONG NTSTATUS
Definition: precomp.h:26
#define InsertTailList(ListHead, Entry)
#define OBJ_KERNEL_HANDLE
Definition: winternl.h:231
VOID FASTCALL ExReleaseFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:31
ULONG FltpObjectPointerReference(_In_ PFLT_OBJECT Object)
Definition: Object.c:322
LIST_ENTRY mList
Definition: fltmgrint.h:56
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1802
#define FILE_READ_DATA
Definition: nt_native.h:628
smooth NULL
Definition: ftsmooth.c:416
NTSTATUS NTAPI ObCreateObject(IN KPROCESSOR_MODE ProbeMode OPTIONAL, IN POBJECT_TYPE Type, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN KPROCESSOR_MODE AccessMode, IN OUT PVOID ParseContext OPTIONAL, IN ULONG ObjectSize, IN ULONG PagedPoolCharge OPTIONAL, IN ULONG NonPagedPoolCharge OPTIONAL, OUT PVOID *Object)
Definition: oblife.c:952
POBJECT_TYPE ServerPortObjectType
Definition: Messaging.c:24
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY DisconnectNotifyCallback
Definition: fltkernel.h:1873
Status
Definition: gdiplustypes.h:24
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:454
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY ConnectNotifyCallback
Definition: fltkernel.h:1873
NTSTATUS NTAPI ObInsertObject(IN PVOID Object, IN PACCESS_STATE AccessState OPTIONAL, IN ACCESS_MASK DesiredAccess, IN ULONG ObjectPointerBias, OUT PVOID *NewObject OPTIONAL, OUT PHANDLE Handle)
Definition: obhandle.c:2932
#define STANDARD_RIGHTS_ALL
Definition: nt_native.h:69
VOID FASTCALL ExAcquireFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:23
NTSTATUS FLTAPI FltObjectReference(_Inout_ PVOID Object)
Definition: Object.c:41
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID ServerPortCookie
Definition: fltkernel.h:1873
FAST_MUTEX mLock
Definition: fltmgrint.h:55
PFLT_MESSAGE_NOTIFY MessageNotify
Definition: fltmgrint.h:193
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY _In_opt_ PFLT_MESSAGE_NOTIFY _In_ LONG MaxConnections
Definition: fltkernel.h:1873
PFLT_DISCONNECT_NOTIFY DisconnectNotify
Definition: fltmgrint.h:192
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY _In_opt_ PFLT_MESSAGE_NOTIFY MessageNotifyCallback
Definition: fltkernel.h:1873
FLT_MUTEX_LIST_HEAD ConnectionList
Definition: fltmgrint.h:121

◆ _IRQL_requires_max_() [3/3]

Definition at line 188 of file autorun.c.

197 {
199  ULONG requiredSize;
201 
202  status = RtlULongAdd((sizeof(TARGET_DEVICE_CUSTOM_NOTIFICATION) - sizeof(UCHAR)),
204  &requiredSize);
205 
206  if (!(NT_SUCCESS(status)) || (requiredSize > 0x0000ffff)) {
207  // MAX_USHORT, max total size for these events!
208  TracePrint((TRACE_LEVEL_WARNING, TRACE_FLAG_MCN,
209  "Error sending event: size too large! (%x)\n",
210  requiredSize));
211  return;
212  }
213 
214  notification = ExAllocatePoolWithTag(NonPagedPoolNx,
215  requiredSize,
216  'oNcS');
217 
218  //
219  // if none allocated, exit
220  //
221 
222  if (notification == NULL) {
223  return;
224  }
225 
226  //
227  // Prepare and send the request!
228  //
229 
230  RtlZeroMemory(notification, requiredSize);
231  notification->Version = 1;
232  notification->Size = (USHORT)(requiredSize);
233  notification->FileObject = NULL;
234  notification->NameBufferOffset = -1;
235  notification->Event = *Guid;
236 
237  if (ExtraData != NULL && ExtraDataSize != 0) {
238  RtlCopyMemory(notification->CustomDataBuffer, ExtraData, ExtraDataSize);
239  }
240 
242  notification,
243  NULL, NULL);
244 
246  return;
247 }
NTSYSAPI VOID NTAPI RtlCopyMemory(VOID UNALIGNED *Destination, CONST VOID UNALIGNED *Source, ULONG Length)
_In_ const GUID _In_ ULONG ExtraDataSize
Definition: classpnp.h:1429
LONG NTSTATUS
Definition: precomp.h:26
static GUID * Guid
Definition: apphelp.c:93
smooth NULL
Definition: ftsmooth.c:416
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define ExAllocatePoolWithTag(hernya, size, tag)
Definition: env_spec_w32.h:350
unsigned char UCHAR
Definition: xmlstorage.h:181
#define FREE_POOL(_PoolPtr)
Definition: classpnp.h:63
#define TRACE_LEVEL_WARNING
Definition: storswtr.h:28
unsigned short USHORT
Definition: pedump.c:61
unsigned int ULONG
Definition: retypes.h:1
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
NTSTATUS NTAPI IoReportTargetDeviceChangeAsynchronous(IN PDEVICE_OBJECT PhysicalDeviceObject, IN PVOID NotificationStructure, IN PDEVICE_CHANGE_COMPLETE_CALLBACK Callback OPTIONAL, IN PVOID Context OPTIONAL)
Definition: pnpreport.c:515
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

◆ _Out_range_()

_Out_range_ ( )
pure virtual

◆ _Out_writes_bytes_()

_Out_writes_bytes_ ( DestinationSidLength  )

◆ _Out_writes_bytes_to_()

_Out_writes_bytes_to_ ( UncompressedBufferSize  ,
FinalUncompressedSize 
)

◆ _Success_() [1/2]

_Success_ ( return!  = FALSE)

Definition at line 279 of file mapping.c.

289 {
291  PENGSECTION pSection;
292 
293  /* Check parameter */
294  if (cjSize == 0) return NULL;
295 
296  /* Allocate a section object */
297  pSection = EngCreateSectionHack(fl, cjSize, ulTag);
298  if (!pSection)
299  {
300  *ppvSection = NULL;
301  return NULL;
302  }
303 
304  /* Map the section in session space */
306  &pSection->pvMappedBase,
307  &pSection->cjViewSize);
308  if (!NT_SUCCESS(Status))
309  {
310  DPRINT1("Failed to map a section Status=0x%x\n", Status);
311  *ppvSection = NULL;
312  EngFreeSectionMem(pSection, NULL);
313  return NULL;
314  }
315 
316  if (fl & FL_ZERO_MEMORY)
317  {
318  RtlZeroMemory(pSection->pvMappedBase, cjSize);
319  }
320 
321  /* Set section pointer and return base address */
322  *ppvSection = pSection;
323  return pSection->pvMappedBase;
324 }
LONG NTSTATUS
Definition: precomp.h:26
PVOID pvSectionObject
Definition: mapping.h:4
_In_ FLONG fl
Definition: winddi.h:1279
smooth NULL
Definition: ftsmooth.c:416
BOOL APIENTRY EngFreeSectionMem(_In_opt_ PVOID pvSection, _In_opt_ PVOID pvMappedBase)
Definition: mapping.c:246
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
SIZE_T cjViewSize
Definition: mapping.h:6
PVOID NTAPI EngCreateSectionHack(_In_ ULONG fl, _In_ SIZE_T cjSize, _In_ ULONG ulTag)
Definition: mapping.c:132
Status
Definition: gdiplustypes.h:24
#define FL_ZERO_MEMORY
Definition: polytest.cpp:58
_In_ ULONG _In_ ULONG ulTag
Definition: winddi.h:3941
#define DPRINT1
Definition: precomp.h:8
_In_ ULONG cjSize
Definition: winddi.h:3634
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
NTSTATUS NTAPI MmMapViewInSessionSpace(IN PVOID Section, OUT PVOID *MappedBase, IN OUT PSIZE_T ViewSize)
Definition: section.c:2993
PVOID pvMappedBase
Definition: mapping.h:5

◆ _Success_() [2/2]

_Success_ ( return = 0)

Definition at line 3139 of file fsctrl.c.

3189 {
3190  PLIST_ENTRY Link;
3191 
3192  PVPB Vpb = Vcb->Vpb;
3193  PVPB OldVpb;
3194 
3195  BOOLEAN Remount = FALSE;
3196 
3197  PAGED_CODE();
3198 
3199  UNREFERENCED_PARAMETER( IrpContext );
3200 
3201  //
3202  // Check whether we are looking for a device only Mvcb.
3203  //
3204 
3205  for (Link = CdData.VcbQueue.Flink;
3206  Link != &CdData.VcbQueue;
3207  Link = Link->Flink) {
3208 
3209  *OldVcb = CONTAINING_RECORD( Link, VCB, VcbLinks );
3210 
3211  //
3212  // Skip ourselves.
3213  //
3214 
3215  if (Vcb == *OldVcb) { continue; }
3216 
3217  //
3218  // Look at the Vpb and state of the previous Vcb.
3219  //
3220 
3221  OldVpb = (*OldVcb)->Vpb;
3222 
3223  if ((OldVpb != Vpb) &&
3224  (OldVpb->RealDevice == Vpb->RealDevice) &&
3225  ((*OldVcb)->VcbCondition == VcbNotMounted)) {
3226 
3227  //
3228  // If the current disk is a raw disk then it can match a previous music or
3229  // raw disk.
3230  //
3231 
3232  if (FlagOn( Vcb->VcbState, VCB_STATE_AUDIO_DISK)) {
3233 
3234  if (FlagOn( (*OldVcb)->VcbState, VCB_STATE_AUDIO_DISK )) {
3235 
3236  //
3237  // If we have both TOC then fail the remount if the lengths
3238  // are different or they don't match.
3239  //
3240 
3241  if ((Vcb->TocLength != (*OldVcb)->TocLength) ||
3242  ((Vcb->TocLength != 0) &&
3243  !RtlEqualMemory( Vcb->CdromToc,
3244  (*OldVcb)->CdromToc,
3245  Vcb->TocLength ))) {
3246 
3247  continue;
3248  }
3249 
3250  Remount = TRUE;
3251  break;
3252  }
3253 
3254  //
3255  // The current disk is not a raw disk. Go ahead and compare
3256  // serial numbers, volume label and TOC.
3257  //
3258 
3259  }
3260  else if ((OldVpb->SerialNumber == Vpb->SerialNumber) &&
3261  (Vcb->TocLength == (*OldVcb)->TocLength) &&
3262  ((Vcb->TocLength == 0) || RtlEqualMemory( Vcb->CdromToc,
3263  (*OldVcb)->CdromToc,
3264  Vcb->TocLength )) &&
3265  (Vpb->VolumeLabelLength == OldVpb->VolumeLabelLength) &&
3266  (RtlEqualMemory( OldVpb->VolumeLabel,
3267  Vpb->VolumeLabel,
3268  Vpb->VolumeLabelLength ))) {
3269  //
3270  // Remember the old Vcb. Then set the return value to
3271  // TRUE and break.
3272  //
3273 
3274  Remount = TRUE;
3275  break;
3276  }
3277  }
3278  }
3279 
3280  return Remount;
3281 }
#define VCB_STATE_AUDIO_DISK
Definition: cdstruc.h:718
WCHAR VolumeLabel[MAXIMUM_VOLUME_LABEL_LENGTH/sizeof(WCHAR)]
Definition: iotypes.h:177
#define TRUE
Definition: types.h:120
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:317
Definition: cdstruc.h:504
static int Link(const char **args)
Definition: vfdcmd.c:2414
#define FALSE
Definition: types.h:117
unsigned char BOOLEAN
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560
struct _LIST_ENTRY * Flink
Definition: typedefs.h:121
CD_DATA CdData
Definition: cddata.c:42
NTSYSAPI ULONG NTAPI RtlEqualMemory(CONST VOID *Source1, CONST VOID *Source2, ULONG Length)
struct _DEVICE_OBJECT * RealDevice
Definition: iotypes.h:174
#define Vcb
Definition: cdprocs.h:1415
Definition: typedefs.h:119
#define FlagOn(_F, _SF)
Definition: ext2fs.h:179
LIST_ENTRY VcbQueue
Definition: cdstruc.h:340
Definition: iotypes.h:168
USHORT VolumeLabelLength
Definition: iotypes.h:172
ULONG SerialNumber
Definition: iotypes.h:175
IN OUT PVCB IN PDEVICE_OBJECT IN PVPB Vpb
Definition: fatprocs.h:1673
#define PAGED_CODE()

◆ _When_()

_When_ ( Status< 0, _Out_range_(>  ,
 
)
pure virtual

◆ DbgBreakPoint()

VOID NTAPI DbgBreakPoint ( VOID  )

Definition at line 553 of file mach.c.

553  {
554  __asm__("twi 31,0,0");
555 }
__asm__("\t.globl GetPhys\n" "GetPhys:\t\n" "mflr 0\n\t" "stwu 0,-16(1)\n\t" "mfmsr 5\n\t" "andi. 6,5,0xffef\n\t" "mtmsr 6\n\t" "isync\n\t" "sync\n\t" "lwz 3,0(3)\n\t" "mtmsr 5\n\t" "isync\n\t" "sync\n\t" "lwz 0,0(1)\n\t" "addi 1,1,16\n\t" "mtlr 0\n\t" "blr")

◆ DbgCommandString()

VOID NTAPI DbgCommandString ( _In_ PCCH  Name,
_In_ PCCH  Command 
)

◆ DbgLoadImageSymbols()

VOID NTAPI DbgLoadImageSymbols ( _In_ PSTRING  Name,
_In_ PVOID  Base,
_In_ ULONG_PTR  ProcessId 
)

◆ DbgPrint()

ULONG __cdecl DbgPrint ( _In_z_ _Printf_format_string_ PCSTR  Format,
  ... 
)

◆ DbgPrintEx()

◆ DbgPrompt()

NTSYSAPI ULONG NTAPI DbgPrompt ( _In_z_ PCCH  Prompt,
_Out_writes_bytes_(MaximumResponseLength) PCH  Response,
_In_ ULONG  MaximumResponseLength 
)

◆ DbgUnLoadImageSymbols()

VOID NTAPI DbgUnLoadImageSymbols ( _In_ PSTRING  Name,
_In_ PVOID  Base,
_In_ ULONG_PTR  ProcessId 
)

◆ InterlockedPushListSList()

PSLIST_ENTRY FASTCALL InterlockedPushListSList ( _Inout_ PSLIST_HEADER  ListHead,
_Inout_ __drv_aliasesMem PSLIST_ENTRY  List,
_Inout_ PSLIST_ENTRY  ListEnd,
_In_ ULONG  Count 
)

◆ LdrRelocateImageWithBias()

NTSYSAPI ULONG NTAPI LdrRelocateImageWithBias ( _In_ PVOID  NewAddress,
_In_ LONGLONG  AdditionalBias,
_In_ PCCH  LoaderName,
_In_ ULONG  Success,
_In_ ULONG  Conflict,
_In_ ULONG  Invalid 
)

◆ RtlAcquirePebLock()

NTSYSAPI VOID NTAPI RtlAcquirePebLock ( VOID  )

Definition at line 72 of file libsupp.c.

73 {
74  PPEB Peb = NtCurrentPeb ();
76 }
PPEB Peb
Definition: dllmain.c:27
NTSYSAPI NTSTATUS NTAPI RtlEnterCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
#define NtCurrentPeb()
Definition: FLS.c:20
PVOID FastPebLock
Definition: ntddk_ex.h:250

◆ RtlAcquirePrivilege()

◆ RtlAcquireResourceExclusive()

◆ RtlAcquireResourceShared()

◆ RtlAddAccessAllowedObjectAce()

NTSYSAPI NTSTATUS NTAPI RtlAddAccessAllowedObjectAce ( _Inout_ PACL  pAcl,
_In_ ULONG  dwAceRevision,
_In_ ULONG  AceFlags,
_In_ ACCESS_MASK  AccessMask,
_In_opt_ GUID ObjectTypeGuid,
_In_opt_ GUID InheritedObjectTypeGuid,
_In_ PSID  pSid 
)

◆ RtlAddAccessDeniedAce()

NTSYSAPI NTSTATUS NTAPI RtlAddAccessDeniedAce ( _Inout_ PACL  Acl,
_In_ ULONG  Revision,
_In_ ACCESS_MASK  AccessMask,
_In_ PSID  Sid 
)

◆ RtlAddAccessDeniedAceEx()

NTSYSAPI NTSTATUS NTAPI RtlAddAccessDeniedAceEx ( _Inout_ PACL  Acl,
_In_ ULONG  Revision,
_In_ ULONG  Flags,
_In_ ACCESS_MASK  AccessMask,
_In_ PSID  Sid 
)

Referenced by AddAccessDeniedAceEx().

◆ RtlAddAccessDeniedObjectAce()

NTSYSAPI NTSTATUS NTAPI RtlAddAccessDeniedObjectAce ( _Inout_ PACL  pAcl,
_In_ ULONG  dwAceRevision,
_In_ ULONG  AceFlags,
_In_ ACCESS_MASK  AccessMask,
_In_opt_ GUID ObjectTypeGuid,
_In_opt_ GUID InheritedObjectTypeGuid,
_In_ PSID  pSid 
)

◆ RtlAddAce()

NTSYSAPI NTSTATUS NTAPI RtlAddAce ( _Inout_ PACL  Acl,
_In_ ULONG  AceRevision,
_In_ ULONG  StartingAceIndex,
_In_reads_bytes_(AceListLength) PVOID  AceList,
_In_ ULONG  AceListLength 
)

◆ RtlAddAtomToAtomTable()

NTSYSAPI NTSTATUS NTAPI RtlAddAtomToAtomTable ( _In_ PRTL_ATOM_TABLE  AtomTable,
_In_ PWSTR  AtomName,
_Out_ PRTL_ATOM  Atom 
)

◆ RtlAddAuditAccessAce()

◆ RtlAddAuditAccessAceEx()

NTSYSAPI NTSTATUS NTAPI RtlAddAuditAccessAceEx ( _Inout_ PACL  Acl,
_In_ ULONG  Revision,
_In_ ULONG  Flags,
_In_ ACCESS_MASK  AccessMask,
_In_ PSID  Sid,
_In_ BOOLEAN  Success,
_In_ BOOLEAN  Failure 
)

Referenced by AddAuditAccessAceEx().

◆ RtlAddAuditAccessObjectAce()

NTSYSAPI NTSTATUS NTAPI RtlAddAuditAccessObjectAce ( _Inout_ PACL  Acl,
_In_ ULONG  Revision,
_In_ ULONG  Flags,
_In_ ACCESS_MASK  AccessMask,
_In_opt_ GUID ObjectTypeGuid,
_In_opt_ GUID InheritedObjectTypeGuid,
_In_ PSID  Sid,
_In_ BOOLEAN  Success,
_In_ BOOLEAN  Failure 
)

Referenced by AddAuditAccessObjectAce().

◆ RtlAddMandatoryAce()

NTSYSAPI NTSTATUS NTAPI RtlAddMandatoryAce ( _Inout_ PACL  Acl,
_In_ ULONG  Revision,
_In_ ULONG  Flags,
_In_ ULONG  MandatoryFlags,
_In_ UCHAR  AceType,
_In_ PSID  LabelSid 
)

◆ RtlAddRange()

NTSYSAPI NTSTATUS NTAPI RtlAddRange ( _Inout_ PRTL_RANGE_LIST  RangeList,
_In_ ULONGLONG  Start,
_In_ ULONGLONG  End,
_In_ UCHAR  Attributes,
_In_ ULONG  Flags,
_In_opt_ PVOID  UserData,
_In_opt_ PVOID  Owner 
)

◆ RtlAdjustPrivilege()

◆ RtlAllocateAndInitializeSid()

_Must_inspect_result_ NTSYSAPI NTSTATUS NTAPI RtlAllocateAndInitializeSid ( _In_ PSID_IDENTIFIER_AUTHORITY  IdentifierAuthority,
_In_ UCHAR  SubAuthorityCount,
_In_ ULONG  SubAuthority0,
_In_ ULONG  SubAuthority1,
_In_ ULONG  SubAuthority2,
_In_ ULONG  SubAuthority3,
_In_ ULONG  SubAuthority4,
_In_ ULONG  SubAuthority5,
_In_ ULONG  SubAuthority6,
_In_ ULONG  SubAuthority7,
_Outptr_ PSID Sid 
)

◆ RtlAllocateHandle()

◆ RtlAnsiStringToUnicodeString()

NTSYSAPI NTSTATUS NTAPI RtlAnsiStringToUnicodeString ( PUNICODE_STRING  DestinationString,
PCANSI_STRING  SourceString,
BOOLEAN  AllocateDestinationString 
)

◆ RtlAppendUnicodeStringToString()

NTSYSAPI NTSTATUS NTAPI RtlAppendUnicodeStringToString ( PUNICODE_STRING  Destination,
PCUNICODE_STRING  Source 
)

◆ RtlAppendUnicodeToString()

NTSYSAPI NTSTATUS NTAPI RtlAppendUnicodeToString ( PUNICODE_STRING  Destination,
PCWSTR  Source 
)

◆ RtlAreAllAccessesGranted()

◆ RtlAreAnyAccessesGranted()

NTSYSAPI BOOLEAN NTAPI RtlAreAnyAccessesGranted ( ACCESS_MASK  GrantedAccess,
ACCESS_MASK  DesiredAccess 
)

Referenced by AreAnyAccessesGranted().

◆ RtlCaptureContext()

◆ RtlCharToInteger()

NTSYSAPI NTSTATUS NTAPI RtlCharToInteger ( PCSZ  String,
ULONG  Base,
PULONG  Value 
)

Definition at line 261 of file unicode.c.

265 {
266  CHAR chCurrent;
267  int digit;
268  ULONG RunningTotal = 0;
269  char bMinus = 0;
270 
271  /* skip leading whitespaces */
272  while (*str != '\0' && *str <= ' ') str++;
273 
274  /* Check for +/- */
275  if (*str == '+')
276  {
277  str++;
278  }
279  else if (*str == '-')
280  {
281  bMinus = 1;
282  str++;
283  }
284 
285  /* base = 0 means autobase */
286  if (base == 0)
287  {
288  base = 10;
289 
290  if (str[0] == '0')
291  {
292  if (str[1] == 'b')
293  {
294  str += 2;
295  base = 2;
296  }
297  else if (str[1] == 'o')
298  {
299  str += 2;
300  base = 8;
301  }
302  else if (str[1] == 'x')
303  {
304  str += 2;
305  base = 16;
306  }
307  }
308  }
309  else if (base != 2 && base != 8 && base != 10 && base != 16)
310  {
312  }
313 
314  if (value == NULL) return STATUS_ACCESS_VIOLATION;
315 
316  while (*str != '\0')
317  {
318  chCurrent = *str;
319 
320  if (chCurrent >= '0' && chCurrent <= '9')
321  {
322  digit = chCurrent - '0';
323  }
324  else if (chCurrent >= 'A' && chCurrent <= 'Z')
325  {
326  digit = chCurrent - 'A' + 10;
327  }
328  else if (chCurrent >= 'a' && chCurrent <= 'z')
329  {
330  digit = chCurrent - 'a' + 10;
331  }
332  else
333  {
334  digit = -1;
335  }
336 
337  if (digit < 0 || digit >= (int)base) break;
338 
339  RunningTotal = RunningTotal * base + digit;
340  str++;
341  }
342 
343  *value = bMinus ? (0 - RunningTotal) : RunningTotal;
344  return STATUS_SUCCESS;
345 }
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
char CHAR
Definition: xmlstorage.h:175
const WCHAR * str
smooth NULL
Definition: ftsmooth.c:416
#define STATUS_ACCESS_VIOLATION
Definition: ntstatus.h:242
unsigned int ULONG
Definition: retypes.h:1
return STATUS_SUCCESS
Definition: btrfs.c:3014

◆ RtlCompareUnicodeString()

NTSYSAPI LONG NTAPI RtlCompareUnicodeString ( PCUNICODE_STRING  String1,
PCUNICODE_STRING  String2,
BOOLEAN  CaseInsensitive 
)

Definition at line 31 of file string_lib.cpp.

36 {
37  ULONG i;
38 
39  if(s1->Length != s2->Length) return (-1);
40  i = memcmp(s1->Buffer, s2->Buffer, (s1->Length) ? (s1->Length) : (s2->Length));
41  return i;
42 }
struct S2 s2
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
Definition: utclib.c:112
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
struct S1 s1
unsigned int ULONG
Definition: retypes.h:1

◆ RtlCompressBuffer()

NTSYSAPI NTSTATUS NTAPI RtlCompressBuffer ( _In_ USHORT  CompressionFormatAndEngine,
_In_reads_bytes_(UncompressedBufferSize) PUCHAR  UncompressedBuffer,
_In_ ULONG  UncompressedBufferSize,
_Out_writes_bytes_to_(CompressedBufferSize, *FinalCompressedSize) PUCHAR  CompressedBuffer,
_In_ ULONG  CompressedBufferSize,
_In_ ULONG  UncompressedChunkSize,
_Out_ PULONG  FinalCompressedSize,
_In_ PVOID  WorkSpace 
)

◆ RtlComputeCrc32()

NTSYSAPI ULONG NTAPI RtlComputeCrc32 ( _In_ ULONG  InitialCrc,
_In_ PUCHAR  Buffer,
_In_ ULONG  Length 
)

◆ RtlComputePrivatizedDllName_U()

NTSYSAPI NTSTATUS NTAPI RtlComputePrivatizedDllName_U ( _In_ PUNICODE_STRING  DllName,
_Inout_ PUNICODE_STRING  RealName,
_Inout_ PUNICODE_STRING  LocalName 
)

Definition at line 467 of file path.c.

471 {
472  static const UNICODE_STRING ExtensionChar = RTL_CONSTANT_STRING(L".");
473 
475  UNICODE_STRING ImagePathName, DllNameOnly, CopyRealName, CopyLocalName;
476  BOOLEAN HasExtension;
479  C_ASSERT(sizeof(UNICODE_NULL) == sizeof(WCHAR));
480 
481  CopyRealName = *RealName;
482  CopyLocalName = *LocalName;
483 
484 
485  /* Get the image path */
487 
488  /* Check if it's not normalized */
489  if (!(RtlGetCurrentPeb()->ProcessParameters->Flags & RTL_USER_PROCESS_PARAMETERS_NORMALIZED))
490  {
491  /* Normalize it */
492  ImagePathName.Buffer = (PWSTR)((ULONG_PTR)ImagePathName.Buffer + (ULONG_PTR)RtlGetCurrentPeb()->ProcessParameters);
493  }
494 
495 
497  DllName, &RtlpPathDividers, &Position)))
498  {
499  DllNameOnly = *DllName;
500  }
501  else
502  {
503  /* Just keep the dll name, ignore path components */
504  Position += sizeof(WCHAR);
505  DllNameOnly.Buffer = DllName->Buffer + Position / sizeof(WCHAR);
506  DllNameOnly.Length = DllName->Length - Position;
507  DllNameOnly.MaximumLength = DllName->MaximumLength - Position;
508  }
509 
511  &DllNameOnly, &ExtensionChar, &Position)))
512  {
513  Position = 0;
514  }
515 
516  HasExtension = Position > 1;
517 
518  /* First we create the c:\path\processname.exe.Local\something.dll path */
519  RequiredSize = ImagePathName.Length + RtlpDotLocal.Length + DllNameOnly.Length +
520  (HasExtension ? 0 : RtlpDefaultExtension.Length) + sizeof(UNICODE_NULL);
521 
522  /* This is not going to work out */
524  return STATUS_NAME_TOO_LONG;
525 
526  /* We need something extra */
527  if (RequiredSize > CopyLocalName.MaximumLength)
528  {
530  if (CopyLocalName.Buffer == NULL)
531  return STATUS_NO_MEMORY;
532  CopyLocalName.MaximumLength = RequiredSize;
533  }
534  /* Now build the entire path */
535  CopyLocalName.Length = 0;
536  Status = RtlAppendUnicodeStringToString(&CopyLocalName, &ImagePathName);
538  if (NT_SUCCESS(Status))
539  {
542  }
543  if (NT_SUCCESS(Status))
544  {
545  Status = RtlAppendUnicodeStringToString(&CopyLocalName, &DllNameOnly);
547  }
548  /* Do we need to append an extension? */
549  if (NT_SUCCESS(Status) && !HasExtension)
550  {
553  }
554 
555  if (NT_SUCCESS(Status))
556  {
557  /* then we create the c:\path\something.dll path */
559  &ImagePathName, &RtlpPathDividers, &Position)))
560  {
561  ImagePathName.Length = Position + sizeof(WCHAR);
562  }
563 
564  RequiredSize = ImagePathName.Length + DllNameOnly.Length +
565  (HasExtension ? 0 : RtlpDefaultExtension.Length) + sizeof(UNICODE_NULL);
566 
568  {
570  }
571  else
572  {
573  if (RequiredSize > CopyRealName.MaximumLength)
574  {
576  if (CopyRealName.Buffer == NULL)
578  CopyRealName.MaximumLength = RequiredSize;
579  }
580  CopyRealName.Length = 0;
581  if (NT_SUCCESS(Status))
582  {
583  Status = RtlAppendUnicodeStringToString(&CopyRealName, &ImagePathName);
585  }
586  if (NT_SUCCESS(Status))
587  {
588  Status = RtlAppendUnicodeStringToString(&CopyRealName, &DllNameOnly);
590  }
591  if (NT_SUCCESS(Status) && !HasExtension)
592  {
595  }
596  }
597  }
598 
599  if (!NT_SUCCESS(Status))
600  {
601  if (CopyRealName.Buffer && CopyRealName.Buffer != RealName->Buffer)
602  RtlpFreeStringMemory(CopyRealName.Buffer, TAG_USTR);
603  if (CopyLocalName.Buffer && CopyLocalName.Buffer != LocalName->Buffer)
604  RtlpFreeStringMemory(CopyLocalName.Buffer, TAG_USTR);
605  return Status;
606  }
607 
608  *RealName = CopyRealName;
609  *LocalName = CopyLocalName;
610  return STATUS_SUCCESS;
611 }
#define RTL_FIND_CHAR_IN_UNICODE_STRING_START_AT_END
Definition: rtl.h:25
static const UNICODE_STRING RtlpDotLocal
Definition: path.c:51
USHORT MaximumLength
Definition: env_spec_w32.h:370
C_ASSERT(RTL_CURDIR_ALL_FLAGS==OBJ_HANDLE_TAGBITS)
uint16_t * PWSTR
Definition: typedefs.h:56
static COORD Position
Definition: mouse.c:34
LONG NTSTATUS
Definition: precomp.h:26
#define RtlpAllocateStringMemory
Definition: rtlp.h:140
_Inout_ PRTL_BUFFER _In_ SIZE_T RequiredSize
PRTL_USER_PROCESS_PARAMETERS ProcessParameters
Definition: btrfs_drv.h:1959
#define UNICODE_STRING_MAX_BYTES
static const UNICODE_STRING RtlpDefaultExtension
Definition: path.c:50
uint32_t ULONG_PTR
Definition: typedefs.h:65
NTSTATUS NTAPI RtlFindCharInUnicodeString(_In_ ULONG Flags, _In_ PCUNICODE_STRING SearchString, _In_ PCUNICODE_STRING MatchString, _Out_ PUSHORT Position)
static ULONG_PTR
Definition: path.c:79
#define UNICODE_NULL
unsigned char BOOLEAN
smooth NULL
Definition: ftsmooth.c:416
#define STATUS_NAME_TOO_LONG
Definition: ntstatus.h:498
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
static const UNICODE_STRING RtlpPathDividers
Definition: path.c:52
PPEB NTAPI RtlGetCurrentPeb(VOID)
Definition: libsupp.c:63
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
#define RtlpFreeStringMemory
Definition: rtlp.h:141
Status
Definition: gdiplustypes.h:24
UNICODE_STRING ImagePathName
Definition: btrfs_drv.h:1947
static const WCHAR L[]
Definition: oid.c:1250
#define TAG_USTR
Definition: libsupp.c:111
unsigned short USHORT
Definition: pedump.c:61
#define STATUS_NO_MEMORY
Definition: ntstatus.h:260
NTSYSAPI NTSTATUS NTAPI RtlAppendUnicodeStringToString(PUNICODE_STRING Destination, PUNICODE_STRING Source)
unsigned int ULONG
Definition: retypes.h:1
#define RTL_USER_PROCESS_PARAMETERS_NORMALIZED
Definition: rtltypes.h:41
return STATUS_SUCCESS
Definition: btrfs.c:3014
#define RTL_CONSTANT_STRING(s)
Definition: tunneltest.c:14

Referenced by RtlDosApplyFileIsolationRedirection_Ustr(), test_allocations(), and test_dllnames().

◆ RtlConvertExclusiveToShared()

NTSYSAPI VOID NTAPI RtlConvertExclusiveToShared ( _In_ PRTL_RESOURCE  Resource)

◆ RtlConvertSharedToExclusive()

NTSYSAPI VOID NTAPI RtlConvertSharedToExclusive ( _In_ PRTL_RESOURCE  Resource)

◆ RtlCopyLuidAndAttributesArray()

NTSYSAPI VOID NTAPI RtlCopyLuidAndAttributesArray ( ULONG  Count,
PLUID_AND_ATTRIBUTES  Src,
PLUID_AND_ATTRIBUTES  Dest 
)

Definition at line 33 of file luid.c.

36 {
37  ULONG i;
38 
40 
41  for (i = 0; i < Count; i++)
42  {
43  RtlCopyMemory(&Dest[i],
44  &Src[i],
45  sizeof(LUID_AND_ATTRIBUTES));
46  }
47 }
NTSYSAPI VOID NTAPI RtlCopyMemory(VOID UNALIGNED *Destination, CONST VOID UNALIGNED *Source, ULONG Length)
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY _In_ ULONG Count
Definition: exfuncs.h:1223
#define PAGED_CODE_RTL()
Definition: rtlp.h:16
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
unsigned int ULONG
Definition: retypes.h:1

Referenced by LsarAddPrivilegesToAccount(), LsarRemovePrivilegesFromAccount(), NtQueryInformationToken(), and SeQueryInformationToken().

◆ RtlCopyRangeList()

NTSYSAPI NTSTATUS NTAPI RtlCopyRangeList ( _Out_ PRTL_RANGE_LIST  CopyRangeList,
_In_ PRTL_RANGE_LIST  RangeList 
)

◆ RtlCopySecurityDescriptor()

NTSYSAPI NTSTATUS NTAPI RtlCopySecurityDescriptor ( _In_ PSECURITY_DESCRIPTOR  pSourceSecurityDescriptor,
_Out_ PSECURITY_DESCRIPTOR pDestinationSecurityDescriptor 
)

◆ RtlCopySidAndAttributesArray()

NTSYSAPI NTSTATUS NTAPI RtlCopySidAndAttributesArray ( _In_ ULONG  Count,
_In_ PSID_AND_ATTRIBUTES  Src,
_In_ ULONG  SidAreaSize,
_In_ PSID_AND_ATTRIBUTES  Dest,
_In_ PSID  SidArea,
_Out_ PSID RemainingSidArea,
_Out_ PULONG  RemainingSidAreaSize 
)

◆ RtlCopyString()

NTSYSAPI VOID NTAPI RtlCopyString ( _Out_ PSTRING  DestinationString,
_In_opt_ const STRING SourceString 
)

◆ RtlCopyUnicodeString()

NTSYSAPI VOID NTAPI RtlCopyUnicodeString ( PUNICODE_STRING  DestinationString,
PCUNICODE_STRING  SourceString 
)

◆ RtlCreateAcl()

◆ RtlCreateAtomTable()

NTSYSAPI NTSTATUS NTAPI RtlCreateAtomTable ( _In_ ULONG  TableSize,
_Inout_ PRTL_ATOM_TABLE AtomTable 
)

◆ RtlCreateEnvironment()

NTSYSAPI NTSTATUS NTAPI RtlCreateEnvironment ( _In_ BOOLEAN  Inherit,
_Out_ PWSTR Environment 
)

◆ RtlCreateProcessParameters()

NTSYSAPI NTSTATUS NTAPI RtlCreateProcessParameters ( _Out_ PRTL_USER_PROCESS_PARAMETERS ProcessParameters,
_In_ PUNICODE_STRING  ImagePathName,
_In_opt_ PUNICODE_STRING  DllPath,
_In_opt_ PUNICODE_STRING  CurrentDirectory,
_In_opt_ PUNICODE_STRING  CommandLine,
_In_opt_ PWSTR  Environment,
_In_opt_ PUNICODE_STRING  WindowTitle,
_In_opt_ PUNICODE_STRING  DesktopInfo,
_In_opt_ PUNICODE_STRING  ShellInfo,
_In_opt_ PUNICODE_STRING  RuntimeInfo 
)

◆ RtlCreateQueryDebugBuffer()

NTSYSAPI PRTL_DEBUG_INFORMATION NTAPI RtlCreateQueryDebugBuffer ( _In_ ULONG  Size,
_In_ BOOLEAN  EventPair 
)

Definition at line 66 of file dbgbuffer.c.

68 {
71  SIZE_T AllocationSize = Size ? Size : 0x400 * PAGE_SIZE;
72  SIZE_T CommitSize = sizeof(*Buf);
73 
74  /* Reserve the memory */
76  if (!NT_SUCCESS(Status))
77  return NULL;
78 
79  /* Commit the first data, CommitSize is updated with the actual committed data */
81  if (!NT_SUCCESS(Status))
82  {
84  return NULL;
85  }
86 
87  /* Fill out the minimum data required */
88  Buf->ViewBaseClient = Buf;
90  Buf->CommitSize = CommitSize;
91  Buf->OffsetFree = sizeof(*Buf);
92 
93  return Buf;
94 }
LONG NTSTATUS
Definition: precomp.h:26
#define MEM_COMMIT
Definition: nt_native.h:1313
#define MEM_RESERVE
Definition: nt_native.h:1314
smooth NULL
Definition: ftsmooth.c:416
#define NtCurrentProcess()
Definition: nt_native.h:1657
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID _In_ ULONG_PTR _In_ SIZE_T CommitSize
Definition: mmfuncs.h:404
Status
Definition: gdiplustypes.h:24
#define PAGE_SIZE
Definition: env_spec_w32.h:49
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:361
IN PFCB IN PFILE_OBJECT FileObject IN ULONG AllocationSize
Definition: fatprocs.h:319
ULONG_PTR SIZE_T
Definition: typedefs.h:80
NTSTATUS NTAPI NtAllocateVirtualMemory(IN HANDLE ProcessHandle, IN OUT PVOID *UBaseAddress, IN ULONG_PTR ZeroBits, IN OUT PSIZE_T URegionSize, IN ULONG AllocationType, IN ULONG Protect)
Definition: virtual.c:4367
NTSTATUS NTAPI RtlDestroyQueryDebugBuffer(_In_ PRTL_DEBUG_INFORMATION Buf)
Definition: dbgbuffer.c:101
unsigned int ULONG
Definition: retypes.h:1
#define PAGE_READWRITE
Definition: nt_native.h:1304

Referenced by Heap32First(), Heap32Next(), START_TEST(), Test_Buffersizes(), Test_ProcessModules(), and TH32CreateSnapshot().

◆ RtlCreateRegistryKey()

NTSYSAPI NTSTATUS NTAPI RtlCreateRegistryKey ( _In_ ULONG  RelativeTo,
_In_ PWSTR  Path 
)

Referenced by DriverEntry().

◆ RtlCreateSecurityDescriptor()

◆ RtlCreateSecurityDescriptorRelative()

NTSYSAPI NTSTATUS NTAPI RtlCreateSecurityDescriptorRelative ( _Out_ PISECURITY_DESCRIPTOR_RELATIVE  SecurityDescriptor,
_In_ ULONG  Revision 
)

◆ RtlCreateTimer()

NTSYSAPI NTSTATUS NTAPI RtlCreateTimer ( _In_ HANDLE  TimerQueue,
_In_ PHANDLE  phNewTimer,
_In_ WAITORTIMERCALLBACKFUNC  Callback,
_In_ PVOID  Parameter,
_In_ ULONG  DueTime,
_In_ ULONG  Period,
_In_ ULONG  Flags 
)

◆ RtlCreateTimerQueue()

NTSYSAPI NTSTATUS NTAPI RtlCreateTimerQueue ( PHANDLE  TimerQueue)

Definition at line 285 of file timerqueue.c.

286 {
288  struct timer_queue *q = RtlAllocateHeap(RtlGetProcessHeap(), 0, sizeof *q);
289  if (!q)
290  return STATUS_NO_MEMORY;
291 
293  list_init(&q->timers);
294  q->quit = FALSE;
295  q->magic = TIMER_QUEUE_MAGIC;
297  if (status != STATUS_SUCCESS)
298  {
299  RtlFreeHeap(RtlGetProcessHeap(), 0, q);
300  return status;
301  }
303  if (status != STATUS_SUCCESS)
304  {
305  NtClose(q->event);
306  RtlFreeHeap(RtlGetProcessHeap(), 0, q);
307  return status;
308  }
309 
310  NtResumeThread(q->thread, NULL);
311  *NewTimerQueue = q;
312  return STATUS_SUCCESS;
313 }
PRTL_START_POOL_THREAD RtlpStartThreadFunc
Definition: workitem.c:45
LONG NTSTATUS
Definition: precomp.h:26
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
Definition: heap.c:606
NTSTATUS NTAPI NtCreateEvent(OUT PHANDLE EventHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN EVENT_TYPE EventType, IN BOOLEAN InitialState)
Definition: event.c:100
#define FALSE
Definition: types.h:117
#define EVENT_ALL_ACCESS
Definition: isotest.c:82
smooth NULL
Definition: ftsmooth.c:416
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
Definition: heap.c:588
NTSTATUS NTAPI NtResumeThread(IN HANDLE ThreadHandle, OUT PULONG SuspendCount OPTIONAL)
Definition: state.c:290
NTSYSAPI NTSTATUS NTAPI RtlInitializeCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
#define TIMER_QUEUE_MAGIC
Definition: timerqueue.c:65
GLdouble GLdouble GLdouble GLdouble q
Definition: gl.h:2063
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
Definition: obhandle.c:3399
static DWORD WINAPI timer_queue_thread_proc(LPVOID p)
Definition: timerqueue.c:215
#define STATUS_NO_MEMORY
Definition: ntstatus.h:260
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
Definition: list.h:149
return STATUS_SUCCESS
Definition: btrfs.c:3014
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

◆ RtlCreateUnicodeString()

NTSYSAPI BOOLEAN NTAPI RtlCreateUnicodeString ( PUNICODE_STRING  DestinationString,
PCWSTR  SourceString 
)

◆ RtlCreateUnicodeStringFromAsciiz()

NTSYSAPI BOOLEAN NTAPI RtlCreateUnicodeStringFromAsciiz ( _Out_ PUNICODE_STRING  Destination,
_In_ PCSZ  Source 
)

Referenced by AccessCheckAndAuditAlarmA(), AddDelBackupEntryA(), AddDesktopItemA(), AddItemA(), AdvInstallFileA(), AppendMenuA(), AsciiToUnicode(), BeginUpdateResourceA(), BuildCommDCBAndTimeoutsA(), capCreateCaptureWindowA(), ChangeDisplaySettingsExA(), CmpSetSystemValues(), CopyMetaFileA(), CopyProfileDirectoryA(), CreateDesktopA(), CreateGroupA(), CreateWindowStationA(), DecryptFileA(), DeleteDesktopItemA(), DeleteGroupA(), DeleteItemA(), DeleteProfileA(), DelNodeA(), DelNodeRunDLL32A(), DoInfInstall(), EncryptFileA(), EnumDisplayDevicesA(), EnumDisplaySettingsExA(), ExecuteCabA(), ExpInitializeExecutive(), FD31_MapOfnStructA(), FileEncryptionStatusA(), FileSaveRestoreA(), FileSaveRestoreOnINFA(), get_res_nameA(), GetClassInfoExA(), GetDefaultCommConfigA(), GetFileSecurityA(), GetFileTitleA(), GetFileVersionInfoExA(), GetFileVersionInfoSizeExA(), GetPrinterDriverDirectoryA(), GetPrivateProfileIntA(), GetPrivateProfileSectionA(), GetPrivateProfileSectionNamesA(), GetPrivateProfileStringA(), GetPrivateProfileStructA(), GetPropA(), GetVersionFromFileExA(), HandleDumpAttributes(), init_funcs(), InitFunctionPtrs(), InsertMenuA(), InsertMenuItemA(), InstallHinfSectionA(), LaunchINFSectionA(), LaunchINFSectionExA(), LogonUserExA(), LookupAccountNameA(), LookupPrivilegeDisplayNameA(), LookupPrivilegeNameA(), LookupPrivilegeValueA(), MapFile(), MCIWndCreateA(), MCIWndProc(), MessageBoxIndirectA(), MessageBoxTimeoutA(), ModifyMenuA(), MsgiAnsiToUnicodeMessage(), ObjectCloseAuditAlarmA(), ObjectDeleteAuditAlarmA(), ObjectOpenAuditAlarmA(), ObjectPrivilegeAuditAlarmA(), OpenDesktopA(), OpenINFEngineA(), OpenWindowStationA(), PathCreateFromUrlA(), PlaySound_Alloc(), PrivilegedServiceAuditAlarmA(), RealSystemParametersInfoA(), RebootCheckOnInstallA(), RegConnectRegistryA(), RegCopyTreeA(), RegCreateKeyExA(), RegDeleteKeyExA(), RegDeleteKeyValueA(), RegDeleteTreeA(), RegDeleteValueA(), RegInstallA(), RegisterClipboardFormatA(), RegisterOCX(), RegisterWindowMessageA(), RegLoadKeyA(), RegLoadMUIStringA(), RegOpenKeyExA(), RegQueryValueExA(), RegReplaceKeyA(), RegRestoreAllA(), RegRestoreKeyA(), RegSaveKeyA(), RegSaveKeyExA(), RegSaveRestoreA(), RegSaveRestoreOnINFA(), RegSetKeyValueA(), RegSetValueExA(), RegUnLoadKeyA(), RemovePropA(), ROpenSCManagerA(), ROpenServiceA(), RosSymCreateFromFile(), RosSymCreateFromMem(), RpcNetworkIsProtseqValidA(), RunSetupCommandA(), SCardAddReaderToGroupA(), SECUR32_findPackageA(), SeiFindHookModuleInfoForImportDescriptor(), SetClassLongA(), SetComputerNameExA(), SetFileSecurityA(), SetMenuItemInfoA(), SetNamedSecurityInfoA(), SetPropA(), SetupFindFirstLineA(), SetupFindNextMatchLineA(), SetupGetLineByIndexA(), SetupGetLineCountA(), SetupInstallFileA(), SetupInstallFilesFromInfSectionA(), SetupInstallFromInfSectionA(), SetupInstallServicesFromInfSectionExA(), SetupOpenInfFileA(), SetupQueueCopySectionA(), SetupQueueDeleteSectionA(), SetupQueueRenameSectionA(), SetupSetDirectoryIdA(), StartServiceCtrlDispatcherA(), StopWatchA(), thunk_AcquireCredentialsHandleA(), thunk_AddCredentialsA(), thunk_ImportSecurityContextA(), thunk_InitializeSecurityContextA(), TranslateInfStringA(), TranslateInfStringExA(), TreeResetNamedSecurityInfoA(), UnregisterClassA(), UpdateResourceA(), UrlCreateFromPathA(), UrlEscapeA(), User32CreateWindowEx(), UserInstStubWrapperA(), UserUnInstStubWrapperA(), WritePrivateProfileSectionA(), WritePrivateProfileStringA(), and WritePrivateProfileStructA().

◆ RtlCreateUserProcess()

NTSYSAPI NTSTATUS NTAPI RtlCreateUserProcess ( _In_ PUNICODE_STRING  ImageFileName,
_In_ ULONG  Attributes,
_In_ PRTL_USER_PROCESS_PARAMETERS  ProcessParameters,
_In_opt_ PSECURITY_DESCRIPTOR  ProcessSecutityDescriptor,
_In_opt_ PSECURITY_DESCRIPTOR  ThreadSecurityDescriptor,
_In_opt_ HANDLE  ParentProcess,
_In_ BOOLEAN  CurrentDirectory,
_In_opt_ HANDLE  DebugPort,
_In_opt_ HANDLE  ExceptionPort,
_Out_ PRTL_USER_PROCESS_INFORMATION  ProcessInfo 
)

◆ RtlCreateUserThread()

◆ RtlDeleteAce()

NTSYSAPI NTSTATUS NTAPI RtlDeleteAce ( PACL  Acl,
ULONG  AceIndex 
)

Referenced by DeleteAce(), and START_TEST().

◆ RtlDeleteAtomFromAtomTable()

◆ RtlDeleteCriticalSection()

◆ RtlDeleteOwnersRanges()

NTSYSAPI NTSTATUS NTAPI RtlDeleteOwnersRanges ( _Inout_ PRTL_RANGE_LIST  RangeList,
_In_ _Maybenull_ PVOID  Owner 
)

◆ RtlDeleteRange()

NTSYSAPI NTSTATUS NTAPI RtlDeleteRange ( _Inout_ PRTL_RANGE_LIST  RangeList,
_In_ ULONGLONG  Start,
_In_ ULONGLONG  End,
_In_ PVOID  Owner 
)

◆ RtlDeleteResource()

◆ RtlDeleteSecurityObject()

NTSYSAPI NTSTATUS NTAPI RtlDeleteSecurityObject ( _In_ PSECURITY_DESCRIPTOR ObjectDescriptor)

◆ RtlDeleteTimer()

NTSYSAPI NTSTATUS NTAPI RtlDeleteTimer ( _In_ HANDLE  TimerQueue,
_In_ HANDLE  Timer,
_In_ HANDLE  CompletionEvent 
)

◆ RtlDeleteTimerQueue()

NTSYSAPI NTSTATUS NTAPI RtlDeleteTimerQueue ( HANDLE  TimerQueue)

Definition at line 595 of file timerqueue.c.

596 {
597  return RtlDeleteTimerQueueEx(TimerQueue, INVALID_HANDLE_VALUE);
598 }
#define INVALID_HANDLE_VALUE
Definition: compat.h:479
NTSTATUS WINAPI RtlDeleteTimerQueueEx(HANDLE TimerQueue, HANDLE CompletionEvent)
Definition: timerqueue.c:331

◆ RtlDeleteTimerQueueEx()

NTSYSAPI NTSTATUS NTAPI RtlDeleteTimerQueueEx ( _In_ HANDLE  TimerQueue,
_In_opt_ HANDLE  CompletionEvent 
)

◆ RtlDeNormalizeProcessParams()

NTSYSAPI PRTL_USER_PROCESS_PARAMETERS NTAPI RtlDeNormalizeProcessParams ( _In_ PRTL_USER_PROCESS_PARAMETERS  ProcessParameters)

Referenced by ExpLoadInitialProcess().

◆ RtlDeregisterWait()

NTSYSAPI NTSTATUS NTAPI RtlDeregisterWait ( _In_ HANDLE  hWaitHandle)

Referenced by test_RtlRegisterWait().

◆ RtlDeregisterWaitEx()

NTSYSAPI NTSTATUS NTAPI RtlDeregisterWaitEx ( _In_ HANDLE  hWaitHandle,
_In_opt_ HANDLE  hCompletionEvent 
)

◆ RtlDestroyAtomTable()

NTSYSAPI NTSTATUS NTAPI RtlDestroyAtomTable ( IN PRTL_ATOM_TABLE  AtomTable)

Definition at line 203 of file atom.c.

205 {
206  PRTL_ATOM_TABLE_ENTRY *CurrentBucket, *LastBucket;
207  PRTL_ATOM_TABLE_ENTRY CurrentEntry, NextEntry;
208 
209  DPRINT("RtlDestroyAtomTable (AtomTable %p)\n", AtomTable);
210 
211  if (!RtlpLockAtomTable(AtomTable))
212  {
213  return (STATUS_INVALID_PARAMETER);
214  }
215 
216  /* delete all atoms */
217  LastBucket = AtomTable->Buckets + AtomTable->NumberOfBuckets;
218  for (CurrentBucket = AtomTable->Buckets;
219  CurrentBucket != LastBucket;
220  CurrentBucket++)
221  {
222  NextEntry = *CurrentBucket;
223  *CurrentBucket = NULL;
224 
225  while (NextEntry != NULL)
226  {
227  CurrentEntry = NextEntry;
228  NextEntry = NextEntry->HashLink;
229 
230  /* no need to delete the atom handle, the handles will all be freed
231  up when destroying the atom handle table! */
232 
233  RtlpFreeAtomTableEntry(CurrentEntry);
234  }
235  }
236 
237  RtlpDestroyAtomHandleTable(AtomTable);
238 
239  RtlpUnlockAtomTable(AtomTable);
240 
241  RtlpDestroyAtomTableLock(AtomTable);
242 
243  RtlpFreeAtomTable(AtomTable);
244 
245  return STATUS_SUCCESS;
246 }
Definition: rtltypes.h:1669
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
VOID RtlpFreeAtomTableEntry(PRTL_ATOM_TABLE_ENTRY Entry)
Definition: libsupp.c:434
smooth NULL
Definition: ftsmooth.c:416
void DPRINT(...)
Definition: polytest.cpp:61
VOID RtlpUnlockAtomTable(PRTL_ATOM_TABLE AtomTable)
Definition: libsupp.c:385
VOID RtlpDestroyAtomTableLock(PRTL_ATOM_TABLE AtomTable)
Definition: libsupp.c:370
struct _RTL_ATOM_TABLE_ENTRY * HashLink
Definition: rtltypes.h:1671
VOID RtlpDestroyAtomHandleTable(PRTL_ATOM_TABLE AtomTable)
Definition: libsupp.c:404
BOOLEAN RtlpLockAtomTable(PRTL_ATOM_TABLE AtomTable)
Definition: libsupp.c:377
return STATUS_SUCCESS
Definition: btrfs.c:3014
VOID RtlpFreeAtomTable(PRTL_ATOM_TABLE AtomTable)
Definition: libsupp.c:418

Referenced by IntWinStaObjectDelete(), and main().

◆ RtlDestroyEnvironment()

◆ RtlDestroyHandleTable()

NTSYSAPI VOID NTAPI RtlDestroyHandleTable ( _Inout_ PRTL_HANDLE_TABLE  HandleTable)

◆ RtlDestroyProcessParameters()

NTSYSAPI NTSTATUS NTAPI RtlDestroyProcessParameters ( _In_ PRTL_USER_PROCESS_PARAMETERS  ProcessParameters)

◆ RtlDestroyQueryDebugBuffer()

◆ RtlDetermineDosPathNameType_U()

◆ RtlDispatchException()

NTSYSAPI BOOLEAN NTAPI RtlDispatchException ( _In_ PEXCEPTION_RECORD  ExceptionRecord,
_In_ PCONTEXT  Context 
)

Definition at line 34 of file except.c.

37 {
38  ASSERT(FALSE);
39  return FALSE;
40 }
#define FALSE
Definition: types.h:117
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)

Referenced by KiDispatchException(), KiUserExceptionDispatcher(), RtlRaiseException(), and RtlRaiseStatus().

◆ RtlDoesFileExists_U()

NTSYSAPI BOOLEAN NTAPI RtlDoesFileExists_U ( _In_ PCWSTR  FileName)

Referenced by START_TEST().

◆ RtlDosPathNameToNtPathName_U()

NTSYSAPI BOOLEAN NTAPI RtlDosPathNameToNtPathName_U ( _In_opt_z_ PCWSTR  DosPathName,
_Out_ PUNICODE_STRING  NtPathName,
_Out_opt_ PCWSTR NtFileNamePart,
_Out_opt_ PRTL_RELATIVE_NAME_U  DirectoryInfo 
)

◆ RtlDosPathNameToRelativeNtPathName_U()

◆ RtlDosSearchPath_U()

NTSYSAPI ULONG NTAPI RtlDosSearchPath_U ( _In_ PCWSTR  Path,
_In_ PCWSTR  FileName,
_In_ PCWSTR  Extension,
_In_ ULONG  BufferSize,
_Out_ PWSTR  Buffer,
_Out_ PWSTR PartName 
)

◆ RtlDosSearchPath_Ustr()

NTSYSAPI NTSTATUS NTAPI RtlDosSearchPath_Ustr ( _In_ ULONG  Flags,
_In_ PUNICODE_STRING  PathString,
_In_ PUNICODE_STRING  FileNameString,
_In_ PUNICODE_STRING  ExtensionString,
_In_ PUNICODE_STRING  CallerBuffer,
_Inout_opt_ PUNICODE_STRING  DynamicString,
_Out_opt_ PUNICODE_STRING FullNameOut,
_Out_opt_ PSIZE_T  FilePartSize,
_Out_opt_ PSIZE_T  LengthNeeded 
)

Referenced by START_TEST().

◆ RtlDowncaseUnicodeChar()

NTSYSAPI WCHAR NTAPI RtlDowncaseUnicodeChar ( IN WCHAR  Source)

Definition at line 131 of file nls.c.

132 {
133  PAGED_CODE_RTL();
134 
136 }
#define PAGED_CODE_RTL()
Definition: rtlp.h:16
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
Definition: ndis.h:3167
WCHAR NTAPI RtlpDowncaseUnicodeChar(IN WCHAR Source)
Definition: nls.c:89

◆ RtlDumpResource()

NTSYSAPI VOID NTAPI RtlDumpResource ( _In_ PRTL_RESOURCE  Resource)

◆ RtlEnterCriticalSection()

NTSYSAPI NTSTATUS NTAPI RtlEnterCriticalSection ( _In_ PRTL_CRITICAL_SECTION  CriticalSection)

Referenced by AddBSMRequest(), AllocConsole(), AttachConsole(), AVrfDllLoadNotification(), AVrfDllUnloadNotification(), BaseComputeProcessDllPath(), BasepIsProcessAllowed(), BasepReplaceProcessThreadTokens(), BaseSrvBSMThread(), BaseSrvCleanupVDMResources(), BaseSrvNLSInit(), ClearUserApiHook(), CloseDefaultKeys(), CON_API(), ConsoleControlDispatcher(), ConSrvFreeHandlesTable(), ConSrvGetObject(), ConSrvInheritHandlesTable(), ConSrvInitProcessHandles(), ConSrvRemoveObject(), CSR_API(), EndUserApiHook(), EngAcquireSemaphore(), FindClose(), FindNextFileW(), FindNextStreamW(), FreeConsole(), get_registry_locale_info(), GetConsoleInputExeNameW(), GetCurrentExeName(), GetDllDirectoryA(), GetDllDirectoryW(), GetPrivateProfileSectionNamesW(), GetPrivateProfileSectionW(), GetPrivateProfileStringW(), GetPrivateProfileStructW(), InitUserApiHook(), InternalSleep(), IntGetCodePageEntry(), IntGetLoadedCodePageEntry(), LdrLockLoaderLock(), LdrpGetProcedureAddress(), LdrpLoadDll(), LdrQueryProcessModuleInformationEx(), LdrShutdownProcess(), LdrShutdownThread(), LdrUnloadDll(), LoadTheSpoolerDrv(), LsarOpenPolicy(), MapDefaultKey(), NLS_GetFormats(), queue_get_timeout(), queue_timer_expire(), RegDisablePredefinedCache(), RegDisablePredefinedCacheEx(), RegOverridePredefKey(), RtlAcquirePebLock(), RtlAcquireResourceExclusive(), RtlAcquireResourceShared(), RtlConvertExclusiveToShared(), RtlConvertSharedToExclusive(), RtlCreateTimer(), RtlDeleteTimer(), RtlDeleteTimerQueueEx(), RtlEnterHeapLock(), RtlpAddHeapToProcessList(), RtlpAddVectoredHandler(), RtlpCallVectoredHandlers(), RtlPcToFileHeader(), RtlpExecuteIoWorkItem(), RtlpIoWorkerThreadProc(), RtlpLockAtomTable(), RtlpRemoveHeapFromProcessList(), RtlpRemoveVectoredHandler(), RtlpWorkerThreadProc(), RtlQueueWorkItem(), RtlReleaseResource(), RtlUpdateTimer(), SetConsoleCtrlHandler(), SetConsoleInputExeNameW(), SetDllDirectoryA(), SetDllDirectoryW(), SetLocaleInfoW(), SmpAllocateSessionId(), SmpCheckDuplicateMuSessionId(), SmpDeleteSession(), SmpDereferenceSubsystem(), SmpLoadSubSystem(), SmpLocateKnownSubSysByCid(), SmpLocateKnownSubSysByType(), test_RtlLeaveCriticalSection(), timer_cleanup_callback(), timer_queue_thread_proc(), WritePrivateProfileSectionW(), WritePrivateProfileStringW(), and WritePrivateProfileStructW().

◆ RtlEqualPrefixSid()

NTSYSAPI BOOLEAN NTAPI RtlEqualPrefixSid ( PSID  Sid1,
PSID  Sid2 
)

Referenced by EqualPrefixSid().

◆ RtlEqualSid()

◆ RtlEqualUnicodeString()

NTSYSAPI BOOLEAN NTAPI RtlEqualUnicodeString ( PCUNICODE_STRING  String1,
PCUNICODE_STRING  String2,
BOOLEAN  CaseInsensitive 
)

◆ RtlEraseUnicodeString()

NTSYSAPI VOID NTAPI RtlEraseUnicodeString ( _Inout_ PUNICODE_STRING  String)

Referenced by LsaApLogonUserEx2().

◆ RtlExitUserThread()

◆ RtlFindActivationContextSectionGuid()

NTSYSAPI NTSTATUS NTAPI RtlFindActivationContextSectionGuid ( ULONG  flags,
const GUID extguid,
ULONG  section_kind,
const GUID guid,
void ptr 
)

Definition at line 5764 of file actctx.c.

5766 {
5767  ACTCTX_SECTION_KEYED_DATA *data = ptr;
5769 
5770  if (extguid)
5771  {
5772  DPRINT1("expected extguid == NULL\n");
5773  return STATUS_INVALID_PARAMETER;
5774  }
5775 
5776  if (flags & ~FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX)
5777  {
5778  DPRINT1("unknown flags %08x\n", flags);
5779  return STATUS_INVALID_PARAMETER;
5780  }
5781 
5782  if (!data || data->cbSize < FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA, ulAssemblyRosterIndex) || !guid)
5783  return STATUS_INVALID_PARAMETER;
5784 
5785  if (NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame)
5786  {
5787  ACTIVATION_CONTEXT *actctx = check_actctx(NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame->ActivationContext);
5788  if (actctx) status = find_guid( actctx, section_kind, guid, flags, data );
5789  }
5790 
5791  if (status != STATUS_SUCCESS)
5792  status = find_guid( process_actctx, section_kind, guid, flags, data );
5793 
5794  if (status != STATUS_SUCCESS)
5795  status = find_guid( implicit_actctx, section_kind, guid, flags, data );
5796 
5797  return status;
5798 }
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
LONG NTSTATUS
Definition: precomp.h:26
static NTSTATUS find_guid(ACTIVATION_CONTEXT *actctx, ULONG section_kind, const GUID *guid, DWORD flags, PACTCTX_SECTION_KEYED_DATA data)
Definition: actctx.c:4938
#define STATUS_SXS_KEY_NOT_FOUND
Definition: ntstatus.h:1389
const GUID * guid
static ACTIVATION_CONTEXT * check_actctx(HANDLE h)
Definition: actctx.c:1158
static PVOID ptr
Definition: dispmode.c:27
#define actctx
Definition: kernel32.h:8
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLbitfield flags
Definition: glext.h:7161
static ACTIVATION_CONTEXT * process_actctx
Definition: actctx.c:765
FORCEINLINE struct _TEB * NtCurrentTeb(VOID)
Definition: psfuncs.h:420
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:255
#define DPRINT1
Definition: precomp.h:8
return STATUS_SUCCESS
Definition: btrfs.c:3014
static ACTIVATION_CONTEXT * implicit_actctx
Definition: actctx.c:766
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

Referenced by FindActCtxSectionGuid().

◆ RtlFindMessage()

◆ RtlFindRange()

NTSYSAPI NTSTATUS NTAPI RtlFindRange ( _In_ PRTL_RANGE_LIST  RangeList,
_In_ ULONGLONG  Minimum,
_In_ ULONGLONG  Maximum,
_In_ ULONG  Length,
_In_ ULONG  Alignment,
_In_ ULONG  Flags,
_In_ UCHAR  AttributeAvailableMask,
_In_opt_ PVOID  Context,
_In_opt_ PRTL_CONFLICT_RANGE_CALLBACK  Callback,
_Out_ PULONGLONG  Start 
)

◆ RtlFirstFreeAce()

NTSYSAPI BOOLEAN NTAPI RtlFirstFreeAce ( PACL  Acl,
PACE Ace 
)

Referenced by FindFirstFreeAce(), and START_TEST().

◆ RtlFormatCurrentUserKeyPath()

NTSYSAPI NTSTATUS NTAPI RtlFormatCurrentUserKeyPath ( _Out_ _At_(KeyPath->Buffer, __drv_allocatesMem(Mem) _Post_bytecap_(KeyPath->MaximumLength) _Post_bytecount_(KeyPath->Length)) PUNICODE_STRING  KeyPath)

Referenced by InitFunctionPtrs(), and SdbpOpenKey().

◆ RtlFreeHandle()

◆ RtlFreeRangeList()

NTSYSAPI VOID NTAPI RtlFreeRangeList ( _In_ PRTL_RANGE_LIST  R