shelarcy
shela****@capel*****
2004年 8月 16日 (月) 16:35:04 JST
On Mon, 16 Aug 2004 13:12:35 +0900, shelarcy <shela****@capel*****> wrote: > 「直接的にバインド」というのは、 > > (define-cproc win-set-timer (hWnd::<hwnd> nIDEvent::<u_int> > uElapse::<u_int> lpTimerFunc::<timerproc>) > (return <u_int> "SetTimer")) > > のような形でと言う意味でした。安易に逃げているところがあるので、もう > 少し調べてみて行き詰まったら、今度こそ質問したいと思います。 やっぱり安易に逃げすぎでした。 詳しく定義を見ていくと、H... という名前の型は typedef void *PVOID,*LPVOID; #ifdef STRICT typedef void *HANDLE; #define DECLARE_HANDLE(n) typedef struct n##__{int i;}*n #else typedef PVOID HANDLE; #define DECLARE_HANDLE(n) typedef HANDLE n #endif DECLARE_HANDLE(HWND); こんな風になっています。 また、LPSTR、LPCTSTR、LPVOID といった型は gauche で定義されている型と 違ってポインタになっています。 typedef unsigned short wchar_t; typedef wchar_t WCHAR; typedef WCHAR TCHAR; typedef TCHAR *LPTCH,*PTSTR,*LPTSTR,*LP,*PTCHAR; typedef const TCHAR *LPCTSTR; typedef void *PVOID,*LPVOID; この辺りの SCM... および Scm... の定義をどのように直せばよいでしょうか? -- shelarcy <shela****@capel*****> http://page.freett.com/shelarcy/