ReactOS  0.4.14-dev-593-g1793dcc
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 NTSTATUS NTAPI RtlFindCharInUnicodeString (_In_ ULONG Flags, _In_ PCUNICODE_STRING SearchString, _In_ PCUNICODE_STRING MatchString, _Out_ PUSHORT Position)
 
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 (_Inout_ PRTL_RANGE_LIST RangeList)
 
NTSYSAPI VOID NTAPI RtlFreeRangeList (_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)
 
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 BOOLEAN NTAPI RtlGetNtProductType (OUT PNT_PRODUCT_TYPE ProductType)
 
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 1073 of file rtlfuncs.h.

◆ RTL_CONVERTED_NT_PATH

#define RTL_CONVERTED_NT_PATH   3

Definition at line 2861 of file rtlfuncs.h.

◆ RTL_CONVERTED_UNC_PATH

#define RTL_CONVERTED_UNC_PATH   2

Definition at line 2860 of file rtlfuncs.h.

◆ RTL_SKIP_BUFFER_COPY

#define RTL_SKIP_BUFFER_COPY   0x00000001

Definition at line 2355 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 2862 of file rtlfuncs.h.

◆ RTL_UNCHANGED_UNK_PATH

#define RTL_UNCHANGED_UNK_PATH   1

Definition at line 2859 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  )

◆ _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)
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
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:414
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY ConnectNotifyCallback
Definition: fltkernel.h:1873
Status
Definition: gdiplustypes.h:24
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:261
_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
#define OBJ_KERNEL_HANDLE
Definition: winternl.h:231
_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]

◆ _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
#define FL_ZERO_MEMORY
Definition: polytest.cpp:58
Status
Definition: gdiplustypes.h:24
_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:261
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
#define TRUE
Definition: types.h:120
WCHAR VolumeLabel[MAXIMUM_VOLUME_LABEL_LENGTH/sizeof(WCHAR)]
Definition: iotypes.h:175
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:323
Definition: cdstruc.h:504
static int Link(const char **args)
Definition: vfdcmd.c:2414
#define PAGED_CODE()
Definition: video.h:57
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:119
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:172
#define Vcb
Definition: cdprocs.h:1425
Definition: typedefs.h:117
#define FlagOn(_F, _SF)
Definition: ext2fs.h:179
LIST_ENTRY VcbQueue
Definition: cdstruc.h:340
Definition: iotypes.h:166
USHORT VolumeLabelLength
Definition: iotypes.h:170
ULONG SerialNumber
Definition: iotypes.h:173
IN OUT PVCB IN PDEVICE_OBJECT IN PVPB Vpb
Definition: fatprocs.h:1664

◆ _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)
PVOID FastPebLock
Definition: ntddk_ex.h:250
#define NtCurrentPeb()
Definition: FLS.c:20

◆ 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:228
unsigned int ULONG
Definition: retypes.h:1
return STATUS_SUCCESS
Definition: btrfs.c:2938

◆ 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()

◆ 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 
496  if (!NT_SUCCESS(RtlFindCharInUnicodeString(RTL_FIND_CHAR_IN_UNICODE_STRING_START_AT_END,
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 
510  if (!NT_SUCCESS(RtlFindCharInUnicodeString(RTL_FIND_CHAR_IN_UNICODE_STRING_START_AT_END,
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 */
558  if (NT_SUCCESS(RtlFindCharInUnicodeString(RTL_FIND_CHAR_IN_UNICODE_STRING_START_AT_END,
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 }
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:54
static COORD Position
Definition: mouse.c:34
LONG NTSTATUS
Definition: precomp.h:26
#define RtlpAllocateStringMemory
Definition: rtlp.h:140
#define UNICODE_STRING_MAX_BYTES
static const UNICODE_STRING RtlpDefaultExtension
Definition: path.c:50
uint32_t ULONG_PTR
Definition: typedefs.h:63
static ULONG_PTR
Definition: path.c:79
#define UNICODE_NULL
unsigned char BOOLEAN
smooth NULL
Definition: ftsmooth.c:416
_Inout_ PRTL_BUFFER _In_ SIZE_T RequiredSize
#define STATUS_NAME_TOO_LONG
Definition: ntstatus.h:484
__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
UNICODE_STRING ImagePathName
Definition: btrfs_drv.h:1878
static const WCHAR L[]
Definition: oid.c:1250
PRTL_USER_PROCESS_PARAMETERS ProcessParameters
Definition: btrfs_drv.h:1890
#define TAG_USTR
Definition: libsupp.c:111
Status
Definition: gdiplustypes.h:24
unsigned short USHORT
Definition: pedump.c:61
#define STATUS_NO_MEMORY
Definition: ntstatus.h:246
NTSYSAPI NTSTATUS NTAPI RtlAppendUnicodeStringToString(PUNICODE_STRING Destination, PUNICODE_STRING Source)
NTSYSAPI NTSTATUS NTAPI RtlFindCharInUnicodeString(_In_ ULONG Flags, _In_ PCUNICODE_STRING SearchString, _In_ PCUNICODE_STRING MatchString, _Out_ PUSHORT Position)
unsigned int ULONG
Definition: retypes.h:1
#define RTL_USER_PROCESS_PARAMETERS_NORMALIZED
Definition: rtltypes.h:41
return STATUS_SUCCESS
Definition: btrfs.c:2938
#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:1015
#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().

◆ 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 
)

◆ 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 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:246
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
Definition: list.h:149
return STATUS_SUCCESS
Definition: btrfs.c:2938
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(), 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(), 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()

◆ 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 565 of file timerqueue.c.

566 {
567  return RtlDeleteTimerQueueEx(TimerQueue, INVALID_HANDLE_VALUE);
568 }
#define INVALID_HANDLE_VALUE
Definition: compat.h:399
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:1642
#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:1644
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:2938
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()

NTSYSAPI NTSTATUS NTAPI RtlDestroyQueryDebugBuffer ( IN PRTL_DEBUG_INFORMATION  DebugBuffer)

Definition at line 50 of file dbgbuffer.c.

51 {
53  SIZE_T ViewSize = 0;
54 
55  if (NULL != Buf)
56  {
58  (PVOID*)&Buf,
59  &ViewSize,
60  MEM_RELEASE);
61  }
62  if (!NT_SUCCESS(Status))
63  {
64  DPRINT1("RtlDQDB: Failed to free VM!\n");
65  }
66  return Status;
67 }
LONG NTSTATUS
Definition: precomp.h:26
smooth NULL
Definition: ftsmooth.c:416
#define NtCurrentProcess()
Definition: nt_native.h:1657
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
Status
Definition: gdiplustypes.h:24
ULONG_PTR SIZE_T
Definition: typedefs.h:78
#define DPRINT1
Definition: precomp.h:8
#define MEM_RELEASE
Definition: nt_native.h:1316
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID _In_ ULONG_PTR _In_ SIZE_T _Inout_opt_ PLARGE_INTEGER _Inout_ PSIZE_T ViewSize
Definition: mmfuncs.h:404
return STATUS_SUCCESS
Definition: btrfs.c:2938
NTSTATUS NTAPI NtFreeVirtualMemory(IN HANDLE ProcessHandle, IN PVOID *UBaseAddress, IN PSIZE_T URegionSize, IN ULONG FreeType)
Definition: virtual.c:5090

Referenced by Heap32First(), Heap32Next(), and TH32FreeAllocatedResources().

◆ 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 }
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(), ConsoleControlDispatcher(), ConSrvFreeHandlesTable(), ConSrvGetObject(), ConSrvInheritHandlesTable(), ConSrvInitHandlesTable(), 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)

◆ RtlExitUserThread()

◆ RtlFindActivationContextSectionGuid()

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

Definition at line 5794 of file actctx.c.

5796 {
5797  ACTCTX_SECTION_KEYED_DATA *data = ptr;
5799 
5800  if (extguid)
5801  {
5802  DPRINT1("expected extguid == NULL\n");
5803  return STATUS_INVALID_PARAMETER;
5804  }
5805 
5806  if (flags & ~FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX)
5807  {
5808  DPRINT1("unknown flags %08x\n", flags);
5809  return STATUS_INVALID_PARAMETER;
5810  }
5811 
5812  if (!data || data->cbSize < FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA, ulAssemblyRosterIndex) || !guid)
5813  return STATUS_INVALID_PARAMETER;
5814 
5815  if (NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame)
5816  {
5817  ACTIVATION_CONTEXT *actctx = check_actctx(NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame->ActivationContext);
5818  if (actctx) status = find_guid( actctx, section_kind, guid, flags, data );
5819  }
5820 
5821  if (status != STATUS_SUCCESS)
5822  status = find_guid( process_actctx, section_kind, guid, flags, data );
5823 
5824  if (status != STATUS_SUCCESS)
5825  status = find_guid( implicit_actctx, section_kind, guid, flags, data );
5826 
5827  return status;
5828 }
#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:4968
#define STATUS_SXS_KEY_NOT_FOUND
Definition: ntstatus.h:1170
const GUID * guid
static ACTIVATION_CONTEXT * check_actctx(HANDLE h)
Definition: actctx.c:1107
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:712
FORCEINLINE struct _TEB * NtCurrentTeb(VOID)
Definition: psfuncs.h:420
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:254
#define DPRINT1
Definition: precomp.h:8
return STATUS_SUCCESS
Definition: btrfs.c:2938
static ACTIVATION_CONTEXT * implicit_actctx
Definition: actctx.c:713
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

Referenced by FindActCtxSectionGuid().

◆ RtlFindCharInUnicodeString()

NTSYSAPI NTSTATUS NTAPI RtlFindCharInUnicodeString ( _In_ ULONG  Flags,
_In_ PCUNICODE_STRING  SearchString,
_In_ PCUNICODE_STRING  MatchString,
_Out_ PUSHORT  Position 
)

◆ RtlFindMessage()

◆ 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  RangeList)

◆ RtlFreeSid()

◆ RtlGetAce()

◆ RtlGetCompressionWorkSpaceSize()

NTSYSAPI NTSTATUS NTAPI RtlGetCompressionWorkSpaceSize ( _In_ USHORT  CompressionFormatAndEngine,
_Out_ PULONG  CompressBufferWorkSpaceSize,
_Out_ PULONG  CompressFragmentWorkSpaceSize 
)

◆ RtlGetControlSecurityDescriptor()

NTSYSAPI NTSTATUS NTAPI RtlGetControlSecurityDescriptor ( _In_ PSECURITY_DESCRIPTOR  SecurityDescriptor,
_Out_ PSECURITY_DESCRIPTOR_CONTROL  Control,
_Out_ PULONG  Revision 
)

◆ RtlGetCurrentDirectory_U()

NTSYSAPI ULONG NTAPI RtlGetCurrentDirectory_U ( _In_ ULONG  MaximumLength,
_Out_bytecap_(MaximumLength) PWSTR  Buffer 
)

Definition at line 1542 of file path.c.

1545 {
1546  ULONG Length, Bytes;
1547  PCURDIR CurDir;
1548  PWSTR CurDirName;
1549  DPRINT("RtlGetCurrentDirectory %lu %p\n", MaximumLength, Buffer);
1550 
1551  /* Lock the PEB to get the current directory */
1553  CurDir = &NtCurrentPeb()->ProcessParameters->CurrentDirectory;
1554 
1555  /* Get the buffer and character length */
1556  CurDirName = CurDir->DosPath.Buffer;
1557  Length = CurDir->DosPath.Length / sizeof(WCHAR);
1558  ASSERT((CurDirName != NULL) && (Length > 0));
1559 
1560  /*
1561  * DosPath.Buffer should always have a trailing slash. There is an assert
1562  * below which checks for this.
1563  *
1564  * This function either returns x:\ for a root (keeping the original buffer)
1565  * or it returns x:\path\foo for a directory (replacing the trailing slash
1566  * with a NULL.
1567  */
1568  Bytes = Length * sizeof(WCHAR);
1569  if ((Length <= 1) || (CurDirName[Length - 2] == L':'))
1570  {
1571  /* Check if caller does not have enough space */
1572  if (MaximumLength <= Bytes)
1573  {
1574  /* Call has no space for it, fail, add the trailing slash */
1576  return Bytes + sizeof(OBJ_NAME_PATH_SEPARATOR);
1577  }
1578  }
1579  else
1580  {
1581  /* Check if caller does not have enough space */
1582  if (MaximumLength < Bytes)
1583  {
1584  /* Call has no space for it, fail */
1586  return Bytes;
1587  }
1588  }
1589 
1590  /* Copy the buffer since we seem to have space */
1591  RtlCopyMemory(Buffer, CurDirName, Bytes);
1592 
1593  /* The buffer should end with a path separator */
1595 
1596  /* Again check for our two cases (drive root vs path) */
1597  if ((Length <= 1) || (Buffer[Length - 2] != L':'))
1598  {
1599  /* Replace the trailing slash with a null */
1600  Buffer[Length - 1] = UNICODE_NULL;
1601  --Length;
1602  }
1603  else
1604  {
1605  /* Append the null char since there's no trailing slash */
1607  }
1608 
1609  /* Release PEB lock */
1611  DPRINT("CurrentDirectory %S\n", Buffer);
1612  return Length * sizeof(WCHAR);
1613 }
NTSYSAPI VOID NTAPI RtlCopyMemory(VOID UNALIGNED *Destination, CONST VOID UNALIGNED *Source, ULONG Length)
uint16_t * PWSTR
Definition: typedefs.h:54
_In_ UINT Bytes
Definition: mmcopy.h:9
VOID NTAPI RtlReleasePebLock(VOID)
Definition: libsupp.c:82
#define UNICODE_NULL
#define OBJ_NAME_PATH_SEPARATOR
Definition: arcname_tests.c:25
smooth NULL
Definition: ftsmooth.c:416
void DPRINT(...)
Definition: polytest.cpp:61
Definition: bufpool.h:45
__wchar_t WCHAR
Definition: xmlstorage.h:180
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:101
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel) ?(CompletionRoutine !=NULL) :TRUE)
static const WCHAR L[]
Definition: oid.c:1250
UnicodeString MaximumLength
Definition: rtlfuncs.h:2982
#define NtCurrentPeb()
Definition: FLS.c:20
VOID NTAPI RtlAcquirePebLock(VOID)
Definition: libsupp.c:72
UNICODE_STRING DosPath
Definition: rtltypes.h:1362
unsigned int ULONG
Definition: retypes.h:1

Referenced by GetCurrentDirectoryA(), GetCurrentDirectoryW(), and GetDriveTypeW().

◆ RtlGetCurrentPeb()

NTSYSAPI PPEB NTAPI RtlGetCurrentPeb ( VOID  )

Definition at line 63 of file libsupp.c.

64 {
65  return NtCurrentPeb();
66 }
#define NtCurrentPeb()
Definition: FLS.c:20

◆ RtlGetCurrentProcessorNumber()

NTSYSAPI ULONG NTAPI RtlGetCurrentProcessorNumber ( VOID  )

Definition at line 491 of file process.c.

492 {
493  /* Forward to kernel */
495 }
ULONG NTAPI NtGetCurrentProcessorNumber(VOID)
Definition: sysinfo.c:3057

◆ RtlGetDaclSecurityDescriptor()

◆ RtlGetDefaultCodePage()

NTSYSAPI VOID NTAPI RtlGetDefaultCodePage ( _Out_ PUSHORT  AnsiCodePage,
_Out_ PUSHORT  OemCodePage 
)

◆ RtlGetFrame()

NTSYSAPI PTEB_ACTIVE_FRAME NTAPI RtlGetFrame ( VOID  )

Definition at line 420 of file debug.c.

421 {
422  /* Return the frame that's currently active */
423  return NtCurrentTeb()->ActiveFrame;
424 }
FORCEINLINE struct _TEB * NtCurrentTeb(VOID)
Definition: psfuncs.h:420

◆ RtlGetFullPathName_U()

NTSYSAPI ULONG NTAPI RtlGetFullPathName_U ( _In_ PCWSTR  FileName,
_In_ ULONG  Size,
_Out_z_bytecap_(Size) PWSTR  Buffer,
_Out_opt_ PWSTR ShortName 
)

Definition at line 1868 of file path.c.

1873 {
1875 
1876  /* Call the extended function */
1878  Size,
1879  Buffer,
1880  ShortName,
1881  &PathType);
1882 }
IN PDCB IN POEM_STRING IN PUNICODE_STRING IN OUT POEM_STRING ShortName
Definition: fatprocs.h:1294
enum _RTL_PATH_TYPE RTL_PATH_TYPE
uint16_t * PWSTR
Definition: typedefs.h:54
ULONG NTAPI RtlGetFullPathName_UEx(_In_ PWSTR FileName, _In_ ULONG BufferLength, _Out_writes_bytes_(BufferLength) PWSTR Buffer, _Out_opt_ PWSTR *FilePart, _Out_opt_ RTL_PATH_TYPE *InputPathType)
Definition: path.c:1823
static IN ULONG IN PWSTR OUT PCWSTR OUT PBOOLEAN OUT PATH_TYPE_AND_UNKNOWN * PathType
Definition: bufpool.h:45
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:359

Referenced by GetFullPathNameA(), GetFullPathNameW(), lookup_assembly(), RtlDosSearchPath_U(), RunTestCases(), and START_TEST().

◆ RtlGetFullPathName_UEx()

NTSYSAPI NTSTATUS NTAPI RtlGetFullPathName_UEx ( _In_ PWSTR  FileName,
_In_ ULONG  BufferLength,
_Out_ PWSTR  Buffer,
_Out_opt_ PWSTR FilePart,
_Out_opt_ RTL_PATH_TYPE InputPathType 
)

◆ RtlGetFullPathName_UstrEx()

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 
)

Referenced by CreateProcessInternalW().

◆ RtlGetGroupSecurityDescriptor()

NTSYSAPI NTSTATUS NTAPI RtlGetGroupSecurityDescriptor ( _In_ PSECURITY_DESCRIPTOR  SecurityDescriptor,
_Out_ PSID Group,
_Out_ PBOOLEAN  GroupDefaulted 
)

◆ RtlGetLengthWithoutTrailingPathSeperators()

NTSYSAPI NTSTATUS NTAPI RtlGetLengthWithoutTrailingPathSeperators ( _Reserved_ ULONG  Flags,
_In_ PCUNICODE_STRING  PathString,
_Out_ PULONG  Length 
)

Referenced by START_TEST().

◆ RtlGetLongestNtPathLength()

NTSYSAPI ULONG NTAPI RtlGetLongestNtPathLength ( VOID  )

Definition at line 1436 of file path.c.

1437 {
1438  /*
1439  * The longest NT path is a DOS path that actually sits on a UNC path (ie:
1440  * a mapped network drive), which is accessed through the DOS Global?? path.
1441  * This is, and has always been equal to, 269 characters, except in Wine
1442  * which claims this is 277. Go figure.
1443  */
1444  return MAX_PATH + RtlpDosDevicesUncPrefix.Length / sizeof(WCHAR) + sizeof(ANSI_NULL);
1445 }
#define ANSI_NULL
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define MAX_PATH
Definition: compat.h:26
const UNICODE_STRING RtlpDosDevicesUncPrefix
Definition: path.c:36

Referenced by START_TEST().

◆ RtlGetNtGlobalFlags()

NTSYSAPI ULONG NTAPI RtlGetNtGlobalFlags ( VOID  )

Definition at line 93 of file libsupp.c.

94 {
95  PPEB pPeb = NtCurrentPeb();
96  return pPeb->NtGlobalFlag;
97 }
ULONG NtGlobalFlag
Definition: ntddk_ex.h:270
#define NtCurrentPeb()
Definition: FLS.c:20

◆ RtlGetNtProductType()

NTSYSAPI BOOLEAN NTAPI RtlGetNtProductType ( OUT PNT_PRODUCT_TYPE  ProductType)

◆ RtlGetOwnerSecurityDescriptor()

NTSYSAPI NTSTATUS NTAPI RtlGetOwnerSecurityDescriptor ( _In_ PSECURITY_DESCRIPTOR  SecurityDescriptor,
_Out_ PSID Owner,
_Out_ PBOOLEAN  OwnerDefaulted 
)

◆ RtlGetSaclSecurityDescriptor()

◆ RtlGetSecurityDescriptorRMControl()

NTSYSAPI BOOLEAN NTAPI RtlGetSecurityDescriptorRMControl ( _In_ PSECURITY_DESCRIPTOR  SecurityDescriptor,
_Out_ PUCHAR  RMControl 
)

◆ RtlHashUnicodeString()

◆ RtlIdentifierAuthoritySid()

◆ RtlImageNtHeader()

NTSYSAPI PIMAGE_NT_HEADERS NTAPI RtlImageNtHeader ( _In_ PVOID  BaseAddress)

◆ RtlImageNtHeaderEx()

NTSYSAPI NTSTATUS NTAPI RtlImageNtHeaderEx ( _In_ ULONG  Flags,
_In_ PVOID  BaseAddress,
_In_ ULONGLONG  Size,
_Out_ PIMAGE_NT_HEADERS NtHeader 
)

Referenced by LdrpCheckForLoadedDll().

◆ RtlImageRvaToSection()

NTSYSAPI PIMAGE_SECTION_HEADER NTAPI RtlImageRvaToSection ( _In_ PIMAGE_NT_HEADERS  NtHeader,
_In_ PVOID  BaseAddress,
_In_ ULONG  Rva 
)

◆ RtlImageRvaToVa()

NTSYSAPI PVOID NTAPI RtlImageRvaToVa ( _In_ PIMAGE_NT_HEADERS  NtHeader,
_In_ PVOID  BaseAddress,
_In_ ULONG  Rva,
_Inout_opt_ PIMAGE_SECTION_HEADER SectionHeader 
)

◆ RtlImpersonateSelf()

NTSYSAPI NTSTATUS NTAPI RtlImpersonateSelf ( IN SECURITY_IMPERSONATION_LEVEL  ImpersonationLevel)

Definition at line 45 of file priv.c.

46 {
47  HANDLE ProcessToken;
48  HANDLE ImpersonationToken;
50  OBJECT_ATTRIBUTES ObjAttr;
52 
54 
57  &ProcessToken);
58  if (!NT_SUCCESS(Status))
59  {
60  DPRINT1("NtOpenProcessToken() failed (Status %lx)\n", Status);
61  return Status;
62  }
63 
64  Sqos.Length = sizeof(SECURITY_QUALITY_OF_SERVICE);
66  Sqos.ContextTrackingMode = 0;
67  Sqos.EffectiveOnly = FALSE;
68 
70  NULL,
71  0,
72  NULL,
73  NULL);
74 
75  ObjAttr.SecurityQualityOfService = &Sqos;
76 
77  Status = ZwDuplicateToken(ProcessToken,