#define ASSERT( exp ) \
((void)((!(exp)) ? \
- (RtlAssert( #exp, __FILE__, __LINE__, NULL ),FALSE) : \
+ (RtlAssert( (PVOID)#exp, (PVOID)__FILE__, __LINE__, NULL ),FALSE) : \
TRUE))
#define ASSERTMSG( msg, exp ) \
((void)((!(exp)) ? \
- (RtlAssert( #exp, __FILE__, __LINE__, msg ),FALSE) : \
+ (RtlAssert( (PVOID)#exp, (PVOID)__FILE__, __LINE__, (PCHAR)msg ),FALSE) : \
TRUE))
#else
);
NTSYSAPI
-PVOID
+VOID
NTAPI
RtlSetUnhandledExceptionFilter(
- IN PVOID TopLevelExceptionFilter
+ IN PRTLP_UNHANDLED_EXCEPTION_FILTER TopLevelExceptionFilter
);
NTSYSAPI
PCHAR MbString,
ULONG MbSize,
PULONG ResultSize,
- PWCHAR UnicodeString,
+ PCWCH UnicodeString,
ULONG UnicodeSize
);
IN ULONG Fill
);
+NTSYSAPI
+VOID
+NTAPI
+RtlFillMemoryUlonglong(
+ OUT PVOID Destination,
+ IN SIZE_T Length,
+ IN ULONGLONG Pattern
+);
+
+
NTSYSAPI
SIZE_T
NTAPI
IN PINITIAL_TEB InitialTeb
);
+#ifdef _M_AMD64
+typedef struct _WOW64_CONTEXT *PWOW64_CONTEXT;
+
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlWow64GetThreadContext(
+ IN HANDLE ThreadHandle,
+ IN OUT PWOW64_CONTEXT ThreadContext
+);
+
+
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlWow64SetThreadContext(
+ IN HANDLE ThreadHandle,
+ IN PWOW64_CONTEXT ThreadContext
+);
+#endif
+
NTSYSAPI
BOOLEAN
NTAPI
IN BOOLEAN NeedBreaks
);
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlSetThreadIsCritical(
+ IN BOOLEAN NewValue,
+ OUT PBOOLEAN OldValue OPTIONAL,
+ IN BOOLEAN NeedBreaks
+);
+
NTSYSAPI
ULONG
NTAPI
//
// Thread Pool Functions
//
+//
+NTSTATUS
+NTAPI
+RtlSetThreadPoolStartFunc(
+ IN PRTL_START_POOL_THREAD StartPoolThread,
+ IN PRTL_EXIT_POOL_THREAD ExitPoolThread
+);
+
NTSYSAPI
NTSTATUS
NTAPI
OUT PWSTR *PartName
);
+ULONG
+NTAPI
+RtlDosSearchPath_Ustr(
+ IN ULONG Flags,
+ IN PUNICODE_STRING PathString,
+ IN PUNICODE_STRING FileNameString,
+ IN PUNICODE_STRING ExtensionString,
+ IN PUNICODE_STRING CallerBuffer,
+ IN OUT PUNICODE_STRING DynamicString OPTIONAL,
+ OUT PUNICODE_STRING* FullNameOut OPTIONAL,
+ OUT PSIZE_T FilePartSize OPTIONAL,
+ OUT PSIZE_T LengthNeeded OPTIONAL
+);
+
NTSYSAPI
BOOLEAN
NTAPI
OUT PRTL_RELATIVE_NAME_U DirectoryInfo
);
+NTSYSAPI
+BOOLEAN
+NTAPI
+RtlDosPathNameToRelativeNtPathName_U(
+ IN PCWSTR DosName,
+ OUT PUNICODE_STRING NtName,
+ OUT PCWSTR *PartName,
+ OUT PRTL_RELATIVE_NAME_U RelativeName
+);
+
NTSYSAPI
NTSTATUS
NTAPI
OUT PWSTR *ShortName
);
+#if (NTDDI_VERSION >= NTDDI_WIN7)
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlGetFullPathName_UEx(
+ IN PWSTR FileName,
+ IN ULONG BufferLength,
+ OUT PWSTR Buffer,
+ OUT OPTIONAL PWSTR *FilePart,
+ OUT OPTIONAL RTL_PATH_TYPE *InputPathType
+ );
+#endif
+
+NTSTATUS
+NTAPI
+RtlGetFullPathName_UstrEx(
+ IN PUNICODE_STRING FileName,
+ IN PUNICODE_STRING StaticString,
+ IN PUNICODE_STRING DynamicString,
+ IN PUNICODE_STRING *StringUsed,
+ IN PSIZE_T FilePartSize,
+ OUT PBOOLEAN NameInvalid,
+ OUT RTL_PATH_TYPE* PathType,
+ OUT PSIZE_T LengthNeeded
+);
+
NTSYSAPI
ULONG
NTAPI
RtlIsDosDeviceName_U(
- IN PWSTR Name
+ IN PCWSTR Name
);
NTSYSAPI
ULONG
NTAPI
RtlIsDosDeviceName_Ustr(
- IN PUNICODE_STRING Name
+ IN PCUNICODE_STRING Name
);
NTSTATUS
NTAPI
RtlQueryEnvironmentVariable_U(
- PWSTR Environment,
- PUNICODE_STRING Name,
- PUNICODE_STRING Value
+ IN OPTIONAL PWSTR Environment,
+ IN PUNICODE_STRING Name,
+ OUT PUNICODE_STRING Value
);
VOID
NTSTATUS
NTAPI
RtlGetSetBootStatusData(
- HANDLE FileHandle,
- BOOLEAN WriteMode,
- DWORD DataClass,
- PVOID Buffer,
- ULONG BufferSize,
- DWORD DataClass2
+ IN HANDLE FileHandle,
+ IN BOOLEAN WriteMode,
+ IN RTL_BSD_ITEM_TYPE DataClass,
+ IN PVOID Buffer,
+ IN ULONG BufferSize,
+ OUT PULONG ReturnLength OPTIONAL
);
NTSYSAPI
RtlGUIDFromString(
IN PUNICODE_STRING GuidString,
OUT GUID *Guid);
+
+NTSYSAPI
+NTSTATUS
+NTAPI
+RtlComputeImportTableHash(
+ IN HANDLE hFile,
+ OUT PCHAR Hash,
+ IN ULONG ImportTableHashRevision
+);
#endif
#ifdef __cplusplus