26#define WIN32_NO_STATUS
55 0, 0, { (
DWORD_PTR)(__FILE__
": exclusive_datafile_list_section") }
127 if (!datafile)
goto failed;
128 datafile->
module = *mod_ret;
133 TRACE(
"delaying close %p for module %p\n", datafile->
file, datafile->
module );
159 if (
flags & unsupported_flags)
FIXME(
"unsupported flag(s) used %#08lx\n",
flags );
180 RtlReleasePath( load_path );
207 ERR(
"failed to delay load %s.%s\n",
name, function );
209 ERR(
"failed to delay load %s.%u\n",
name,
LOWORD(function) );
253 TRACE(
"closing %p for module %p\n",
file->file,
file->module );
300 WIN16_SUBSYSTEM_TIB *win16_tib;
304 if (!
module && ((win16_tib =
NtCurrentTeb()->Tib.SubSystemTib)) && win16_tib->exe_name)
360 if (!
name || (
flags & GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS))
388 if ((
flags & ~(GET_MODULE_HANDLE_EX_FLAG_PIN | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT
389 | GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS))
390 || (
flags & (GET_MODULE_HANDLE_EX_FLAG_PIN | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT))
391 == (GET_MODULE_HANDLE_EX_FLAG_PIN | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT))
398 if (
name && !(
flags & GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS))
403 if (
flags & GET_MODULE_HANDLE_EX_FLAG_PIN)
404 ldr_flags |= LDR_GET_DLL_HANDLE_EX_FLAG_PIN;
405 if (
flags & GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT)
406 ldr_flags |= LDR_GET_DLL_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT;
417 if (!(
flags & GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT))
445 asm(
".seh_proc \"#GetProcAddress\"\n\t"
446 "stp x29, x30, [sp, #-48]!\n\t"
447 ".seh_save_fplr_x 48\n\t"
448 ".seh_endprologue\n\t"
449 "stp d0, d1, [sp, #16]\n\t"
450 "stp d2, d3, [sp, #32]\n\t"
451 "bl \"#get_proc_address\"\n\t"
452 "ldp d0, d1, [sp, #16]\n\t"
453 "ldp d2, d3, [sp, #32]\n\t"
454 "ldp x29, x30, [sp], #48\n\t"
458#elif defined(__x86_64__)
463 __ASM_CFI(
".cfi_adjust_cfa_offset 8\n\t")
467 __ASM_CFI(
".cfi_def_cfa_register %rbp\n\t")
469 "subq $0x60,%rsp\n\t"
471 "movaps %xmm0,0x20(%rsp)\n\t"
472 "movaps %xmm1,0x30(%rsp)\n\t"
473 "movaps %xmm2,0x40(%rsp)\n\t"
474 "movaps %xmm3,0x50(%rsp)\n\t"
476 "movaps 0x50(%rsp), %xmm3\n\t"
477 "movaps 0x40(%rsp), %xmm2\n\t"
478 "movaps 0x30(%rsp), %xmm1\n\t"
479 "movaps 0x20(%rsp), %xmm0\n\t"
480 "leaq 0(%rbp),%rsp\n\t"
481 __ASM_CFI(
".cfi_def_cfa_register %rsp\n\t")
483 __ASM_CFI(
".cfi_adjust_cfa_offset -8\n\t")
506 status = ApiSetQueryApiSetPresenceEx( &
str, &in_schema, &present );
508 return !
status && present;
613#define IS_INTRESOURCE(x) (((ULONG_PTR)(x) >> 16) == 0)
677 if (
flags & (RESOURCE_ENUM_MUI | RESOURCE_ENUM_MUI_SYSTEM | RESOURCE_ENUM_VALIDATE))
680 if (!
flags)
flags = RESOURCE_ENUM_LN | RESOURCE_ENUM_MUI;
681 if (!(
flags & RESOURCE_ENUM_LN))
return ret;
737 if (
flags & (RESOURCE_ENUM_MUI | RESOURCE_ENUM_MUI_SYSTEM | RESOURCE_ENUM_VALIDATE))
740 if (!
flags)
flags = RESOURCE_ENUM_LN | RESOURCE_ENUM_MUI;
741 if (!(
flags & RESOURCE_ENUM_LN))
return ret;
798 if (
flags & (RESOURCE_ENUM_MUI | RESOURCE_ENUM_MUI_SYSTEM | RESOURCE_ENUM_VALIDATE))
801 if (!
flags)
flags = RESOURCE_ENUM_LN | RESOURCE_ENUM_MUI;
802 if (!(
flags & RESOURCE_ENUM_LN))
return ret;
819 if (et[
i].NameIsString)
823 if (newlen + 1 >
len)
877 if (
flags & (RESOURCE_ENUM_MUI | RESOURCE_ENUM_MUI_SYSTEM | RESOURCE_ENUM_VALIDATE))
880 if (!
flags)
flags = RESOURCE_ENUM_LN | RESOURCE_ENUM_MUI;
881 if (!(
flags & RESOURCE_ENUM_LN))
return ret;
898 if (et[
i].NameIsString)
901 if (
str->Length + 1 >
len)
962 if (
flags & (RESOURCE_ENUM_MUI | RESOURCE_ENUM_MUI_SYSTEM | RESOURCE_ENUM_VALIDATE))
965 if (!
flags)
flags = RESOURCE_ENUM_LN | RESOURCE_ENUM_MUI;
966 if (!(
flags & RESOURCE_ENUM_LN))
return ret;
975 if (et[
i].NameIsString)
979 if (newlen + 1 >
len)
1015 if (!
flags)
flags = RESOURCE_ENUM_LN | RESOURCE_ENUM_MUI;
1016 if (!(
flags & RESOURCE_ENUM_LN))
return ret;
1025 if (et[
i].NameIsString)
1028 if (
str->Length + 1 >
len)
1083 return (HRSRC)
entry;
1114 if (!rsrc)
return 0;
1136 if (!rsrc)
return 0;
struct mke2fs_defaults settings[]
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static const WCHAR nameW[]
static void list_remove(struct list_entry *entry)
static void list_add_head(struct list_entry *head, struct list_entry *entry)
NTSTATUS NTAPI LdrDisableThreadCalloutsForDll(_In_ PVOID BaseAddress)
NTSYSAPI BOOLEAN NTAPI RtlCreateUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define ERROR_NOT_ENOUGH_MEMORY
#define ERROR_INSUFFICIENT_BUFFER
PVOID NTAPI RtlPcToFileHeader(IN PVOID PcValue, PVOID *BaseOfImage)
static __inline BOOL set_ntstatus(NTSTATUS status)
#define ERROR_INVALID_PARAMETER
#define ERROR_MOD_NOT_FOUND
#define GetProcAddress(x, y)
#define INVALID_HANDLE_VALUE
#define CreateFileMappingW(a, b, c, d, e, f)
#define HeapFree(x, y, z)
#define ERROR_INVALID_HANDLE
#define WideCharToMultiByte
#define __EXCEPT_PAGE_FAULT
VOID WINAPI RaiseException(_In_ DWORD dwExceptionCode, _In_ DWORD dwExceptionFlags, _In_ DWORD nNumberOfArguments, _In_opt_ const ULONG_PTR *lpArguments)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryExA(LPCSTR lpLibFileName, HANDLE hFile, DWORD dwFlags)
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
BOOL WINAPI GetModuleHandleExW(IN DWORD dwFlags, IN LPCWSTR lpwModuleName OPTIONAL, OUT HMODULE *phModule)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryExW(LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags)
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
BOOL WINAPI GetModuleHandleExA(IN DWORD dwFlags, IN LPCSTR lpModuleName OPTIONAL, OUT HMODULE *phModule)
FARPROC WINAPI DelayLoadFailureHook(LPCSTR pszDllName, LPCSTR pszProcName)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
DWORD WINAPI GetModuleFileNameA(HINSTANCE hModule, LPSTR lpFilename, DWORD nSize)
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
DWORD WINAPI SearchPathW(IN LPCWSTR lpPath OPTIONAL, IN LPCWSTR lpFileName, IN LPCWSTR lpExtension OPTIONAL, IN DWORD nBufferLength, OUT LPWSTR lpBuffer, OUT LPWSTR *lpFilePart OPTIONAL)
WCHAR * file_name_AtoW(LPCSTR name, BOOL alloc)
DWORD file_name_WtoA(LPCWSTR src, INT srclen, LPSTR dest, INT destlen)
BOOL WINAPI DECLSPEC_HOTPATCH EnumResourceNamesW(HMODULE module, LPCWSTR type, ENUMRESNAMEPROCW func, LONG_PTR param)
static BOOL load_library_as_datafile(LPCWSTR load_path, DWORD flags, LPCWSTR name, HMODULE *mod_ret)
HGLOBAL WINAPI DECLSPEC_HOTPATCH LoadResource(HINSTANCE module, HRSRC rsrc)
BOOL WINAPI DECLSPEC_HOTPATCH QueryActCtxW(DWORD flags, HANDLE context, PVOID inst, ULONG class, PVOID buffer, SIZE_T size, SIZE_T *written)
DLL_DIRECTORY_COOKIE WINAPI DECLSPEC_HOTPATCH AddDllDirectory(const WCHAR *dir)
BOOL WINAPI DECLSPEC_HOTPATCH EnumResourceTypesExA(HMODULE module, ENUMRESTYPEPROCA func, LONG_PTR param, DWORD flags, LANGID lang)
BOOL WINAPI DECLSPEC_HOTPATCH FreeResource(HGLOBAL handle)
LPVOID WINAPI DECLSPEC_HOTPATCH LockResource(HGLOBAL handle)
static NTSTATUS get_res_nameW(LPCWSTR name, UNICODE_STRING *str)
void WINAPI DECLSPEC_HOTPATCH ReleaseActCtx(HANDLE context)
BOOL WINAPI DECLSPEC_HOTPATCH SetDefaultDllDirectories(DWORD flags)
static CRITICAL_SECTION_DEBUG critsect_debug
BOOL WINAPI DECLSPEC_HOTPATCH QueryActCtxSettingsW(DWORD flags, HANDLE ctx, const WCHAR *ns, const WCHAR *settings, WCHAR *buffer, SIZE_T size, SIZE_T *written)
HRSRC WINAPI DECLSPEC_HOTPATCH FindResourceExW(HMODULE module, LPCWSTR type, LPCWSTR name, WORD lang)
BOOL WINAPI DECLSPEC_HOTPATCH DeactivateActCtx(DWORD flags, ULONG_PTR cookie)
DWORD WINAPI DECLSPEC_HOTPATCH SizeofResource(HINSTANCE module, HRSRC rsrc)
BOOL WINAPI DECLSPEC_HOTPATCH EnumResourceLanguagesExA(HMODULE module, LPCSTR type, LPCSTR name, ENUMRESLANGPROCA func, LONG_PTR param, DWORD flags, LANGID lang)
FARPROC WINAPI get_proc_address(HMODULE module, LPCSTR function)
BOOL WINAPI DECLSPEC_HOTPATCH EnumResourceNamesExW(HMODULE module, LPCWSTR type, ENUMRESNAMEPROCW func, LONG_PTR param, DWORD flags, LANGID lang)
BOOL WINAPI DECLSPEC_HOTPATCH FindActCtxSectionStringW(DWORD flags, const GUID *ext_guid, ULONG id, LPCWSTR str, PACTCTX_SECTION_KEYED_DATA info)
static CRITICAL_SECTION exclusive_datafile_list_section
BOOL WINAPI DECLSPEC_HOTPATCH EnumResourceTypesExW(HMODULE module, ENUMRESTYPEPROCW func, LONG_PTR param, DWORD flags, LANGID lang)
#define IS_INTRESOURCE(x)
BOOL WINAPI IsApiSetImplemented(LPCSTR name)
BOOL WINAPI DECLSPEC_HOTPATCH RemoveDllDirectory(DLL_DIRECTORY_COOKIE cookie)
void WINAPI DECLSPEC_HOTPATCH AddRefActCtx(HANDLE context)
static struct list exclusive_datafile_list
BOOL WINAPI DECLSPEC_HOTPATCH EnumResourceLanguagesExW(HMODULE module, LPCWSTR type, LPCWSTR name, ENUMRESLANGPROCW func, LONG_PTR param, DWORD flags, LANGID lang)
HMODULE WINAPI LoadPackagedLibrary(LPCWSTR name, DWORD reserved)
static NTSTATUS get_res_nameA(LPCSTR name, UNICODE_STRING *str)
BOOL WINAPI DECLSPEC_HOTPATCH ActivateActCtx(HANDLE context, ULONG_PTR *cookie)
BOOL WINAPI DECLSPEC_HOTPATCH EnumResourceNamesExA(HMODULE module, LPCSTR type, ENUMRESNAMEPROCA func, LONG_PTR param, DWORD flags, LANGID lang)
HRSRC WINAPI DECLSPEC_HOTPATCH FindResourceW(HINSTANCE module, LPCWSTR name, LPCWSTR type)
static HMODULE load_library(const UNICODE_STRING *libname, DWORD flags)
void WINAPI LoadAppInitDlls(void)
BOOL WINAPI DECLSPEC_HOTPATCH ZombifyActCtx(HANDLE context)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateActCtxW(PCACTCTXW ctx)
BOOL WINAPI DECLSPEC_HOTPATCH GetCurrentActCtx(HANDLE *pcontext)
BOOL WINAPI DECLSPEC_HOTPATCH FindActCtxSectionGuid(DWORD flags, const GUID *ext_guid, ULONG id, const GUID *guid, PACTCTX_SECTION_KEYED_DATA info)
DWORD WINAPI GetVersion(void)
static const WCHAR typeW[]
NTSTATUS RtlUpcaseUnicodeString(PUNICODE_STRING dst, PUNICODE_STRING src, BOOLEAN Alloc)
GLuint GLuint GLsizei GLenum type
GLenum GLenum GLenum GLenum mapping
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
NTSYSAPI NTSTATUS WINAPI RtlActivateActivationContext(DWORD, HANDLE, ULONG_PTR *)
NTSYSAPI NTSTATUS WINAPI RtlFindActivationContextSectionString(ULONG, const GUID *, ULONG, const UNICODE_STRING *, PVOID)
NTSYSAPI NTSTATUS WINAPI RtlZombifyActivationContext(HANDLE)
NTSYSAPI void WINAPI RtlAddRefActivationContext(HANDLE)
NTSYSAPI void WINAPI RtlDeactivateActivationContext(DWORD, ULONG_PTR)
NTSYSAPI void WINAPI RtlReleaseActivationContext(HANDLE)
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
NTSYSAPI NTSTATUS WINAPI RtlCreateActivationContext(HANDLE *, const void *)
NTSYSAPI NTSTATUS WINAPI RtlGetActiveActivationContext(HANDLE *)
NTSYSAPI NTSTATUS WINAPI RtlQueryInformationActivationContext(ULONG, HANDLE, PVOID, ULONG, PVOID, SIZE_T, SIZE_T *)
NTSTATUS NTAPI LdrUnloadDll(_In_ PVOID BaseAddress)
NTSTATUS NTAPI LdrGetDllHandleEx(_In_ ULONG Flags, _In_opt_ PWSTR DllPath, _In_opt_ PULONG DllCharacteristics, _In_ PUNICODE_STRING DllName, _Out_opt_ PVOID *DllHandle)
NTSTATUS NTAPI DECLSPEC_HOTPATCH LdrLoadDll(_In_opt_ PWSTR SearchPath, _In_opt_ PULONG DllCharacteristics, _In_ PUNICODE_STRING DllName, _Out_ PVOID *BaseAddress)
NTSTATUS NTAPI LdrAddRefDll(_In_ ULONG Flags, _In_ PVOID BaseAddress)
NTSTATUS NTAPI LdrGetProcedureAddress(_In_ PVOID BaseAddress, _In_opt_ _When_(Ordinal==0, _Notnull_) PANSI_STRING Name, _In_opt_ _When_(Name==NULL, _In_range_(>, 0)) ULONG Ordinal, _Out_ PVOID *ProcedureAddress)
NTSTATUS NTAPI LdrAccessResource(_In_ PVOID BaseAddress, _In_ PIMAGE_RESOURCE_DATA_ENTRY ResourceDataEntry, _Out_opt_ PVOID *Resource, _Out_opt_ PULONG Size)
NTSTATUS NTAPI LdrFindResource_U(_In_ PVOID BaseAddress, _In_ PLDR_RESOURCE_INFO ResourceInfo, _In_ ULONG Level, _Out_ PIMAGE_RESOURCE_DATA_ENTRY *ResourceDataEntry)
NTSTATUS NTAPI LdrFindResourceDirectory_U(_In_ PVOID BaseAddress, _In_ PLDR_RESOURCE_INFO ResourceInfo, _In_ ULONG Level, _Out_ PIMAGE_RESOURCE_DIRECTORY *ResourceDirectory)
#define LDR_ADDREF_DLL_PIN
#define memcpy(s1, s2, n)
static const WCHAR filenameW[]
static const GUID PACTCTX_SECTION_KEYED_DATA
#define __ASM_GLOBAL_FUNC(name, code)
NTSYSAPI NTSTATUS NTAPI RtlFindActivationContextSectionGuid(ULONG flags, const GUID *extguid, ULONG section_kind, const GUID *guid, void *ptr)
NTSYSAPI NTSTATUS NTAPI RtlEnterCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
NTSYSAPI NTSTATUS NTAPI RtlLeaveCriticalSection(_In_ PRTL_CRITICAL_SECTION CriticalSection)
NTSYSAPI BOOLEAN NTAPI RtlCreateUnicodeStringFromAsciiz(_Out_ PUNICODE_STRING Destination, _In_ PCSZ Source)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
NTSYSAPI NTSTATUS NTAPI RtlUnicodeStringToInteger(PUNICODE_STRING String, ULONG Base, PULONG Value)
#define FILE_SHARE_DELETE
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
NTSYSAPI VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString, PCSZ SourceString)
NTSYSAPI NTSTATUS NTAPI RtlCharToInteger(PCSZ String, ULONG Base, PULONG Value)
#define UNICODE_STRING_MAX_CHARS
#define STATUS_DLL_NOT_FOUND
#define STATUS_ACCESS_VIOLATION
#define DECLSPEC_HOTPATCH
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
NTSTATUS WINAPI RtlQueryActivationContextApplicationSettings(DWORD flags, HANDLE handle, const WCHAR *ns, const WCHAR *settings, WCHAR *buffer, SIZE_T size, SIZE_T *written)
#define STATUS_BUFFER_TOO_SMALL
LIST_ENTRY ProcessLocksList
WORD NumberOfNamedEntries
#define EXCEPTION_NONCONTINUABLE
#define EXCEPTION_WINE_STUB
#define STATUS_INVALID_PARAMETER
static const WCHAR lang[]
BOOL(CALLBACK * ENUMRESNAMEPROCW)(HMODULE, LPCWSTR, LPWSTR, LONG_PTR)
BOOL(CALLBACK * ENUMRESLANGPROCA)(HMODULE, LPCSTR, LPCSTR, WORD, LONG_PTR)
BOOL(CALLBACK * ENUMRESTYPEPROCA)(HMODULE, LPSTR, LONG_PTR)
#define LOAD_LIBRARY_REQUIRE_SIGNED_TARGET
#define LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE
#define LOAD_LIBRARY_AS_IMAGE_RESOURCE
#define LOAD_LIBRARY_AS_DATAFILE
BOOL(CALLBACK * ENUMRESNAMEPROCA)(HMODULE, LPCSTR, LPSTR, LONG_PTR)
#define LOAD_IGNORE_CODE_AUTHZ_LEVEL
BOOL(CALLBACK * ENUMRESLANGPROCW)(HMODULE, LPCWSTR, LPCWSTR, WORD, LONG_PTR)
BOOL(CALLBACK * ENUMRESTYPEPROCW)(HMODULE, LPWSTR, LONG_PTR)
#define APPMODEL_ERROR_NO_PACKAGE
#define ERROR_DLL_NOT_FOUND
#define ERROR_BAD_EXE_FORMAT
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList