# # (C) Copyright 2018 Enthought, Inc., Austin, TX # All right reserved. # # This file is open source software distributed according to the terms in # LICENSE.txt # from __future__ import absolute_import from win32ctypes.core.compat import text_type from ._util import ffi, check_null, check_false, dlls, HMODULE, PVOID ffi.cdef(""" HMODULE WINAPI LoadLibraryExW(LPCTSTR lpFileName, HANDLE hFile, DWORD dwFlags); BOOL WINAPI FreeLibrary(HMODULE hModule); """) def _LoadLibraryEx(lpFilename, hFile, dwFlags): result = check_null( dlls.kernel32.LoadLibraryExW( text_type(lpFilename), ffi.NULL, dwFlags), function_name='LoadLibraryEx') return HMODULE(result) def _FreeLibrary(hModule): check_false( dlls.kernel32.FreeLibrary(PVOID(hModule)), function_name='FreeLibrary')