factor/library/windows/kernel32.factor

58 lines
1.4 KiB
Factor
Raw Normal View History

2006-07-25 10:04:14 -04:00
! Copyright (C) 2005, 2006 Doug Coleman.
! See http://factor.sf.net/license.txt for BSD license.
USING: alien kernel errors ;
IN: win32-api
LIBRARY: kernel32
! FUNCTION: DWORD FormatMessage(
! DWORD dwFlags,
! LPCVOID lpSource,
! DWORD dwMessageId,
! DWORD dwLanguageId,
! LPTSTR lpBuffer,
! DWORD nSize,
! va_list* Arguments
! ) ;
! FUNCTION: HMODULE GetModuleHandleA ( LPCTSTR lpModulename ) ;
! FUNCTION: HMODULE GetModuleHandleW ( LPCWSTR lpModulename ) ;
2006-07-25 10:04:14 -04:00
FUNCTION: HMODULE GetModuleHandleA ( void* lpModulename ) ;
FUNCTION: HMODULE GetModuleHandleW ( void* lpModulename ) ;
2006-07-25 10:04:14 -04:00
: GetModuleHandle \ GetModuleHandleW \ GetModuleHandleA unicode-exec ;
! FUNCTION: HMODULE GetModuleHandleEx (
! DWORD dwFlags,
! LPCTSTR lpModulename,
! HMODULE* phModule ) ;
FUNCTION: DWORD GetLastError ( ) ;
: (win32-error) ( id -- string )
"char*" f "error_message" [ "int" ] alien-invoke ;
: win32-error ( -- )
GetLastError dup 0 = [ (win32-error) throw ] unless drop ;
: GHND HEX: 40 ; inline
: GMEM_FIXED 0 ; inline
: GMEM_MOVEABLE 2 ; inline
: GMEM_ZEROINIT HEX: 40 ; inline
: GPTR HEX: 40 ; inline
FUNCTION: HGLOBAL GlobalAlloc ( UINT uFlags, SIZE_T dwBytes ) ;
FUNCTION: LPVOID GlobalLock ( HGLOBAL hMem ) ;
! FUNCTION: char* GlobalLock ( HGLOBAL hMem ) ;
FUNCTION: BOOL GlobalUnlock ( HGLOBAL hMem ) ;
2006-07-28 16:15:57 -04:00
FUNCTION: DWORD SleepEx ( DWORD dwMilliSeconds, BOOL bAlertable ) ;
2006-07-25 10:04:14 -04:00