#![allow(unused_imports, non_snake_case, non_camel_case_types)]
use super::*;
pub type ENUMRESLANGPROCA = Option<unsafe extern "system" fn(hModule: HMODULE, lpType: LPCSTR, lpName: LPCSTR, wLanguage: WORD, lParam: LONG_PTR) -> BOOL>;
pub type ENUMRESLANGPROCW = Option<unsafe extern "system" fn(hModule: HMODULE, lpType: LPCWSTR, lpName: LPCWSTR, wLanguage: WORD, lParam: LONG_PTR) -> BOOL>;
pub type ENUMRESNAMEPROCA = Option<unsafe extern "system" fn(hModule: HMODULE, lpType: LPCSTR, lpName: LPSTR, lParam: LONG_PTR) -> BOOL>;
pub type ENUMRESNAMEPROCW = Option<unsafe extern "system" fn(hModule: HMODULE, lpType: LPCWSTR, lpName: LPWSTR, lParam: LONG_PTR) -> BOOL>;
pub type ENUMRESTYPEPROCA = Option<unsafe extern "system" fn(hModule: HMODULE, lpType: LPSTR, lParam: LONG_PTR) -> BOOL>;
pub type ENUMRESTYPEPROCW = Option<unsafe extern "system" fn(hModule: HMODULE, lpType: LPWSTR, lParam: LONG_PTR) -> BOOL>;
extern "system" {
pub fn DisableThreadLibraryCalls(hLibModule: HMODULE) -> BOOL;
pub fn FindResourceExW(hModule: HMODULE, lpName: LPCWSTR, lpType: LPCWSTR, wLanguage: WORD) -> HRSRC;
pub fn FindStringOrdinal(dwFindStringOrdinalFlags: DWORD, lpStringSource: LPCWSTR, cchSource: c_int, lpStringValue: LPCWSTR, cchValue: c_int, bIgnoreCase: BOOL) -> c_int;
pub fn FreeLibrary(hLibModule: HMODULE) -> BOOL;
pub fn FreeLibraryAndExitThread(hLibModule: HMODULE, dwExitCode: DWORD);
pub fn FreeResource(hResData: HGLOBAL) -> BOOL;
pub fn GetModuleFileNameA(hModule: HMODULE, lpFilename: LPSTR, nSize: DWORD) -> DWORD;
pub fn GetModuleFileNameW(hModule: HMODULE, lpFilename: LPWSTR, nSize: DWORD) -> DWORD;
pub fn GetModuleHandleA(lpModuleName: LPCSTR) -> HMODULE;
pub fn GetModuleHandleW(lpModuleName: LPCWSTR) -> HMODULE;
pub fn GetModuleHandleExA(dwFlags: DWORD, lpModuleName: LPCSTR, phModule: *mut HMODULE) -> BOOL;
pub fn GetModuleHandleExW(dwFlags: DWORD, lpModuleName: LPCWSTR, phModule: *mut HMODULE) -> BOOL;
pub fn GetProcAddress(hModule: HMODULE, lpProcName: LPCSTR) -> FARPROC;
pub fn LoadLibraryExA(lpLibFileName: LPCSTR, hFile: HANDLE, dwFlags: DWORD) -> HMODULE;
pub fn LoadLibraryExW(lpLibFileName: LPCWSTR, hFile: HANDLE, dwFlags: DWORD) -> HMODULE;
pub fn LoadResource(hModule: HMODULE, hResInfo: HRSRC) -> HGLOBAL;
pub fn LoadStringA(hInstance: HINSTANCE, uID: UINT, lpBuffer: LPSTR, cchBufferMax: c_int) -> c_int;
pub fn LoadStringW(hInstance: HINSTANCE, uID: UINT, lpBuffer: LPWSTR, cchBufferMax: c_int) -> c_int;
pub fn LockResource(hResData: HGLOBAL) -> LPVOID;
pub fn SizeofResource(hModule: HMODULE, hResInfo: HRSRC) -> DWORD;
}
pub type DLL_DIRECTORY_COOKIE = PVOID;
pub type PDLL_DIRECTORY_COOKIE = *mut PVOID;
extern "system" {
pub fn AddDllDirectory(NewDirectory: PCWSTR) -> DLL_DIRECTORY_COOKIE;
pub fn RemoveDllDirectory(Cookie: DLL_DIRECTORY_COOKIE) -> BOOL;
pub fn SetDefaultDllDirectories(DirectoryFlags: DWORD) -> BOOL;
pub fn EnumResourceLanguagesExA(hModule: HMODULE, lpType: LPCSTR, lpName: LPCSTR, lpEnumFunc: ENUMRESLANGPROCA, lParam: LONG_PTR, dwFlags: DWORD, LangId: LANGID) -> BOOL;
pub fn EnumResourceLanguagesExW(hModule: HMODULE, lpType: LPCWSTR, lpName: LPCWSTR, lpEnumFunc: ENUMRESLANGPROCW, lParam: LONG_PTR, dwFlags: DWORD, LangId: LANGID) -> BOOL;
pub fn EnumResourceNamesExA(hModule: HMODULE, lpType: LPCSTR, lpEnumFunc: ENUMRESNAMEPROCA, lParam: LONG_PTR, dwFlags: DWORD, LangId: LANGID) -> BOOL;
pub fn EnumResourceNamesExW(hModule: HMODULE, lpType: LPCWSTR, lpEnumFunc: ENUMRESNAMEPROCW, lParam: LONG_PTR, dwFlags: DWORD, LangId: LANGID) -> BOOL;
pub fn EnumResourceTypesExA(hModule: HMODULE, lpEnumFunc: ENUMRESTYPEPROCA, lParam: LONG_PTR, dwFlags: DWORD, LangId: LANGID) -> BOOL;
pub fn EnumResourceTypesExW(hModule: HMODULE, lpEnumFunc: ENUMRESTYPEPROCW, lParam: LONG_PTR, dwFlags: DWORD, LangId: LANGID) -> BOOL;
pub fn FindResourceW(hModule: HMODULE, lpName: LPCWSTR, lpType: LPCWSTR) -> HRSRC;
pub fn LoadLibraryA(lpFileName: LPCSTR) -> HMODULE;
pub fn LoadLibraryW(lpFileName: LPCWSTR) -> HMODULE;
pub fn EnumResourceNamesW(hModule: HMODULE, lpType: LPCWSTR, lpEnumFunc: ENUMRESNAMEPROCW, lParam: LONG_PTR) -> BOOL;
}