callback.c

来自「这是一个开放源代码的与WINNT/WIN2K/WIN2003兼容的操作系统」· C语言 代码 · 共 181 行

C
181
字号
/* * Help Viewer - DLL callback into WineHelp * * Copyright 2004 Eric Pouech * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */#define WIN32_LEAN_AND_MEAN#include <stdio.h>#include "windows.h"#include "winhelp.h"#include "wine/debug.h"WINE_DEFAULT_DEBUG_CHANNEL(winhelp);static WORD CALLBACK WHD_GetFSError(void){    WINE_FIXME("()\n");    return 0;}static HANDLE CALLBACK WHD_Open(LPSTR name, BYTE flags){    unsigned    mode = 0;    //WINE_FIXME("(%s %x)\n", wine_dbgstr_a(name), flags);    switch (flags)    {    case 0: mode = GENERIC_READ | GENERIC_WRITE; break;    case 2: mode = GENERIC_READ; break;    default: WINE_FIXME("Undocumented flags %x\n", flags);    }    return CreateFile(name, mode, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,                      OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);}static WORD CALLBACK WHD_Close(HANDLE fs){    WINE_FIXME("(%p)\n", fs);    CloseHandle(fs);    return 0;}static HANDLE CALLBACK WHD_OpenBag(HANDLE fs, LPSTR name, BYTE flags){    WINE_FIXME("(%p %s %x)\n", fs, name, flags);    return NULL;}static HANDLE CALLBACK WHD_CloseBag(HANDLE bag){    WINE_FIXME("()\n");    return NULL;}static LONG CALLBACK WHD_ReadBag(HANDLE bag, BYTE* ptr, LONG len){    WINE_FIXME("()\n");    return 0;}static LONG CALLBACK WHD_TellBag(HANDLE bag){    WINE_FIXME("()\n");    return 0;}static LONG CALLBACK WHD_SeekBag(HANDLE bag, LONG offset, WORD whence){    WINE_FIXME("()\n");    return 0;}static BOOL CALLBACK WHD_IsEofBag(HANDLE bag){    WINE_FIXME("()\n");    return FALSE;}static LONG CALLBACK WHD_SizeBag(HANDLE bag){    WINE_FIXME("()\n");    return 0;}static BOOL CALLBACK WHD_Access(HANDLE fs, LPSTR name, BYTE flags){    WINE_FIXME("()\n");    return FALSE;}static WORD CALLBACK WHD_LLInfoFromBag(HANDLE bag, WORD opt, LPWORD p1, LPLONG p2, LPLONG p3){    WINE_FIXME("()\n");    return 0;}static WORD CALLBACK WHD_LLInfoFromFile(HANDLE fs, LPSTR name, WORD opt, LPWORD p1, LPLONG p2, LPLONG p3){    WINE_FIXME("()\n");    return 0;}static void CALLBACK WHD_Error(int err){    WINE_FIXME("()\n");}static void CALLBACK WHD_ErrorString(LPSTR err){    WINE_FIXME("()\n");}static LONG CALLBACK WHD_GetInfo(WORD what, HWND hnd){    LONG        ret = 0;    WINE_TRACE("(%x %p)\n", what, hnd);    switch (what)    {    case 0: break;    case 1: /* instance */ ret = (LONG)Globals.hInstance; break;    case 3: /* current window */ ret = (LONG)Globals.active_win->hMainWnd; break;    case 2: /* main window */    case 4: /* handle to opened file */    case 5: /* foreground color */    case 6: /* background color */    case 7: /* topic number */    case 8: /* current opened file name */        WINE_FIXME("NIY %u\n", what);        break;    default:        WINE_FIXME("Undocumented %u\n", what);        break;    }    return ret;}static LONG CALLBACK WHD_API(LPSTR x, WORD xx, DWORD xxx){    WINE_FIXME("()\n");    return 0;}FARPROC Callbacks[] ={    (FARPROC)WHD_GetFSError,     (FARPROC)WHD_Open,     (FARPROC)WHD_Close,     (FARPROC)WHD_OpenBag,     (FARPROC)WHD_CloseBag,    (FARPROC)WHD_ReadBag,    (FARPROC)WHD_TellBag,    (FARPROC)WHD_SeekBag,    (FARPROC)WHD_IsEofBag,     (FARPROC)WHD_SizeBag,    (FARPROC)WHD_Access,    (FARPROC)WHD_LLInfoFromBag,     (FARPROC)WHD_LLInfoFromFile,     (FARPROC)WHD_Error,    (FARPROC)WHD_ErrorString,    (FARPROC)WHD_GetInfo,    (FARPROC)WHD_API};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?