6 #define kernel32file 200 7 #define kernel32ver 201 10 #define kernel32session 204 17 #define DEBUG_CHANNEL(ch) static ULONG gDebugChannel = ch; 19 #define DEBUG_CHANNEL(ch) 22 #define TRACE(fmt, ...) TRACE__(gDebugChannel, fmt, ##__VA_ARGS__) 23 #define WARN(fmt, ...) WARN__(gDebugChannel, fmt, ##__VA_ARGS__) 24 #define FIXME(fmt, ...) WARN__(gDebugChannel, fmt,## __VA_ARGS__) 25 #define ERR(fmt, ...) ERR__(gDebugChannel, fmt, ##__VA_ARGS__) 28 SetLastError(ERROR_CALL_NOT_IMPLEMENTED); \ 29 DPRINT1("%s() is UNIMPLEMENTED!\n", __FUNCTION__) 37 #include "wine/unicode.h" 40 #define MAGIC(c1,c2,c3,c4) ((c1) + ((c2)<<8) + ((c3)<<16) + ((c4)<<24)) 42 #define MAGIC_HEAP MAGIC( 'H','E','A','P' ) 44 #define ROUNDUP(a,b) ((((a)+(b)-1)/(b))*(b)) 45 #define ROUNDDOWN(a,b) (((a)/(b))*(b)) 47 #define ROUND_DOWN(n, align) \ 48 (((ULONG)n) & ~((align) - 1l)) 50 #define ROUND_UP(n, align) \ 51 ROUND_DOWN(((ULONG)n) + (align) - 1, (align)) 53 #define ARRAY_SIZE(a) (sizeof(a)/sizeof((a)[0])) 55 #define __TRY _SEH2_TRY 56 #define __EXCEPT_PAGE_FAULT _SEH2_EXCEPT(_SEH2_GetExceptionCode() == STATUS_ACCESS_VIOLATION) 57 #define __ENDTRY _SEH2_END 60 #define STARTF_SHELLPRIVATE 0x400 107 #define BASEP_GET_MODULE_HANDLE_EX_PARAMETER_VALIDATION_ERROR 1 108 #define BASEP_GET_MODULE_HANDLE_EX_PARAMETER_VALIDATION_SUCCESS 2 109 #define BASEP_GET_MODULE_HANDLE_EX_PARAMETER_VALIDATION_CONTINUE 3 117 DWORD dwMilliseconds);
122 #define BASEP_COPY_METADATA 0x10 123 #define BASEP_COPY_SACL 0x20 124 #define BASEP_COPY_OWNER_AND_GROUP 0x40 125 #define BASEP_COPY_DIRECTORY 0x80 126 #define BASEP_COPY_BACKUP_SEMANTICS 0x100 127 #define BASEP_COPY_REPLACE 0x200 128 #define BASEP_COPY_SKIP_DACL 0x400 129 #define BASEP_COPY_PUBLIC_MASK 0xF 130 #define BASEP_COPY_BASEP_MASK 0xFFFFFFF0 133 #define PRIV_DELETE_ON_SUCCESS 0x1 134 #define PRIV_ALLOW_NON_TRACKABLE 0x2 168 #define HeapAlloc RtlAllocateHeap 169 #define HeapReAlloc RtlReAllocateHeap 170 #define HeapFree RtlFreeHeap 171 #define _lread(a, b, c) (long)(_hread(a, b, (long)c)) 246 BaseFiberStartup(
VOID);
UNICODE_STRING BaseWindowsSystemDirectory
DWORD FilenameW2A_FitOrFail(LPSTR DestA, INT destLen, LPCWSTR SourceW, INT sourceLen)
UNICODE_STRING BaseWindowsDirectory
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
HANDLE WINAPI BaseGetNamedObjectDirectory(VOID)
PVOID PVOID PWCHAR PVOID Environment
VOID WINAPI BasepFreeAppCompatData(IN PVOID AppCompatData, IN PVOID AppCompatSxsData)
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID PULONG PVOID PULONG PULONG FusionFlags
DWORD(WINAPI * LPTHREAD_START_ROUTINE)(LPVOID)
NTSTATUS NTAPI BasepProbeForDllManifest(IN PVOID DllHandle, IN PCWSTR FullDllName, OUT PVOID *ActCtx)
NTSTATUS NTAPI BasepAllocateActivationContextActivationBlock(IN DWORD Flags, IN PVOID CompletionRoutine, IN PVOID CompletionContext, OUT PBASEP_ACTCTX_BLOCK *ActivationBlock)
PRTL_CONVERT_STRINGA BasepUnicodeStringTo8BitString
NTSTATUS WINAPI BasepCheckWinSaferRestrictions(IN HANDLE UserToken, IN LPWSTR ApplicationName, IN HANDLE FileHandle, OUT PBOOLEAN InJob, OUT PHANDLE NewToken, OUT PHANDLE JobHandle)
ULONG(NTAPI * PRTL_COUNT_STRINGA)(IN PANSI_STRING UnicodeString)
BOOL BasepCopyFileExW(IN LPCWSTR lpExistingFileName, IN LPCWSTR lpNewFileName, IN LPPROGRESS_ROUTINE lpProgressRoutine OPTIONAL, IN LPVOID lpData OPTIONAL, IN LPBOOL pbCancel OPTIONAL, IN DWORD dwCopyFlags, IN DWORD dwBasepFlags, OUT LPHANDLE lpExistingHandle, OUT LPHANDLE lpNewHandle)
_In_ WDFREQUEST _In_opt_ PFN_WDF_REQUEST_COMPLETION_ROUTINE _In_opt_ __drv_aliasesMem WDFCONTEXT CompletionContext
PBASEP_APPCERT_PLUGIN_FUNC fPluginCertFunc
BOOL IsThisARootDirectory(IN HANDLE VolumeHandle, IN PUNICODE_STRING NtPathName)
VOID WINAPI BaseMarkFileForDelete(IN HANDLE FileHandle, IN ULONG FileAttributes)
PRTL_COUNT_STRING BasepUnicodeStringTo8BitSize
ULONG WINAPI BaseIsDosApplication(IN PUNICODE_STRING PathName, IN NTSTATUS Status)
RTL_CRITICAL_SECTION gcsAppCert
_IRQL_requires_same_ _In_ PLSA_STRING _In_ SECURITY_LOGON_TYPE _In_ ULONG _In_ ULONG _In_opt_ PTOKEN_GROUPS _In_ PTOKEN_SOURCE _Out_ PVOID _Out_ PULONG _Inout_ PLUID _Out_ PHANDLE Token
NTSTATUS(NTAPI * PRTL_CONVERT_STRING)(IN PUNICODE_STRING UnicodeString, IN PANSI_STRING AnsiString, IN BOOLEAN AllocateMemory)
PLDR_DATA_TABLE_ENTRY BasepExeLdrEntry
_In_ BOOL _In_ HANDLE hProcess
NTSTATUS WINAPI BaseCreateStack(_In_ HANDLE hProcess, _In_opt_ SIZE_T StackCommit, _In_opt_ SIZE_T StackReserve, _Out_ PINITIAL_TEB InitialTeb)
NTSTATUS(NTAPI * PBASEP_APPCERT_PLUGIN_FUNC)(IN LPWSTR ApplicationName, IN ULONG CertFlag)
WDF_EXTERN_C_START typedef _Must_inspect_result_ _In_opt_ PCUNICODE_STRING UnicodeString
DWORD(* WaitForInputIdleType)(HANDLE hProcess, DWORD dwMilliseconds)
_In_ PVOID _Out_opt_ PULONG_PTR _Outptr_opt_ PCUNICODE_STRING * ObjectName
PRTL_CONVERT_STRING Basep8BitStringToUnicodeString
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _Out_opt_ PULONG _Out_opt_ PULONG ValueType
struct _SXS_OVERRIDE_MANIFEST * PSXS_OVERRIDE_MANIFEST
PLARGE_INTEGER WINAPI BaseFormatTimeOut(OUT PLARGE_INTEGER Timeout, IN DWORD dwMilliseconds)
WaitForInputIdleType UserWaitForInputIdleRoutine
RTL_CRITICAL_SECTION BaseDllDirectoryLock
BOOLEAN WINAPI Basep8BitStringToDynamicUnicodeString(OUT PUNICODE_STRING UnicodeString, IN LPCSTR String)
struct _CODEPAGE_ENTRY CODEPAGE_ENTRY
HANDLE BaseNamedObjectDirectory
VOID WINAPI BaseInitializeContext(IN PCONTEXT Context, IN PVOID Parameter, IN PVOID StartAddress, IN PVOID StackAddress, IN ULONG ContextType)
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
PRTL_COUNT_STRINGA Basep8BitStringToUnicodeSize
LIST_ENTRY BasepAppCertDllsList
SYSTEM_BASIC_INFORMATION BaseCachedSysInfo
DWORD WINAPI BaseSetLastNTError(IN NTSTATUS Status)
_In_ PCWSTR _Inout_ _At_ QueryTable EntryContext
PCODEPAGE_ENTRY FASTCALL IntGetCodePageEntry(UINT CodePage)
struct _BASEP_ACTCTX_BLOCK BASEP_ACTCTX_BLOCK
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE _In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG FileAttributes
VOID NTAPI BaseDllInitializeMemoryManager(VOID)
BOOL BasepGetVolumeNameForVolumeMountPoint(IN LPCWSTR lpszMountPoint, OUT LPWSTR lpszVolumeName, IN DWORD cchBufferLength, OUT LPBOOL IsAMountPoint)
LPWSTR WINAPI BaseComputeProcessExePath(IN LPWSTR FullPath)
_Must_inspect_result_ _In_ ULONG Flags
struct _BASEP_ACTCTX_BLOCK * PBASEP_ACTCTX_BLOCK
VOID WINAPI BaseProcessStartup(PPROCESS_START_ROUTINE lpStartAddress)
static DWORD LPDWORD LPCSTR DWORD srclen
struct _SXS_OVERRIDE_MANIFEST SXS_OVERRIDE_MANIFEST
struct _CODEPAGE_ENTRY * PCODEPAGE_ENTRY
BOOLEAN BaseRunningInServerProcess
NTSTATUS(NTAPI * PBASEP_APPCERT_EMBEDDED_FUNC)(IN LPWSTR ApplicationName)
_In_ GUID _In_ PVOID ValueData
BOOL BasepGetVolumeNameFromReparsePoint(IN LPCWSTR lpszMountPoint, OUT LPWSTR lpszVolumeName, IN DWORD cchBufferLength, OUT LPBOOL IsAMountPoint)
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
_Must_inspect_result_ _Out_ PHANDLE VolumeHandle
struct tagLOADPARMS32 LOADPARMS32
struct _BASEP_APPCERT_ENTRY * PBASEP_APPCERT_ENTRY
_In_ PCWSTR _Out_ PVOID * ActCtx
struct _BASE_MSG_SXS_HANDLES * PBASE_MSG_SXS_HANDLES
LPWSTR WINAPI BaseComputeProcessDllPath(IN LPWSTR FullPath, IN PVOID Environment)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
NTSTATUS(NTAPI * PSAFER_REPLACE_PROCESS_THREAD_TOKENS)(IN HANDLE Token, IN HANDLE Process, IN HANDLE Thread)
DWORD(WINAPI * LPPROGRESS_ROUTINE)(_In_ LARGE_INTEGER, _In_ LARGE_INTEGER, _In_ LARGE_INTEGER, _In_ LARGE_INTEGER, _In_ DWORD, _In_ DWORD, _In_ HANDLE, _In_ HANDLE, _In_opt_ LPVOID)
struct _BASE_MSG_SXS_HANDLES BASE_MSG_SXS_HANDLES
_BASE_CURRENT_DIR_PLACEMENT
PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER
NTSTATUS(NTAPI * PRTL_CONVERT_STRINGA)(IN PANSI_STRING AnsiString, IN PCUNICODE_STRING UnicodeString, IN BOOLEAN AllocateMemory)
VOID WINAPI BasepAnsiStringToHeapUnicodeString(IN LPCSTR AnsiString, OUT LPWSTR *UnicodeString)
BOOLEAN WINAPI IsShimInfrastructureDisabled(VOID)
LPOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine
void(CALLBACK * LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD, DWORD, LPOVERLAPPED)
VOID NTAPI BasepFreeActivationContextActivationBlock(IN PBASEP_ACTCTX_BLOCK ActivationBlock)
enum _BASE_SEARCH_PATH_TYPE * PBASE_SEARCH_PATH_TYPE
PVOID AllocateMemory(IN UINT Size)
PVOID PVOID PWCHAR ApplicationName
NTSTATUS WINAPI BasepCheckBadapp(IN HANDLE FileHandle, IN PWCHAR ApplicationName, IN PWCHAR Environment, IN USHORT ExeType, IN PVOID *SdbQueryAppCompatData, IN PULONG SdbQueryAppCompatDataSize, IN PVOID *SxsData, IN PULONG SxsDataSize, OUT PULONG FusionFlags)
UNICODE_STRING BaseDefaultPath
ULONG(NTAPI * PRTL_COUNT_STRING)(IN PUNICODE_STRING UnicodeString)
PVOID PVOID PWCHAR PVOID USHORT ExeType
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID PULONG PVOID PULONG SxsDataSize
DWORD FilenameW2A_N(LPSTR dest, INT destlen, LPCWSTR src, INT srclen)
_In_ WDFREQUEST _In_opt_ PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine
PBASE_STATIC_SERVER_DATA BaseStaticServerData
POBJECT_ATTRIBUTES WINAPI BaseFormatObjectAttributes(OUT POBJECT_ATTRIBUTES ObjectAttributes, IN PSECURITY_ATTRIBUTES SecurityAttributes OPTIONAL, IN PUNICODE_STRING ObjectName)
PUNICODE_STRING WINAPI Basep8BitStringToStaticUnicodeString(IN LPCSTR AnsiString)
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
VOID WINAPI BaseFreeThreadStack(_In_ HANDLE hProcess, _In_ PINITIAL_TEB InitialTeb)
VOID WINAPI BaseProcessStartThunk(VOID)
struct _BASEP_APPCERT_ENTRY BASEP_APPCERT_ENTRY
UINT(WINAPI * PPROCESS_START_ROUTINE)(VOID)
_Must_inspect_result_ _In_ FLT_CONTEXT_TYPE ContextType
DWORD FilenameU2A_FitOrFail(LPSTR DestA, INT destLen, PUNICODE_STRING SourceU)
VOID NTAPI BasepLocateExeLdrEntry(IN PLDR_DATA_TABLE_ENTRY Entry, IN PVOID Context, OUT BOOLEAN *StopEnumeration)
NTSTATUS WINAPI BasepMapFile(IN LPCWSTR lpApplicationName, OUT PHANDLE hSection, IN PUNICODE_STRING ApplicationName)
LPTOP_LEVEL_EXCEPTION_FILTER GlobalTopLevelExceptionFilter
enum _BASE_CURRENT_DIR_PLACEMENT BASE_CURRENT_DIR_PLACEMENT
UNICODE_STRING BaseDefaultPathAppend
struct _SXS_WIN32_NT_PATH_PAIR * PSXS_WIN32_NT_PATH_PAIR
PWCHAR FilenameA2W(LPCSTR NameA, BOOL alloc)
NTSTATUS NTAPI BasepConfigureAppCertDlls(IN PWSTR ValueName, IN ULONG ValueType, IN PVOID ValueData, IN ULONG ValueLength, IN PVOID Context, IN PVOID EntryContext)
VOID WINAPI InitCommandLines(VOID)
PVOID WINAPI BasepIsRealtimeAllowed(IN BOOLEAN Keep)
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID PULONG PVOID * SxsData
ULONG NTAPI BasepUnicodeStringToAnsiSize(IN PUNICODE_STRING String)
_In_ const BITMAPINFO _In_ UINT _In_opt_ HANDLE hSection
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID * SdbQueryAppCompatData
enum _BASE_SEARCH_PATH_TYPE BASE_SEARCH_PATH_TYPE
base of all file and directory entries
VOID WINAPI BaseThreadStartupThunk(VOID)
CPTABLEINFO CodePageTable
__declspec(noreturn) VOID WINAPI BaseThreadStartup(LPTHREAD_START_ROUTINE lpStartAddress
UNICODE_STRING BaseDllDirectory
ULONG NTAPI BasepAnsiStringToUnicodeSize(IN PANSI_STRING String)
struct _SXS_WIN32_NT_PATH_PAIR SXS_WIN32_NT_PATH_PAIR
PVOID PVOID PWCHAR PVOID USHORT PULONG PVOID PULONG SdbQueryAppCompatDataSize
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG ValueLength
PULONG MinorVersion OPTIONAL