ReactOS  r75907
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:
This graph shows which files directly or indirectly include this file:

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)*sizeof(WCHAR))) _At_(DestinationString->MaximumLength, _Post_equal_to_(DestinationString->Length+sizeof(WCHAR)))) _When_(SourceString==NULL, _At_(DestinationString->Length, _Post_equal_to_(0)) _At_(DestinationString->MaximumLength, _Post_equal_to_(0))) NTSYSAPI VOID NTAPI RtlInitUnicodeString(_Out_ PUNICODE_STRING DestinationString, _In_opt_z_ __drv_aliasesMem PCWSTR 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, _Out_ PUNICODE_STRING RealName, _Out_ 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)
 
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_ENTRY
Handle
 
_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

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

Definition at line 1073 of file rtlfuncs.h.

Referenced by _main(), AddConsoleCtrlHandler(), AllocConsole(), AttachConsole(), BaseCheckForVDM(), BaseCheckVDM(), BaseCreateStack(), BaseInitializeStaticServerData(), BasepComputeProcessPath(), BasepGetModuleHandleExParameterValidation(), BasepMapModuleHandle(), BasePushProcessParameters(), BaseUpdateVDMEntry(), CallPerInstanceInitFunctions(), CheckForSameCurdir(), CloseConsoleHandle(), ConDllInitialize(), ConnectConsole(), ConsoleControlDispatcher(), ConsoleMenuControl(), CreateConsoleScreenBuffer(), CreateFileMappingW(), CreateProcessInternalW(), CsrClientConnectToServer(), CsrParseServerCommandLine(), CsrpConnectToServer(), CsrSrvCreateSharedSection(), CsrUnhandledExceptionFilter(), DbgUiRemoteBreakin(), DllMain(), DuplicateConsoleHandle(), ExitThread(), ExitVDM(), FlushConsoleInputBuffer(), FreeConsole(), GenerateConsoleCtrlEvent(), GetConsoleCP(), GetConsoleCursorInfo(), GetConsoleDisplayMode(), GetConsoleFontInfo(), GetConsoleFontSize(), GetConsoleHandleInformation(), GetConsoleHardwareState(), GetConsoleMode(), GetConsoleOutputCP(), GetConsoleProcessList(), GetConsoleScreenBufferInfo(), GetConsoleSelectionInfo(), GetConsoleWindow(), GetCurrentConsoleFont(), GetEnvironmentStringsA(), GetEnvironmentStringsW(), GetLargestConsoleWindowSize(), GetModuleFileNameW(), GetModuleHandleW(), GetNextVDMCommand(), GetNumberOfConsoleFonts(), GetNumberOfConsoleInputEvents(), GetNumberOfConsoleMouseButtons(), GetProcessVersion(), GetShortPathNameW(), GetStartupInfoA(), GetStartupInfoW(), GetStdHandle(), GetVersion(), Init(), InitCommandLines(), InitExeName(), IntAddConsoleAlias(), IntAllocConsole(), IntAttachConsole(), IntExpungeConsoleCommandHistory(), IntFillConsoleOutputCode(), IntGetConsoleAlias(), IntGetConsoleAliases(), IntGetConsoleAliasesLength(), IntGetConsoleAliasExes(), IntGetConsoleAliasExesLength(), IntGetConsoleCommandHistory(), IntGetConsoleCommandHistoryLength(), IntGetConsoleInput(), IntGetConsoleKeyboardLayoutName(), IntGetConsoleTitle(), IntReadConsole(), IntReadConsoleOutput(), IntReadConsoleOutputCode(), IntScrollConsoleScreenBuffer(), IntSetConsoleNumberOfCommands(), IntSetConsoleTitle(), IntWriteConsole(), IntWriteConsoleInput(), IntWriteConsoleOutput(), IntWriteConsoleOutputCode(), InvalidateConsoleDIBits(), IsConsoleApp(), IsDebuggerPresent(), KiUserCallbackDispatcher(), LdrEnumerateLoadedModules(), LdrFindEntryForAddress(), LdrpCheckForLoadedDll(), LdrpCheckForLoadedDllHandle(), LdrpClearLoadInProgress(), LdrpGetProcedureAddress(), LdrpHandleOneNewFormatImportDescriptor(), LdrpHandleOneOldFormatImportDescriptor(), LdrpInit(), LdrpInitFailure(), LdrpInitializeProcess(), LdrpInitializeThread(), LdrpInitializeTls(), LdrpInsertMemoryTableEntry(), LdrpLoadDll(), LdrpMapDll(), LdrpRunInitializeRoutines(), LdrpWalkImportDescriptor(), LdrQueryProcessModuleInformationEx(), LdrShutdownProcess(), LdrShutdownThread(), LdrUnloadDll(), LoadLibraryExW(), NtUserCreateWindowStation(), OpenConsoleW(), PatchNewModules(), PsaEnumerateProcessModules(), RegisterConsoleVDM(), RemoveConsoleCtrlHandler(), RtlAcquirePebLock(), RtlCreateEnvironment(), RtlCreateProcessParameters(), RtlDestroyHeap(), RtlGetCurrentDirectory_U(), RtlGetCurrentPeb(), RtlGetFullPathName_Ustr(), RtlGetNtGlobalFlags(), RtlGetNtVersionNumbers(), RtlGetVersion(), RtlInitializeCriticalSectionAndSpinCount(), RtlpCheckForActiveDebugger(), RtlpCreateUserStack(), RtlPcToFileHeader(), RtlpDosPathNameToRelativeNtPathName_Ustr(), RtlpFreeDebugInfo(), RtlReleasePebLock(), RtlSetCriticalSectionSpinCount(), RtlSetCurrentDirectory_U(), RtlSetCurrentEnvironment(), RtlSetEnvironmentVariable(), RtlSetProcessIsCritical(), RtlSetThreadIsCritical(), SeiInit(), SetConsoleActiveScreenBuffer(), SetConsoleCommandHistoryMode(), SetConsoleCP(), SetConsoleCursor(), SetConsoleCursorInfo(), SetConsoleCursorPosition(), SetConsoleDisplayMode(), SetConsoleFont(), SetConsoleHandleInformation(), SetConsoleHardwareState(), SetConsoleIcon(), SetConsoleMenuClose(), SetConsoleMode(), SetConsoleOutputCP(), SetConsolePalette(), SetConsoleScreenBufferSize(), SetConsoleTextAttribute(), SetConsoleWindowInfo(), SetLastConsoleEventActive(), SetStdHandle(), SetUpConsoleInfo(), SetUpHandles(), ShowConsoleCursor(), SmpLoadDataFromRegistry(), START_TEST(), TerminateThread(), TlsFree(), TranslateStdHandle(), UserCreateWinstaDirectory(), VerifyConsoleIoHandle(), and wWinMain().

#define RTL_CONVERTED_NT_PATH   3

Definition at line 2845 of file rtlfuncs.h.

Referenced by RtlNtPathNameToDosPathName(), and test_specialhandling().

#define RTL_CONVERTED_UNC_PATH   2

Definition at line 2844 of file rtlfuncs.h.

Referenced by RtlNtPathNameToDosPathName().

#define RTL_SKIP_BUFFER_COPY   0x00000001
#define RTL_STACK_WALKING_MODE_FRAMES_TO_SKIP_SHIFT   8

Definition at line 808 of file rtlfuncs.h.

#define RTL_UNCHANGED_DOS_PATH   4

Definition at line 2846 of file rtlfuncs.h.

Referenced by RtlNtPathNameToDosPathName(), and test_specialhandling().

#define RTL_UNCHANGED_UNK_PATH   1

Definition at line 2843 of file rtlfuncs.h.

Referenced by RtlNtPathNameToDosPathName(), START_TEST(), and test_specialhandling().

Function Documentation

_Out_ _At_ ( DestinationString->  Buffer,
__drv_allocatesMem(Mem)   
)
_At_ ( Destination->  Buffer,
_Out_bytecap_(Destination->MaximumLength  
)
_In_ ULONG _In_reads_bytes_ ( CompressedBufferSize  )
_In_ PCWSTR _In_z_ PCWSTR _In_ ULONG _In_reads_bytes_opt_ ( ValueLength  )
_IRQL_requires_max_ ( APC_LEVEL  )

Definition at line 37 of file Messaging.c.

48 {
49  PFLT_SERVER_PORT_OBJECT PortObject;
51 
52  /* The caller must allow at least one connection */
53  if (MaxConnections == 0)
54  {
56  }
57 
58  /* The request must be for a kernel handle */
59  if (!(ObjectAttributes->Attributes & OBJ_KERNEL_HANDLE))
60  {
62  }
63 
64  /*
65  * Get rundown protection on the target to stop the owner
66  * from unloading whilst this port object is open. It gets
67  * removed in the FltpServerPortClose callback
68  */
69  Status = FltObjectReference(Filter);
70  if (!NT_SUCCESS(Status))
71  {
72  return Status;
73  }
74 
75  /* Create our new server port object */
76  Status = ObCreateObject(0,
79  KernelMode,
80  NULL,
81  sizeof(FLT_SERVER_PORT_OBJECT),
82  0,
83  0,
84  (PVOID *)&PortObject);
85  if (NT_SUCCESS(Status))
86  {
87  /* Zero out the struct */
88  RtlZeroMemory(PortObject, sizeof(FLT_SERVER_PORT_OBJECT));
89 
90  /* Increment the ref count on the target filter */
92 
93  /* Setup the filter port object */
94  PortObject->Filter = Filter;
98  PortObject->Cookie = ServerPortCookie;
99  PortObject->MaxConnections = MaxConnections;
100 
101  /* Insert the object */
102  Status = ObInsertObject(PortObject,
103  NULL,
105  0,
106  NULL,
108  if (NT_SUCCESS(Status))
109  {
110  /* Lock the connection list */
112 
113  /* Add the new port object to the connection list and increment the count */
116 
117  /* Unlock the connection list*/
119  }
120  }
121 
122  if (!NT_SUCCESS(Status))
123  {
124  /* Allow the filter to be cleaned up */
126  }
127 
128  return STATUS_NOT_IMPLEMENTED;
129 }
DWORD *typedef PVOID
Definition: winlogon.h:52
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:35
#define STATUS_NOT_IMPLEMENTED
Definition: ntstatus.h:225
#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:177
VOID FLTAPI FltObjectDereference(_Inout_ PVOID Object)
Definition: Object.c:53
#define InsertTailList(ListHead, Entry)
VOID FASTCALL ExReleaseFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:31
ULONG FltpObjectPointerReference(_In_ PFLT_OBJECT Object)
Definition: Object.c:252
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:513
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:938
POBJECT_TYPE ServerPortObjectType
Definition: Messaging.c:23
_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:411
_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
#define NT_SUCCESS(StatCode)
Definition: cmd.c:149
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:2925
LONG NTSTATUS
Definition: DriverTester.h:11
#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:179
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY _In_opt_ PFLT_MESSAGE_NOTIFY _In_ LONG MaxConnections
Definition: fltkernel.h:1873
PFLT_DISCONNECT_NOTIFY DisconnectNotify
Definition: fltmgrint.h:178
#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:86
_Out_range_ ( )
pure virtual
_Out_writes_bytes_ ( DestinationSidLength  )
_Out_writes_bytes_to_ ( UncompressedBufferSize  ,
FinalUncompressedSize 
)
_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 */
305  Status = MmMapViewInSessionSpace(pSection->pvSectionObject,
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 }
PVOID pvSectionObject
Definition: mapping.h:4
_In_ FLONG fl
Definition: winddi.h:1279
smooth NULL
Definition: ftsmooth.c:513
BOOL APIENTRY EngFreeSectionMem(_In_opt_ PVOID pvSection, _In_opt_ PVOID pvMappedBase)
Definition: mapping.c:246
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 NT_SUCCESS(StatCode)
Definition: cmd.c:149
LONG NTSTATUS
Definition: DriverTester.h:11
#define DPRINT1
Definition: precomp.h:8
_In_ ULONG cjSize
Definition: winddi.h:3634
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
NTSTATUS NTAPI MmMapViewInSessionSpace(IN PVOID Section, OUT PVOID *MappedBase, IN OUT PSIZE_T ViewSize)
Definition: section.c:2989
PVOID pvMappedBase
Definition: mapping.h:5
_When_ ( Status< 0, _Out_range_(>  ,
 
)
pure virtual
VOID NTAPI DbgBreakPoint ( VOID  )

Definition at line 558 of file mach.c.

558  {
559  __asm__("twi 31,0,0");
560 }
__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")
VOID NTAPI DbgCommandString ( _In_ PCCH  Name,
_In_ PCCH  Command 
)
VOID NTAPI DbgLoadImageSymbols ( _In_ PSTRING  Name,
_In_ PVOID  Base,
_In_ ULONG_PTR  ProcessId 
)
ULONG __cdecl DbgPrint ( _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 DbgUnLoadImageSymbols ( _In_ PSTRING  Name,
_In_ PVOID  Base,
_In_ ULONG_PTR  ProcessId 
)
PSLIST_ENTRY FASTCALL InterlockedPushListSList ( _Inout_ PSLIST_HEADER  ListHead,
_Inout_ __drv_aliasesMem PSLIST_ENTRY  List,
_Inout_ PSLIST_ENTRY  ListEnd,
_In_ ULONG  Count 
)
NTSYSAPI ULONG NTAPI LdrRelocateImageWithBias ( _In_ PVOID  NewAddress,
_In_ LONGLONG  AdditionalBias,
_In_ PCCH  LoaderName,
_In_ ULONG  Success,
_In_ ULONG  Conflict,
_In_ ULONG  Invalid 
)
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:254
#define NtCurrentPeb()
Definition: rtlfuncs.h:1073
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 
)

Referenced by AddAccessDeniedAceEx().

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 RtlAddAtomToAtomTable ( _In_ PRTL_ATOM_TABLE  AtomTable,
_In_ PWSTR  AtomName,
_Out_ PRTL_ATOM  Atom 
)
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().

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

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 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 
)
_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 NTSTATUS NTAPI RtlAnsiStringToUnicodeString ( PUNICODE_STRING  DestinationString,
PCANSI_STRING  SourceString,
BOOLEAN  AllocateDestinationString 
)
NTSYSAPI NTSTATUS NTAPI RtlAppendUnicodeStringToString ( PUNICODE_STRING  Destination,
PCUNICODE_STRING  Source 
)
NTSYSAPI NTSTATUS NTAPI RtlAppendUnicodeToString ( PUNICODE_STRING  Destination,
PCWSTR  Source 
)
NTSYSAPI BOOLEAN NTAPI RtlAreAnyAccessesGranted ( ACCESS_MASK  GrantedAccess,
ACCESS_MASK  DesiredAccess 
)

Referenced by AreAnyAccessesGranted().

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 }
Definition: get.c:139
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
return STATUS_SUCCESS
Definition: btrfs.c:2664
char CHAR
Definition: xmlstorage.h:175
const WCHAR * str
smooth NULL
Definition: ftsmooth.c:513
#define STATUS_ACCESS_VIOLATION
Definition: ntstatus.h:228
unsigned int ULONG
Definition: retypes.h:1
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
GLenum GLclampf GLint i
Definition: glfuncs.h:14
struct S1 s1
unsigned int ULONG
Definition: retypes.h:1
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 
)
NTSYSAPI NTSTATUS NTAPI RtlComputePrivatizedDllName_U ( _In_ PUNICODE_STRING  DllName,
_Out_ PUNICODE_STRING  RealName,
_Out_ PUNICODE_STRING  LocalName 
)
NTSYSAPI VOID NTAPI RtlConvertExclusiveToShared ( _In_ PRTL_RESOURCE  Resource)
NTSYSAPI VOID NTAPI RtlConvertSharedToExclusive ( _In_ PRTL_RESOURCE  Resource)
NTSYSAPI VOID NTAPI RtlCopyLuidAndAttributesArray ( ULONG  Count,
PLUID_AND_ATTRIBUTES  Src,
PLUID_AND_ATTRIBUTES  Dest 
)

Definition at line 33 of file luid.c.

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

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
GLenum GLclampf GLint i
Definition: glfuncs.h:14
unsigned int ULONG
Definition: retypes.h:1
NTSYSAPI NTSTATUS NTAPI RtlCopySecurityDescriptor ( _In_ PSECURITY_DESCRIPTOR  pSourceSecurityDescriptor,
_Out_ PSECURITY_DESCRIPTOR pDestinationSecurityDescriptor 
)
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 
)
NTSYSAPI VOID NTAPI RtlCopyString ( _Out_ PSTRING  DestinationString,
_In_opt_ const STRING SourceString 
)
NTSYSAPI VOID NTAPI RtlCopyUnicodeString ( PUNICODE_STRING  DestinationString,
PCUNICODE_STRING  SourceString 
)
NTSYSAPI NTSTATUS NTAPI RtlCreateAtomTable ( _In_ ULONG  TableSize,
_Inout_ PRTL_ATOM_TABLE AtomTable 
)
NTSYSAPI NTSTATUS NTAPI RtlCreateEnvironment ( _In_ BOOLEAN  Inherit,
_Out_ PWSTR Environment 
)
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 PRTL_DEBUG_INFORMATION NTAPI RtlCreateQueryDebugBuffer ( _In_ ULONG  Size,
_In_ BOOLEAN  EventPair 
)
NTSYSAPI NTSTATUS NTAPI RtlCreateRegistryKey ( _In_ ULONG  RelativeTo,
_In_ PWSTR  Path 
)

Referenced by DriverEntry().

NTSYSAPI NTSTATUS NTAPI RtlCreateSecurityDescriptorRelative ( _Out_ PISECURITY_DESCRIPTOR_RELATIVE  SecurityDescriptor,
_In_ ULONG  Revision 
)
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)

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;
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 
311  *NewTimerQueue = q;
312  return STATUS_SUCCESS;
313 }
PRTL_START_POOL_THREAD RtlpStartThreadFunc
Definition: workitem.c:45
HANDLE thread
Definition: timerqueue.c:61
return STATUS_SUCCESS
Definition: btrfs.c:2664
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
Definition: heap.c:603
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
RTL_CRITICAL_SECTION cs
Definition: timerqueue.c:57
#define FALSE
Definition: types.h:117
struct list timers
Definition: timerqueue.c:58
#define EVENT_ALL_ACCESS
Definition: isotest.c:82
DWORD magic
Definition: timerqueue.c:56
smooth NULL
Definition: ftsmooth.c:513
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
Definition: heap.c:585
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:3392
static DWORD WINAPI timer_queue_thread_proc(LPVOID p)
Definition: timerqueue.c:215
LONG NTSTATUS
Definition: DriverTester.h:11
#define STATUS_NO_MEMORY
Definition: ntstatus.h:246
HANDLE event
Definition: timerqueue.c:60
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
Definition: list.h:149
static SERVICE_STATUS status
Definition: service.c:26
NTSYSAPI BOOLEAN NTAPI RtlCreateUnicodeString ( PUNICODE_STRING  DestinationString,
PCWSTR  SourceString 
)
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(), DefineDosDeviceA(), 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(), QueryDosDeviceA(), 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().

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 RtlDeleteAce ( PACL  Acl,
ULONG  AceIndex 
)

Referenced by DeleteAce(), and START_TEST().

NTSYSAPI NTSTATUS NTAPI RtlDeleteSecurityObject ( _In_ PSECURITY_DESCRIPTOR ObjectDescriptor)
NTSYSAPI NTSTATUS NTAPI RtlDeleteTimer ( _In_ HANDLE  TimerQueue,
_In_ HANDLE  Timer,
_In_ HANDLE  CompletionEvent 
)
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:391
NTSTATUS WINAPI RtlDeleteTimerQueueEx(HANDLE TimerQueue, HANDLE CompletionEvent)
Definition: timerqueue.c:331
NTSYSAPI NTSTATUS NTAPI RtlDeleteTimerQueueEx ( _In_ HANDLE  TimerQueue,
_In_opt_ HANDLE  CompletionEvent 
)
NTSYSAPI PRTL_USER_PROCESS_PARAMETERS NTAPI RtlDeNormalizeProcessParams ( _In_ PRTL_USER_PROCESS_PARAMETERS  ProcessParameters)

Referenced by ExpLoadInitialProcess().

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

Referenced by UnregisterWait(), and UnregisterWaitEx().

NTSYSAPI NTSTATUS NTAPI RtlDestroyAtomTable ( IN PRTL_ATOM_TABLE  AtomTable)

Definition at line 203 of file atom.c.

Referenced by IntWinStaObjectDelete(), and main().

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:1527
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
return STATUS_SUCCESS
Definition: btrfs.c:2664
VOID RtlpFreeAtomTableEntry(PRTL_ATOM_TABLE_ENTRY Entry)
Definition: libsupp.c:434
smooth NULL
Definition: ftsmooth.c:513
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:1529
VOID RtlpDestroyAtomHandleTable(PRTL_ATOM_TABLE AtomTable)
Definition: libsupp.c:404
BOOLEAN RtlpLockAtomTable(PRTL_ATOM_TABLE AtomTable)
Definition: libsupp.c:377
VOID RtlpFreeAtomTable(PRTL_ATOM_TABLE AtomTable)
Definition: libsupp.c:418
NTSYSAPI VOID NTAPI RtlDestroyHandleTable ( _Inout_ PRTL_HANDLE_TABLE  HandleTable)
NTSYSAPI NTSTATUS NTAPI RtlDestroyProcessParameters ( _In_ PRTL_USER_PROCESS_PARAMETERS  ProcessParameters)
NTSYSAPI NTSTATUS NTAPI RtlDestroyQueryDebugBuffer ( IN PRTL_DEBUG_INFORMATION  DebugBuffer)

Definition at line 50 of file dbgbuffer.c.

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

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 }
DWORD *typedef PVOID
Definition: winlogon.h:52
return STATUS_SUCCESS
Definition: btrfs.c:2664
smooth NULL
Definition: ftsmooth.c:513
#define NtCurrentProcess()
Definition: nt_native.h:1657
Status
Definition: gdiplustypes.h:24
ULONG_PTR SIZE_T
Definition: typedefs.h:79
#define NT_SUCCESS(StatCode)
Definition: cmd.c:149
LONG NTSTATUS
Definition: DriverTester.h:11
#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
NTSTATUS NTAPI NtFreeVirtualMemory(IN HANDLE ProcessHandle, IN PVOID *UBaseAddress, IN PSIZE_T URegionSize, IN ULONG FreeType)
Definition: virtual.c:5089
NTSYSAPI BOOLEAN NTAPI RtlDispatchException ( _In_ PEXCEPTION_RECORD  ExceptionRecord,
_In_ PCONTEXT  Context 
)

Definition at line 34 of file except.c.

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

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

Referenced by START_TEST(), and TestRedirection().

NTSYSAPI BOOLEAN NTAPI RtlDosPathNameToRelativeNtPathName_U ( _In_ PCWSTR  DosName,
_Out_ PUNICODE_STRING  NtName,
_Out_ PCWSTR PartName,
_Out_ PRTL_RELATIVE_NAME_U  RelativeName 
)
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 
)

Referenced by START_TEST().

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
WCHAR NTAPI RtlpDowncaseUnicodeChar(IN WCHAR Source)
Definition: nls.c:89
NTSYSAPI VOID NTAPI RtlDumpResource ( _In_ PRTL_RESOURCE  Resource)
NTSYSAPI NTSTATUS NTAPI RtlEnterCriticalSection ( _In_ PRTL_CRITICAL_SECTION  CriticalSection)

Referenced by AllocConsole(), AttachConsole(), BaseComputeProcessDllPath(), BasepIsProcessAllowed(), BasepReplaceProcessThreadTokens(), 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(), timer_cleanup_callback(), timer_queue_thread_proc(), WritePrivateProfileSectionW(), WritePrivateProfileStringW(), and WritePrivateProfileStructW().

NTSYSAPI BOOLEAN NTAPI RtlEqualPrefixSid ( PSID  Sid1,
PSID  Sid2 
)

Referenced by EqualPrefixSid().

NTSYSAPI BOOLEAN NTAPI RtlEqualUnicodeString ( PCUNICODE_STRING  String1,
PCUNICODE_STRING  String2,
BOOLEAN  CaseInsensitive 
)
NTSYSAPI VOID NTAPI RtlEraseUnicodeString ( _Inout_ PUNICODE_STRING  String)
NTSYSAPI NTSTATUS NTAPI RtlFindActivationContextSectionGuid ( ULONG  flags,
const GUID extguid,
ULONG  section_kind,
const GUID guid,
void ptr 
)

Definition at line 5359 of file actctx.c.

Referenced by FindActCtxSectionGuid().

5361 {
5362  ACTCTX_SECTION_KEYED_DATA *data = ptr;
5364 
5365  if (extguid)
5366  {
5367  DPRINT1("expected extguid == NULL\n");
5368  return STATUS_INVALID_PARAMETER;
5369  }
5370 
5371  if (flags & ~FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX)
5372  {
5373  DPRINT1("unknown flags %08x\n", flags);
5374  return STATUS_INVALID_PARAMETER;
5375  }
5376 
5377  if (!data || data->cbSize < FIELD_OFFSET(ACTCTX_SECTION_KEYED_DATA, ulAssemblyRosterIndex) || !guid)
5378  return STATUS_INVALID_PARAMETER;
5379 
5380  if (NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame)
5381  {
5382  ACTIVATION_CONTEXT *actctx = check_actctx(NtCurrentTeb()->ActivationContextStackPointer->ActiveFrame->ActivationContext);
5383  if (actctx) status = find_guid( actctx, section_kind, guid, flags, data );
5384  }
5385 
5386  if (status != STATUS_SUCCESS)
5387  status = find_guid( process_actctx, section_kind, guid, flags, data );
5388 
5389  return status;
5390 }
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
return STATUS_SUCCESS
Definition: btrfs.c:2664
static NTSTATUS find_guid(ACTIVATION_CONTEXT *actctx, ULONG section_kind, const GUID *guid, DWORD flags, PACTCTX_SECTION_KEYED_DATA data)
Definition: actctx.c:4617
#define STATUS_SXS_KEY_NOT_FOUND
Definition: ntstatus.h:1169
static ACTIVATION_CONTEXT * check_actctx(HANDLE h)
Definition: actctx.c:1071
static PVOID ptr
Definition: dispmode.c:30
#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:696
LONG NTSTATUS
Definition: DriverTester.h:11
FORCEINLINE struct _TEB * NtCurrentTeb(VOID)
Definition: psfuncs.h:420
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:255
#define DPRINT1
Definition: precomp.h:8
static SERVICE_STATUS status
Definition: service.c:26
Definition: ps.c:97
NTSYSAPI NTSTATUS NTAPI RtlFindCharInUnicodeString ( _In_ ULONG  Flags,
_In_ PCUNICODE_STRING  SearchString,
_In_ PCUNICODE_STRING  MatchString,
_Out_ PUSHORT  Position 
)
NTSYSAPI BOOLEAN NTAPI RtlFirstFreeAce ( PACL  Acl,
PACE Ace 
)

Referenced by FindFirstFreeAce(), and START_TEST().

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

NTSYSAPI VOID NTAPI RtlFreeRangeList ( _In_ PRTL_RANGE_LIST  RangeList)
NTSYSAPI NTSTATUS NTAPI RtlGetCompressionWorkSpaceSize ( _In_ USHORT  CompressionFormatAndEngine,
_Out_ PULONG  CompressBufferWorkSpaceSize,
_Out_ PULONG  CompressFragmentWorkSpaceSize 
)
NTSYSAPI NTSTATUS NTAPI RtlGetControlSecurityDescriptor ( _In_ PSECURITY_DESCRIPTOR  SecurityDescriptor,
_Out_ PSECURITY_DESCRIPTOR_CONTROL  Control,
_Out_ PULONG  Revision 
)
NTSYSAPI ULONG NTAPI RtlGetCurrentDirectory_U ( _In_ ULONG  MaximumLength,
_Out_bytecap_(MaximumLength) PWSTR  Buffer 
)

Definition at line 1399 of file path.c.

Referenced by GetCurrentDirectoryA(), and GetCurrentDirectoryW().

1402 {
1403  ULONG Length, Bytes;
1404  PCURDIR CurDir;
1405  PWSTR CurDirName;
1406  DPRINT("RtlGetCurrentDirectory %lu %p\n", MaximumLength, Buffer);
1407 
1408  /* Lock the PEB to get the current directory */
1410  CurDir = &NtCurrentPeb()->ProcessParameters->CurrentDirectory;
1411 
1412  /* Get the buffer and character length */
1413  CurDirName = CurDir->DosPath.Buffer;
1414  Length = CurDir->DosPath.Length / sizeof(WCHAR);
1415  ASSERT((CurDirName != NULL) && (Length > 0));
1416 
1417  /*
1418  * DosPath.Buffer should always have a trailing slash. There is an assert
1419  * below which checks for this.
1420  *
1421  * This function either returns x:\ for a root (keeping the original buffer)
1422  * or it returns x:\path\foo for a directory (replacing the trailing slash
1423  * with a NULL.
1424  */
1425  Bytes = Length * sizeof(WCHAR);
1426  if ((Length <= 1) || (CurDirName[Length - 2] == L':'))
1427  {
1428  /* Check if caller does not have enough space */
1429  if (MaximumLength <= Bytes)
1430  {
1431  /* Call has no space for it, fail, add the trailing slash */
1433  return Bytes + sizeof(OBJ_NAME_PATH_SEPARATOR);
1434  }
1435  }
1436  else
1437  {
1438  /* Check if caller does not have enough space */
1439  if (MaximumLength < Bytes)
1440  {
1441  /* Call has no space for it, fail */
1443  return Bytes;
1444  }
1445  }
1446 
1447  /* Copy the buffer since we seem to have space */
1448  RtlCopyMemory(Buffer, CurDirName, Bytes);
1449 
1450  /* The buffer should end with a path separator */
1451  ASSERT(Buffer[Length - 1] == OBJ_NAME_PATH_SEPARATOR);
1452 
1453  /* Again check for our two cases (drive root vs path) */
1454  if ((Length <= 1) || (Buffer[Length - 2] != L':'))
1455  {
1456  /* Replace the trailing slash with a null */
1457  Buffer[Length - 1] = UNICODE_NULL;
1458  --Length;
1459  }
1460  else
1461  {
1462  /* Append the null char since there's no trailing slash */
1464  }
1465 
1466  /* Release PEB lock */
1468  DPRINT("CurrentDirectory %S\n", Buffer);
1469  return Length * sizeof(WCHAR);
1470 }
NTSYSAPI VOID NTAPI RtlCopyMemory(VOID UNALIGNED *Destination, CONST VOID UNALIGNED *Source, ULONG Length)
Definition: bidi.c:75
ASSERT((InvokeOnSuccess||InvokeOnError||InvokeOnCancel)?(CompletionRoutine!=NULL):TRUE)
_In_ UINT Bytes
Definition: mmcopy.h:9
PVOID *typedef PWSTR
Definition: winlogon.h:57
VOID NTAPI RtlReleasePebLock(VOID)
Definition: libsupp.c:82
#define WCHAR
Definition: msvc.h:43
#define OBJ_NAME_PATH_SEPARATOR
Definition: nt_native.h:1240
#define UNICODE_NULL
smooth NULL
Definition: ftsmooth.c:513
void DPRINT(...)
Definition: polytest.cpp:61
Definition: bufpool.h:45
VOID UINTN Length
Definition: acefiex.h:744
UnicodeString MaximumLength
Definition: rtlfuncs.h:2982
VOID NTAPI RtlAcquirePebLock(VOID)
Definition: libsupp.c:72
UNICODE_STRING DosPath
Definition: rtltypes.h:1247
unsigned int ULONG
Definition: retypes.h:1
#define NtCurrentPeb()
Definition: rtlfuncs.h:1073
NTSYSAPI PPEB NTAPI RtlGetCurrentPeb ( VOID  )

Definition at line 63 of file libsupp.c.

64 {
65  return NtCurrentPeb();
66 }
#define NtCurrentPeb()
Definition: rtlfuncs.h:1073
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:2731
NTSYSAPI VOID NTAPI RtlGetDefaultCodePage ( _Out_ PUSHORT  AnsiCodePage,
_Out_ PUSHORT  OemCodePage 
)
NTSYSAPI PTEB_ACTIVE_FRAME NTAPI RtlGetFrame ( VOID  )

Definition at line 418 of file debug.c.

419 {
420  /* Return the frame that's currently active */
421  return NtCurrentTeb()->ActiveFrame;
422 }
FORCEINLINE struct _TEB * NtCurrentTeb(VOID)
Definition: psfuncs.h:420
NTSYSAPI ULONG NTAPI RtlGetFullPathName_U ( _In_ PCWSTR  FileName,
_In_ ULONG  Size,
_Out_z_bytecap_(Size) PWSTR  Buffer,
_Out_opt_ PWSTR ShortName 
)

Definition at line 1694 of file path.c.

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

1699 {
1700  NTSTATUS Status;
1701  UNICODE_STRING FileNameString;
1703 
1704  /* Build the string */
1705  Status = RtlInitUnicodeStringEx(&FileNameString, FileName);
1706  if (!NT_SUCCESS(Status)) return 0;
1707 
1708  /* Call the extended function */
1709  return RtlGetFullPathName_Ustr(&FileNameString,
1710  Size,
1711  Buffer,
1712  (PCWSTR*)ShortName,
1713  NULL,
1714  &PathType);
1715 }
enum _RTL_PATH_TYPE RTL_PATH_TYPE
const uint16_t * PCWSTR
Definition: typedefs.h:56
ULONG NTAPI RtlGetFullPathName_Ustr(_In_ PUNICODE_STRING FileName, _In_ ULONG Size, _Out_z_bytecap_(Size) PWSTR Buffer, _Out_opt_ PCWSTR *ShortName, _Out_opt_ PBOOLEAN InvalidName, _Out_ RTL_PATH_TYPE *PathType)
Definition: path.c:472
static IN ULONG IN PWSTR OUT PCWSTR * ShortName
static IN ULONG IN PWSTR OUT PCWSTR OUT PBOOLEAN OUT PATH_TYPE_AND_UNKNOWN * PathType
smooth NULL
Definition: ftsmooth.c:513
Definition: bufpool.h:45
UINTN Size
Definition: acefiex.h:555
Status
Definition: gdiplustypes.h:24
#define NT_SUCCESS(StatCode)
Definition: cmd.c:149
LONG NTSTATUS
Definition: DriverTester.h:11
NTSYSAPI NTSTATUS WINAPI RtlInitUnicodeStringEx(PUNICODE_STRING, PCWSTR)
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 
)

Referenced by CreateProcessInternalW().

NTSYSAPI NTSTATUS NTAPI RtlGetGroupSecurityDescriptor ( _In_ PSECURITY_DESCRIPTOR  SecurityDescriptor,
_Out_ PSID Group,
_Out_ PBOOLEAN  GroupDefaulted 
)
NTSYSAPI NTSTATUS NTAPI RtlGetLengthWithoutTrailingPathSeperators ( _Reserved_ ULONG  Flags,
_In_ PCUNICODE_STRING  PathString,
_Out_ PULONG  Length 
)

Referenced by START_TEST().

NTSYSAPI ULONG NTAPI RtlGetLongestNtPathLength ( VOID  )

Definition at line 1293 of file path.c.

Referenced by START_TEST().

1294 {
1295  /*
1296  * The longest NT path is a DOS path that actually sits on a UNC path (ie:
1297  * a mapped network drive), which is accessed through the DOS Global?? path.
1298  * This is, and has always been equal to, 269 characters, except in Wine
1299  * which claims this is 277. Go figure.
1300  */
1301  return MAX_PATH + RtlpDosDevicesUncPrefix.Length / sizeof(WCHAR) + sizeof(ANSI_NULL);
1302 }
#define WCHAR
Definition: msvc.h:43
#define ANSI_NULL
#define MAX_PATH
Definition: compat.h:26
const UNICODE_STRING RtlpDosDevicesUncPrefix
Definition: path.c:36
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:274
#define NtCurrentPeb()
Definition: rtlfuncs.h:1073
NTSYSAPI BOOLEAN NTAPI RtlGetNtProductType ( OUT PNT_PRODUCT_TYPE  ProductType)
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 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 
)

Definition at line 140 of file image.c.

Referenced by BlImgFindSection(), ImgArchEfiStartBootApplication(), ImgpInitializeBootApplicationParameters(), ImgpLoadPEImage(), LdrpCheckForLoadedDll(), and RtlImageNtHeader().

145 {
146  PIMAGE_NT_HEADERS NtHeaders;
147  PIMAGE_DOS_HEADER DosHeader;
148  BOOLEAN WantsRangeCheck;
149  ULONG NtHeaderOffset;
150 
151  /* You must want NT Headers, no? */
152  if (OutHeaders == NULL)
153  {
154  DPRINT1("OutHeaders is NULL\n");
156  }
157 
158  /* Assume failure */
159  *OutHeaders = NULL;
160 
161  /* Validate Flags */
162  if (Flags & ~RTL_IMAGE_NT_HEADER_EX_FLAG_NO_RANGE_CHECK)
163  {
164  DPRINT1("Invalid flags: 0x%lx\n", Flags);
166  }
167 
168  /* Validate base */
169  if ((Base == NULL) || (Base == (PVOID)-1))
170  {
171  DPRINT1("Invalid base address: %p\n", Base);
173  }
174 
175  /* Check if the caller wants range checks */
176  WantsRangeCheck = !(Flags & RTL_IMAGE_NT_HEADER_EX_FLAG_NO_RANGE_CHECK);
177  if (WantsRangeCheck)
178  {
179  /* Make sure the image size is at least big enough for the DOS header */
180  if (Size < sizeof(IMAGE_DOS_HEADER))
181  {
182  DPRINT1("Size too small\n");
184  }
185  }
186 
187  /* Check if the DOS Signature matches */
188  DosHeader = Base;
189  if (DosHeader->e_magic != IMAGE_DOS_SIGNATURE)
190  {
191  /* Not a valid COFF */
192  DPRINT1("Invalid image DOS signature!\n");
194  }
195 
196  /* Get the offset to the NT headers (and copy from LONG to ULONG) */
197  NtHeaderOffset = DosHeader->e_lfanew;
198 
199  /* The offset must not be larger than 256MB, as a hard-coded check.
200  In Windows this check is only done in user mode, not in kernel mode,
201  but it shouldn't harm to have it anyway. Note that without this check,
202  other overflow checks would become necessary! */
203  if (NtHeaderOffset >= (256 * 1024 * 1024))
204  {
205  /* Fail */
206  DPRINT1("NT headers offset is larger than 256MB!\n");
208  }
209 
210  /* Check if the caller wants validation */
211  if (WantsRangeCheck)
212  {
213  /* Make sure the file header fits into the size */
214  if ((NtHeaderOffset +
216  {
217  /* Fail */
218  DPRINT1("NT headers beyond image size!\n");
220  }
221  }
222 
223  /* Now get a pointer to the NT Headers */
224  NtHeaders = (PIMAGE_NT_HEADERS)((ULONG_PTR)Base + NtHeaderOffset);
225 
226  /* Check if the mapping is in user space */
227  if (Base <= MmHighestUserAddress)
228  {
229  /* Make sure we don't overflow into kernel space */
230  if ((PVOID)(NtHeaders + 1) > MmHighestUserAddress)
231  {
232  DPRINT1("Image overflows from user space into kernel space!\n");
234  }
235  }
236 
237  /* Verify the PE Signature */
238  if (NtHeaders->Signature != IMAGE_NT_SIGNATURE)
239  {
240  /* Fail */
241  DPRINT1("Invalid image NT signature!\n");
243  }
244 
245  /* Now return success and the NT header */
246  *OutHeaders = NtHeaders;
247  return STATUS_SUCCESS;
248 }
DWORD *typedef PVOID
Definition: winlogon.h:52
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
return STATUS_SUCCESS
Definition: btrfs.c:2664
_In_opt_ ULONG Base
Definition: rtlfuncs.h:2327
PIMAGE_NT_HEADERS32 PIMAGE_NT_HEADERS
Definition: ntddk_ex.h:187
uint32_t ULONG_PTR
Definition: typedefs.h:64
#define IMAGE_DOS_SIGNATURE
Definition: pedump.c:89
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
smooth NULL
Definition: ftsmooth.c:513
UINTN Size
Definition: acefiex.h:555
#define IMAGE_NT_SIGNATURE
Definition: pedump.c:93
unsigned char BOOLEAN
#define STATUS_INVALID_IMAGE_FORMAT
Definition: ntstatus.h:345
#define RTL_SIZEOF_THROUGH_FIELD(type, field)
Definition: ntbasedef.h:671
PVOID MmHighestUserAddress
Definition: rtlcompat.c:26
#define DPRINT1
Definition: precomp.h:8
unsigned int ULONG
Definition: retypes.h:1
NTSYSAPI PIMAGE_SECTION_HEADER NTAPI RtlImageRvaToSection ( _In_ PIMAGE_NT_HEADERS  NtHeader,
_In_ PVOID  BaseAddress,
_In_ ULONG  Rva 
)
NTSYSAPI PVOID NTAPI RtlImageRvaToVa ( _In_ PIMAGE_NT_HEADERS  NtHeader,
_In_ PVOID  BaseAddress,
_In_ ULONG  Rva,
_Inout_opt_ PIMAGE_SECTION_HEADER SectionHeader 
)
NTSYSAPI NTSTATUS NTAPI RtlImpersonateSelf ( IN SECURITY_IMPERSONATION_LEVEL  ImpersonationLevel)

Definition at line 45 of file priv.c.

Referenced by ImpersonateSelf(), and START_TEST().

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,
79  &ObjAttr,
80  Sqos.EffectiveOnly, /* why both here _and_ in Sqos? */
82  &ImpersonationToken);
83  if (!NT_SUCCESS(Status))
84  {
85  DPRINT1("NtDuplicateToken() failed (Status %lx)\n", Status);
86  NtClose(ProcessToken);
87  return Status;
88  }
89 
90  Status = ZwSetInformationThread(NtCurrentThread(),
92  &ImpersonationToken,
93  sizeof(HANDLE));
94  if (!NT_SUCCESS(Status))
95  {
96  DPRINT1("NtSetInformationThread() failed (Status %lx)\n", Status);
97  }
98 
99  ZwClose(ImpersonationToken);
100  ZwClose(ProcessToken);
101 
102  return Status;
103 }
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
#define NtCurrentThread()
#define TOKEN_IMPERSONATE
Definition: setypes.h:873
#define PAGED_CODE_RTL()
Definition: rtlp.h:16
SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode
Definition: lsa.idl:66
#define FALSE
Definition: types.h:117
smooth NULL
Definition: ftsmooth.c:513
#define NtCurrentProcess()
Definition: nt_native.h:1657
_Out_ PBOOLEAN _Out_ PBOOLEAN _Out_ PSECURITY_IMPERSONATION_LEVEL ImpersonationLevel
Definition: psfuncs.h:154
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
Definition: obhandle.c:3392
#define TOKEN_DUPLICATE
Definition: setypes.h:872
Status
Definition: gdiplustypes.h:24
#define NT_SUCCESS(StatCode)
Definition: cmd.c:149
DWORD *typedef HANDLE
Definition: winlogon.h:52
LONG NTSTATUS
Definition: DriverTester.h:11
NTSYSAPI NTSTATUS NTAPI ZwOpenProcessToken(_In_ HANDLE ProcessHandle, _In_ ACCESS_MASK DesiredAccess, _Out_ PHANDLE TokenHandle)
struct _SECURITY_QUALITY_OF_SERVICE SECURITY_QUALITY_OF_SERVICE
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
Definition: lsa.idl:65
#define DPRINT1
Definition: precomp.h:8
PVOID SecurityQualityOfService
Definition: umtypes.h:176
#define InitializeObjectAttributes(p, n, a, r, s)
Definition: reg.c:106
NTSYSAPI VOID NTAPI RtlInitializeContext ( _In_ HANDLE  ProcessHandle,
_Out_ PCONTEXT  ThreadContext,
_In_opt_ PVOID  ThreadStartParam,
_In_ PTHREAD_START_ROUTINE  ThreadStartAddress,
_In_ PINITIAL_TEB  InitialTeb 
)
NTSYSAPI NTSTATUS NTAPI RtlInitializeCriticalSectionAndSpinCount ( _In_ PRTL_CRITICAL_SECTION  CriticalSection,
_In_ ULONG  SpinCount 
)
NTSYSAPI VOID NTAPI RtlInitializeHandleTable ( _In_ ULONG  TableSize,
_In_ ULONG  HandleSize,
_In_ PRTL_HANDLE_TABLE  HandleTable 
)
NTSYSAPI VOID NTAPI RtlInitializeRangeList ( _Inout_ PRTL_RANGE_LIST  RangeList)
NTSYSAPI VOID NTAPI RtlInitNlsTables ( _In_ PUSHORT  AnsiTableBase,
_In_ PUSHORT  OemTableBase,
_In_ PUSHORT  CaseTableBase,
_Out_ PNLSTABLEINFO  NlsTable 
)
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 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 
)
NTSYSAPI PSTR NTAPI RtlIpv4AddressToStringA ( _In_ const struct in_addr Addr,
_Out_writes_(16) PCHAR  S 
)
NTSYSAPI NTSTATUS NTAPI RtlIpv4AddressToStringExA ( _In_ const struct in_addr Address,
_In_ USHORT  Port,
_Out_writes_to_ *,*AddressStringLength PCHAR  AddressString,
_Inout_ PULONG  AddressStringLength 
)

Definition at line 206 of file network.c.

211 {
214  ULONG Length;
215  PSTR End;
216 
217  if (!Address || !AddressString || !AddressStringLength)
219 
220  Status = RtlStringCchPrintfExA(Buffer,
221  RTL_NUMBER_OF(Buffer),
222  &End,
223  NULL,
224  0,
225  Port ? "%u.%u.%u.%u:%u"
226  : "%u.%u.%u.%u",
227  Address->S_un.S_un_b.s_b1,
228  Address->S_un.S_un_b.s_b2,
229  Address->S_un.S_un_b.s_b3,
230  Address->S_un.S_un_b.s_b4,
231  WN2H(Port));
232  ASSERT(Status == STATUS_SUCCESS);
233  if (!NT_SUCCESS(Status))
235