File: n_svc_win32.sru
Size: 17947
Date: Mon, 07 Apr 2008 21:32:08 +0200
$PBExportHeader$n_svc_win32.sru
$PBExportComments$Win32 API service
forward
global type n_svc_win32 from n_svc_base
end type
end forward

global type n_svc_win32 from n_svc_base
end type
global n_svc_win32 n_svc_win32

type prototypes
// Shell FUNCTIONs
SUBROUTINE SHAddToRecentDocs( ulong uFlags, Ref String pV ) Library "shell32.dll" alias for "SHAddToRecentDocs;Ansi" 
FUNCTION long SHBrowseForFolder( Ref BROWSEINFO lpBi ) Library "shell32.dll" alias for "SHBrowseForFolder;Ansi"
FUNCTION boolean SHGetPathFromIDList( long pIDL, ref String pszPath) Library "shell32.dll" Alias For "SHGetPathFromIDListA;Ansi"
FUNCTION long SHFileOperation( Ref SHFILEOPSTRUCT lpFileOp ) Library "shell32.dll" Alias For "SHFileOperationA;Ansi"
FUNCTION long SHGetSpecialFolderLocation( long hwndOwner, long nFolder, Ref Long ppidl ) Library "shell32.dll"
FUNCTION long SHFormatDrive( ulong hWnd, ulong iDrive, ulong iCapacity, ulong iType ) Library "shell32.dll"
FUNCTION long CoTaskMemFree( long pv ) Library "ole32.dll"
// Memory FUNCTIONs
FUNCTION long RtlMoveMemory(REF Char Destination[], long Source, long Size) library "kernel32" alias for "RtlMoveMemory"
FUNCTION long RtlMoveMemory(long Destination, REF Char Source[], long Size) library "kernel32" alias for "RtlMoveMemory"
FUNCTION long LocalAlloc(long Flags, long Bytes) library "kernel32"
FUNCTION long LocalFree(long MemHandle) library "kernel32"
FUNCTION long Lstrcpy(long Destination, string Source) library "kernel32.dll" ALIAS FOR "lstrcpyA;Ansi"
FUNCTION long lstrcpy(long Destination, ref char Source[]) library "kernel32.dll" alias for "lstrcpy;Ansi"
SUBROUTINE GetMinMaxInfo ( ref minmaxinfo d, long s, long l ) library 'kernel32.dll' alias for "RtlMoveMemory"
SUBROUTINE SetMinMaxInfo ( long d, minmaxinfo s, long l ) library 'kernel32.dll' alias for "RtlMoveMemory"
FUNCTION long LoadLibrary(ref string lpLibFileName) LIBRARY "kernel32.dll" ALIAS FOR "LoadLibraryA;Ansi"
FUNCTION long FreeLibrary(long hLibModule) LIBRARY "kernel32.dll"
FUNCTION long GetDevMode(REF DEVMODE Destination, long Source, long Size) library "kernel32.dll" Alias For "RtlMoveMemory"
FUNCTION long GetDevNames(REF DEVNAMES Destination, long Source, long Size) library "kernel32.dll" Alias For "RtlMoveMemory"
FUNCTION long GetLogFont(REF LOGFONT Destination, long Source, long Size) library "kernel32.dll" Alias For "RtlMoveMemory"
FUNCTION long PutLogFont(long Destination, REF LOGFONT Source, long Size) library "kernel32.dll" Alias For "RtlMoveMemory"
FUNCTION long StrCopy(long Destination, REF string Source, long Size) library "kernel32.dll"  Alias for "RtlMoveMemory"
FUNCTION long CommDlgExtendedError() library "comdlg32.dll"
FUNCTION long LocalLock(long Handle) library "kernel32.dll"
FUNCTION long LocalUnlock(long Handle) library "kernel32.dll"
// Directory FUNCTIONs
FUNCTION ulong GetModuleFileName (ulong hinstModule, ref string lpszPath, ulong cchPath ) Library "KERNEL32.DLL" Alias for "GetModuleFileNameA;Ansi"
FUNCTION long CreateDirectory(ref string lpPathName,ref SECURITY_ATTRIBUTES lpSecurityAttributes) LIBRARY "kernel32.dll" ALIAS FOR "CreateDirectoryA;Ansi"
FUNCTION ulong GetLongPathName(string nShort,ref string nLong, ulong buffer) LIBRARY "kernel32.dll" ALIAS FOR "GetLongPathNameA;Ansi"
FUNCTION long GetWindowsDirectory(REF string Buffer, long Size) library "kernel32.dll" ALIAS FOR "GetWindowsDirectoryA;Ansi"
// File FUNCTIONs
FUNCTION long FindFirstFile(string FileName, ref WIN32_FIND_DATA FindFileData ) Library "kernel32.dll" Alias for "FindFirstFileA;Ansi"
FUNCTION integer FindNextFile ( ulong FindFile, ref WIN32_FIND_DATA FindFileData ) Library "kernel32.dll" Alias for "FindNextFileA;Ansi"
FUNCTION integer FindClose( ulong FindFile ) Library "kernel32.dll"
FUNCTION long SearchPath ( ref string Path, ref string FileName, ref string Extension, ulong BufferLength, ref string Buffer, ref integer FilePart ) Library  "kernel32.dll" Alias for "SearchPathA;Ansi"
FUNCTION ulong FindFirstFileEx(ref string lpFileName, integer finfolevelid, ref WIN32_FIND_DATA lpFindFileData, long fsearchop, long lpsearchfilter, long dwadditionalflags) LIBRARY "kernel32.dll" ALIAS FOR "FindFirstFileExA;Ansi"
FUNCTION ulong GetTempFileName(ref string lpszPath,ref string lpPrefixString,ulong wUnique,ref string lpTempFileName) LIBRARY "kernel32.dll" ALIAS FOR "GetTempFileNameA;Ansi"
FUNCTION ulong GetTempPath(ulong nBufferLength,ref string lpBuffer) LIBRARY "kernel32.dll" ALIAS FOR "GetTempPathA;Ansi"
//Drawing FUNCTIONs
FUNCTION boolean DrawEdge( long hdc, ref rect rc, long edge, long grflags ) Library "USER32.DLL" alias for "DrawEdge;Ansi" 
FUNCTION Ulong BeginPaint(long hwnd, ref PAINTSTRUCT pstr) Library "USER32.DLL" alias for "BeginPaint;Ansi" 
FUNCTION Boolean EndPaint(long hwnd, ref PAINTSTRUCT pstr) Library "USER32.DLL" alias for "EndPaint;Ansi" 
FUNCTION Boolean Polygon(ulong hdc, ref POINT ppoint[], int count) Library "GDI32.DLL"
FUNCTION ulong CreatePolygonRgn(ref POINT ppoint[], int count, int fillMode) Library "GDI32.DLL"
FUNCTION long SelectClipRgn(ulong hdc, ulong hrgn) Library "GDI32.DLL"
// Window FUNCTIONs
FUNCTION ulong InvalidateRect(ulong hwnd,ref RECT lpRect,boolean bErase) LIBRARY "user32.dll" alias for "InvalidateRect;Ansi"
FUNCTION ulong InvalidateRect(ulong hwnd,ref long lpRect,boolean bErase) LIBRARY "user32.dll"
FUNCTION ulong MoveWindow(ulong hwnd,ulong x,ulong y,ulong nWidth,ulong nHeight,ulong bRepaint) LIBRARY "user32.dll"
FUNCTION long SendMessageString( long hWindow, uint Msg, ulong wParam, Ref string szText ) Library 'user32' alias for 'SendMessageA;Ansi'
FUNCTION long GetDC (ulong hWnd) Library "USER32.DLL"
FUNCTION int ReleaseDC (ulong hWnd, ulong hDC) Library "USER32.DLL"
FUNCTION ulong IsWindow(ulong hwnd) LIBRARY "user32.dll"
FUNCTION ulong FindWindow ( ref string lpClassName, ref string lpWindowName) Library "USER32.DLL" Alias for "FindWindowA;Ansi"
FUNCTION ulong GetWindowRect ( ulong hwnd, ref rect lprect) Library "USER32.DLL" alias for "GetWindowRect;Ansi" 
FUNCTION boolean GetClientRect (ulong hWnd, ref RECT lpRect) Library "USER32.DLL" alias for "GetClientRect;Ansi"
FUNCTION ulong GetSystemMetrics(ulong nIndex) LIBRARY "user32.dll"
FUNCTION long SetWindowLong(long hwnd,long nIndex,long dwNewLong) LIBRARY "user32.dll" ALIAS FOR "SetWindowLongA"
FUNCTION long GetWindowLong(long hwnd,long nIndex) LIBRARY "user32.dll" ALIAS FOR "GetWindowLongA"
FUNCTION ulong SetParent(ulong hWndChild,ulong hWndNewParent) LIBRARY "user32.dll"
FUNCTION long CreateWindowEx( ulong dwExStyle, string lpClassName, string lpWindowName, ulong dwStyle, long xPos, long yPos, long nWidth, long nHeight, long hWndParent, long hMenu, long hInstance, long lpParam ) Library "user32" ALIAS FOR "CreateWindowExA;Ansi"
FUNCTION boolean DestroyWindow( long hWnd ) Library "user32"
FUNCTION boolean ShowWindow (ulong hWnd, int nCmdShow) Library "USER32.DLL"
FUNCTION long MapWindowPoints(long hwndFrom,long hwndTo,ref rect lppt,long cPoints) LIBRARY "user32.dll" alias for "MapWindowPoints;Ansi"
FUNCTION ulong MoveWindow(ulong hwnd,ulong x,ulong y,ulong nWidth,ulong nHeight,Boolean bRepaint) LIBRARY "user32.dll"
FUNCTION ulong UpdateWindow(ulong hwnd) LIBRARY "user32.dll"
FUNCTION ulong GetStockObject(ulong nIndex) LIBRARY "gdi32.dll"
FUNCTION ulong CreateFontIndirect(ref LOGFONT lpLogFont) LIBRARY "gdi32.dll" ALIAS FOR "CreateFontIndirectA;Ansi"
FUNCTION Boolean ClientToScreen(ulong hWnd, Ref POINT lpPoint) Library "USER32.DLL" alias for "ClientToScreen;Ansi"

//Menu FUNCTIONs
FUNCTION ulong GetSystemMenu(ulong hWnd, BOOLEAN bRevert)  Library "USER32"
FUNCTION boolean DeleteMenu( ulong hMenu, uint uPosition, uint uFlags ) LIBRARY "user32.dll"
FUNCTION boolean DrawMenuBar( ulong hWnd ) LIBRARY "user32.dll"
//Common Controls
SUBROUTINE InitCommonControls() library "comctl32.dll"
FUNCTION boolean InitCommonControlsEx( Ref INITCOMMONCONTROLS LPINITCOMMONCONTROLS) Library "comctl32.dll" alias for "InitCommonControlsEx;Ansi"
//FUNCTION long CreateWindowEx(ulong dwExStyle, string ClassName, long WindowName, ulong dwStyle, ulong X, ulong Y, ulong nWidth, ulong nHeight, ulong hWndParent, ulong hMenu, ulong hInstance, ulong lpParam) library "user32.dll" alias for "CreateWindowExA;Ansi"
FUNCTION integer ToolTipMsg(long hWnd, long uMsg, long wParam, REF TOOLINFO ToolInfo) library "user32.dll" Alias For "SendMessageA;Ansi"
FUNCTION integer RelayMsg(long hWnd, long uMsg, long wParam, REF MSG Msg) library "user32.dll" Alias For "SendMessageA;Ansi"
FUNCTION integer SendPoint(long hWnd, long uMsg, long wParam, REF POINT pt) library "user32.dll" Alias For "SendMessageA;Ansi"
FUNCTION integer SendRect(long hWnd, long uMsg, long wParam, REF RECT rt) library "user32.dll" Alias For "SendMessageA;Ansi"
FUNCTION integer SendButtonImageList(long hWnd, long uMsg, long wParam, REF BUTTON_IMAGELIST  rt) library "user32.dll" Alias For "SendMessageA;Ansi"
FUNCTION integer SendBalloontip(long hWnd, long uMsg, long wParam, REF EDITBALLOONTIP  rt) library "user32.dll" Alias For "SendMessageA;Ansi"
SUBROUTINE GetNMHDR( ref NMHDR d, long s, long l ) library 'kernel32.dll' alias for "RtlMoveMemory"
SUBROUTINE GetNMClick( ref NMMOUSE d, long s, long l ) library 'kernel32.dll' alias for "RtlMoveMemory"
FUNCTION long SendMessageItems( long hWnd, long uMsg, long wParam, Ref tbbutton lpst[] ) Library "user32" Alias For "SendMessageA;Ansi"
FUNCTION long GetButton( long hWnd, long uMsg, long wParam, Ref tbbutton lpst ) Library "user32" Alias For "SendMessageA;Ansi"
FUNCTION long SendMessageInfo( long hWnd, long uMsg, long wParam, Ref tbbuttoninfo lpst ) Library "user32" Alias For "SendMessageA;Ansi"
FUNCTION long SendMessageRECT( long hWnd, long uMsg, long wParam, Ref RECT lpst ) Library "user32" Alias For "SendMessageA;Ansi"
FUNCTION long SendBoolean( long hWnd, long uMsg, long wParam,  Boolean lpst ) Library "user32" Alias For "SendMessageA"
FUNCTION long SendMessageCharBuffer( long hWnd, long uMsg, long wParam,  ref char lc[]) Library "user32" Alias For "SendMessageA;Ansi"
FUNCTION long SendMessageSize( long hWnd, long uMsg, long wParam, ref tagsize lpst ) Library "user32" Alias For "SendMessageA;Ansi"
FUNCTION long SendMessageBand( long hWnd, long uMsg, long wParam, Ref REBARBANDINFO lpst ) Library "user32" Alias For "SendMessageA;Ansi"
FUNCTION long SendMessageImage( long hWnd, long uMsg, long wParam, Ref lvbkimage lpst ) Library "user32" Alias For "SendMessageA;Ansi"
FUNCTION long SendMessageNumber( long hWindow, uint Msg, ulong wParam, ulong lParam ) Library 'user32' alias for 'SendMessageA'
FUNCTION long PtInRect(ref rect rc, point pt) LIBRARY "user32.dll"
FUNCTION long PtInRegion(ulong hrgn, int x, int y) LIBRARY "GDI32.dll"
//Listview
FUNCTION long Sendlvref( long hWnd, long uMsg, long wParam,  ref lvitem lpst ) Library "user32" Alias For "SendMessageA;Ansi"
FUNCTION long Sendlv( long hWnd, long uMsg, long wParam,  lvitem lpst ) Library "user32" Alias For "SendMessageA;Ansi"
FUNCTION long SendlvFindInfo( long hWnd, long uMsg, long wParam,  ref lvfindinfo lpst ) Library "user32" Alias For "SendMessageA;Ansi"
// Treeview
FUNCTION Long HitMsg(Long hWindow, UInt Msg, Long wParam,  Ref tvhittestinfo lParam) Library 'user32.dll' Alias for "SendMessageA;Ansi"
// Mouse FUNCTIONs
FUNCTION ulong SetCapture(ulong hwnd) LIBRARY "user32.dll"
FUNCTION ulong ReleaseCapture() LIBRARY "user32.dll"
//Path Fucntions
FUNCTION Boolean PathCompactPath(long hdc, ref string lpszpath, uint dx) LIBRARY "shlwapi.dll" ALIAS FOR "PathCompactPathA;Ansi"
// System FUNCTIONs
FUNCTION ulong GetSysColor(ulong nIndex) LIBRARY "user32.dll"
SUBROUTINE Sleep(ulong dwMilliseconds) LIBRARY "kernel32.dll"
// Image/Icon FUNCTIONs
FUNCTION ulong ExtractIcon(ulong hInst,string lpszExeFileName,ulong nIconIndex) LIBRARY "shell32.dll" ALIAS FOR "ExtractIconA;Ansi"
FUNCTION long ExtractIconEx( String lpszFile, long nIconIndex, Ref Long phIconLarge[], Ref Long phIconSmall[], long nIcons ) Library "shell32.dll" Alias For "ExtractIconExA;Ansi"
FUNCTION long DrawIcon(long hdc,long x,long y,long hIcon) LIBRARY "user32.dll"
FUNCTION boolean DrawIconEx(ulong hdc,ulong xLeft,ulong yTop,ulong hIcon,ulong cxWidth,ulong cyWidth,ulong istepIfAniCur,ulong hbrFlickerFreeDraw,ulong diFlags) LIBRARY "user32.dll"
FUNCTION ulong LoadIcon(long hInstance,long lpIconName) LIBRARY "user32.dll" ALIAS FOR "LoadIconA"
FUNCTION ulong DestroyIcon(ulong hIcon) LIBRARY "user32.dll"
FUNCTION ulong LoadImage(ulong hInst,ref string lpsz,ulong un1,ulong n1,ulong n2,ulong un2) LIBRARY "user32.dll" ALIAS FOR "LoadImageA;Ansi"
FUNCTION ulong LoadImage(ulong hInst,long lpsz,ulong un1,ulong n1,ulong n2,ulong un2) LIBRARY "user32.dll" ALIAS FOR "LoadImageA;Ansi"
FUNCTION ulong MAKEINTRESOURCE(int res)  LIBRARY "user32.dll"
//toolbar FUNCTIONs
SUBROUTINE GetDISP( ref NMTTDISPINFO d, long s, long l ) library 'kernel32.dll' alias for "RtlMoveMemory"
SUBROUTINE SetDISP( long s, ref NMTTDISPINFO d,  long l ) library 'kernel32.dll' alias for "RtlMoveMemory"
SUBROUTINE GetTOOL( ref NMTOOLBAR d, long s, long l ) library 'kernel32.dll' alias for "RtlMoveMemory"
SUBROUTINE SetTOOL( long s, ref NMTOOLBAR d,  long l ) library 'kernel32.dll' alias for "RtlMoveMemory"
//drawing and bitmap FUNCTIONs
FUNCTION Boolean GetTextExtentPoint32(ulong hdc, string text, long textLen, ref tagSize lstr) Library "gdi32.dll" alias for "GetTextExtentPoint32A;Ansi"
FUNCTION Long MulDiv( Long nNumber, Long nNumerator, Long nDenominator ) Library "kernel32.dll"
FUNCTION ulong MoveToEx(ulong hdc,ulong x,ulong y,ref POINT lpPoint) LIBRARY "gdi32.dll" alias for "MoveToEx;Ansi"
FUNCTION ulong LineTo(ulong hdc,ulong x,ulong y) LIBRARY "gdi32.dll"
FUNCTION ulong CreatePen(ulong nPenStyle,ulong nWidth,ulong crColor) LIBRARY "gdi32.dll"
FUNCTION ulong SelectObject(ulong hdc,ulong hObject) LIBRARY "gdi32.dll"
FUNCTION ulong DeleteObject(ulong hObject) LIBRARY "gdi32.dll"
SUBROUTINE CopyBitmap( blob b, ulong s, long l ) alias for "RtlMoveMemory;Ansi" library "kernel32.dll"
SUBROUTINE CopyBitmapFileHeader( ref blob b, bitmapheader b, long l ) alias for "RtlMoveMemory;Ansi" library "kernel32.dll"
SUBROUTINE CopyBitmapInfoHeader( ref blob b, bitmapinfoheader b, long l ) alias for "RtlMoveMemory;Ansi" library "kernel32.dll"
SUBROUTINE CopyBitmapInfo( ref blob b, bitmapinfo b, long l ) alias for "RtlMoveMemory;Ansi" library "kernel32.dll"
FUNCTION long GetDIBits(ulong hdc, ulong bitmap, ulong start, ulong lines, ref blob bits, ref bitmapinfo i, ulong pallete ) library "gdi32.dll" alias for "GetDIBits;Ansi"
FUNCTION long GetDIBits(ulong hdc, ulong bitmap, ulong start, ulong lines, long bits, ref bitmapinfo i, ulong pallete ) library "gdi32.dll" alias for "GetDIBits;Ansi"
FUNCTION ulong GetDesktopWindow( ) LIBRARY "User32.dll"
FUNCTION int DeleteDC(ulong hDC) LIBRARY "Gdi32.dll"
FUNCTION int BitBlt(ulong hDC, int num, int num, int num, int num, ulong hDC, int num, int num, ulong lParam) LIBRARY "Gdi32.dll"
FUNCTION ulong CreateDC(ref string str, ref string str, ref string str, ref string str) LIBRARY "Gdi32.dll" ALIAS FOR "CreateDCA;Ansi"
FUNCTION ulong CreateCompatibleDC(ulong hDC) LIBRARY "Gdi32.dll"
FUNCTION ulong CreateCompatibleBitmap(ulong hDC, int num, int num) LIBRARY "Gdi32.dll"
FUNCTION boolean GradientFill( Long hdc , trivertex pvertex[],  long dwnumvertices, ref gradient_rect pmesh[], long dwnummwesh, long dwmmode) Library "msimg32.dll" alias for "GradientFill;Ansi"
FUNCTION boolean GradientFill( Long hdc , trivertex pvertex[],  long dwnumvertices, ref gradient_rect pmesh, long dwnummwesh, long dwmmode) Library "msimg32.dll" alias for "GradientFill;Ansi"
FUNCTION ulong DrawText(ulong hdc,ref string lpStr,ulong nCount,ref RECT lpRect,ulong wFormat) LIBRARY "user32.dll" ALIAS FOR "DrawTextA;Ansi"
FUNCTION ulong SetBkMode(ulong hdc,ulong nBkMode) LIBRARY "gdi32.dll"
FUNCTION long SetDCPenColor(ulong hdc,ulong color) LIBRARY "gdi32.dll"
FUNCTION long SetDCBrushColor(ulong hdc,ulong color) LIBRARY "gdi32.dll"
FUNCTION ulong TextOut(ulong hdc,ulong x,ulong y,ref string lpString,ulong nCount) LIBRARY "gdi32.dll" ALIAS FOR "TextOutA;Ansi"
FUNCTION ulong Rectangle(ulong hdc,ulong X1,ulong Y1,ulong X2,ulong Y2) LIBRARY "gdi32.dll"
FUNCTION ulong BeginPath(ulong hdc) LIBRARY "gdi32.dll"
FUNCTION ulong EndPath(ulong hdc) LIBRARY "gdi32.dll"
FUNCTION ulong SetTextColor(ulong hdc,ulong crColor) LIBRARY "gdi32.dll"
FUNCTION long FillRect(ulong hdc, ref RECT rc, ulong hBrush) LIBRARY "user32.dll"
FUNCTION long CreateSolidBrush(long color) LIBRARY "gdi32.dll"
FUNCTION long SetDCPenColor(ulong hdc, long color) LIBRARY "gdi32.dll"
// Common Dialog External FUNCTIONs
FUNCTION long GetOpenFileName(REF OPENFILENAME OpenFileName) library "comdlg32.dll" ALIAS FOR "GetOpenFileNameA;Ansi"
FUNCTION long GetSaveFileName(REF OPENFILENAME SaveFileName) library "comdlg32.dll" ALIAS FOR "GetSaveFileNameA;Ansi"
FUNCTION long PrintDlg(REF PRINTDLG PrintDlg) library "comdlg32.dll" ALIAS FOR "PrintDlgA;Ansi"
FUNCTION long ChooseFont(REF CHOOSEFONT ChooseFont) library "comdlg32.dll" ALIAS FOR "ChooseFontA;Ansi"
FUNCTION BOOLEAN ChooseColor(ref CHOOSECOLOR pChoosecolor) LIBRARY "comdlg32.dll" ALIAS FOR "ChooseColorA;Ansi"
SUBROUTINE InitCustomColors ( long d, long custom[16], long l ) library 'kernel32.dll' alias for RtlMoveMemory
//Cursor
FUNCTION BOOLEAN ClipCursor(REF RECT lprect) LIBRARY 'user32.dll' alias for "ClipCursor;Ansi"
FUNCTION BOOLEAN GetClipCursor(REF RECT lprect) LIBRARY 'user32.dll' alias for "GetClipCursor;Ansi"
//Timer
FUNCTION ULONG SetTimer(long hwnd, ULONG nIDEvent, ULONG elapse, long zero) LIBRARY "USER32.DLL"
FUNCTION BOOLEAN KillTimer(long hwnd, ULONG nIDEvent) LIBRARY "USER32.DLL"
end prototypes
on n_svc_win32.create
call super::create
end on

on n_svc_win32.destroy
call super::destroy
end on