亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? fdidll.c

?? Visual C++實(shí)踐與提高-劉刀桂, 孟繁晶編著
?? C
字號:
/*
 *  FDIDLL.C -- FDI interface using CABINET.DLL
 *
 *  Copyright (C) Microsoft Corporation 1997
 *  All Rights Reserved.
 *
 *  Overview:
 *      This code is a wrapper which provides access to the actual FDI code
 *      in CABINET.DLL.  CABINET.DLL dynamically loads/unloads as needed.
 */
 
#include <windows.h>

#include "fdi.h"

static HINSTANCE hCabinetDll;   /* DLL module handle */

/* pointers to the functions in the DLL */

static HFDI (FAR DIAMONDAPI *pfnFDICreate)(
        PFNALLOC            pfnalloc,
        PFNFREE             pfnfree,
        PFNOPEN             pfnopen,
        PFNREAD             pfnread,
        PFNWRITE            pfnwrite,
        PFNCLOSE            pfnclose,
        PFNSEEK             pfnseek,
        int                 cpuType,
        PERF                perf);
static BOOL (FAR DIAMONDAPI *pfnFDIIsCabinet)(
        HFDI                hfdi,
        int                 hf,
        PFDICABINETINFO     pfdici);
static BOOL (FAR DIAMONDAPI *pfnFDICopy)(
        HFDI                hfdi,
        char                *pszCabinet,
        char                *pszCabPath,
        int                 flags,
        PFNFDINOTIFY        pfnfdin,
        PFNFDIDECRYPT       pfnfdid,
        void                *pvUser);
static BOOL (FAR DIAMONDAPI *pfnFDIDestroy)(
        HFDI                hfdi);


/*
 *  FDICreate -- Create an FDI context
 *
 *  See fdi.h for entry/exit conditions.
 */

HFDI FAR DIAMONDAPI FDICreate(PFNALLOC pfnalloc,
                              PFNFREE  pfnfree,
                              PFNOPEN  pfnopen,
                              PFNREAD  pfnread,
                              PFNWRITE pfnwrite,
                              PFNCLOSE pfnclose,
                              PFNSEEK  pfnseek,
                              int      cpuType,
                              PERF     perf)
{
    HFDI hfdi;

    hCabinetDll = LoadLibrary("CABINET");
    if (hCabinetDll == NULL)
    {
        return(NULL);
    }

    pfnFDICreate = (void *) GetProcAddress(hCabinetDll,"FDICreate");
    pfnFDICopy = (void *) GetProcAddress(hCabinetDll,"FDICopy");
    pfnFDIIsCabinet = (void *) GetProcAddress(hCabinetDll,"FDIIsCabinet");
    pfnFDIDestroy = (void *) GetProcAddress(hCabinetDll,"FDIDestroy");

    if ((pfnFDICreate == NULL) ||
        (pfnFDICopy == NULL) ||
        (pfnFDIIsCabinet == NULL) ||
        (pfnFDIDestroy == NULL))
    {
        FreeLibrary(hCabinetDll);

        return(NULL);
    }

    hfdi = pfnFDICreate(pfnalloc,pfnfree,
            pfnopen,pfnread,pfnwrite,pfnclose,pfnseek,cpuType,perf);
    if (hfdi == NULL)
    {
        FreeLibrary(hCabinetDll);
    }

    return(hfdi);
}


/*
 *  FDIIsCabinet -- Determines if file is a cabinet, returns info if it is
 *
 *  See fdi.h for entry/exit conditions.
 */

BOOL FAR DIAMONDAPI FDIIsCabinet(HFDI            hfdi,
                                 int             hf,
                                 PFDICABINETINFO pfdici)
{
    if (pfnFDIIsCabinet == NULL)
    {
        return(FALSE);
    }

    return(pfnFDIIsCabinet(hfdi,hf,pfdici));
}


/*
 *  FDICopy -- extracts files from a cabinet
 *
 *  See fdi.h for entry/exit conditions.
 */

BOOL FAR DIAMONDAPI FDICopy(HFDI          hfdi,
                            char         *pszCabinet,
                            char         *pszCabPath,
                            int           flags,
                            PFNFDINOTIFY  pfnfdin,
                            PFNFDIDECRYPT pfnfdid,
                            void         *pvUser)
{
    if (pfnFDICopy == NULL)
    {
        return(FALSE);
    }

    return(pfnFDICopy(hfdi,pszCabinet,pszCabPath,flags,pfnfdin,pfnfdid,pvUser));
}


/*
 *  FDIDestroy -- Destroy an FDI context
 *
 *  See fdi.h for entry/exit conditions.
 */

BOOL FAR DIAMONDAPI FDIDestroy(HFDI hfdi)
{
    BOOL rc;

    if (pfnFDIDestroy == NULL)
    {
        return(FALSE);
    }

    rc = pfnFDIDestroy(hfdi);
    if (rc == TRUE)
    {
        FreeLibrary(hCabinetDll);
    }

    return(rc);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久91精品久久久久久秒播| 欧美激情一区二区三区不卡| 亚洲国产三级在线| 一本大道久久精品懂色aⅴ| 亚洲日本丝袜连裤袜办公室| av在线不卡观看免费观看| 亚洲欧美一区二区三区孕妇| 日本高清不卡在线观看| 豆国产96在线|亚洲| 国产精品无遮挡| 在线视频一区二区免费| 日韩高清不卡一区| 精品国产伦一区二区三区免费| 国产精品一区在线观看你懂的| 国产免费观看久久| 欧美综合视频在线观看| 免费精品视频在线| 国产精品人成在线观看免费| 日本二三区不卡| 精品中文av资源站在线观看| 国产精品久久久久久久浪潮网站| 91久久线看在观草草青青| 日韩成人一级大片| 欧美国产禁国产网站cc| 欧美揉bbbbb揉bbbbb| 国产精品一区二区果冻传媒| 一区二区三区四区乱视频| 日韩一级片在线观看| 99久久er热在这里只有精品15| 午夜视频久久久久久| 国产片一区二区| 7878成人国产在线观看| 国产九色sp调教91| 亚洲福利一二三区| 国产精品久久久久四虎| 欧美精品第1页| av一区二区三区四区| 日韩av不卡一区二区| 国产精品婷婷午夜在线观看| 7777精品伊人久久久大香线蕉完整版 | 国产精品亚洲第一| 亚洲国产综合在线| 国产精品久久久久久久久果冻传媒 | 日本精品视频一区二区| 国产一区二区0| 日本免费新一区视频| 亚洲特黄一级片| 国产精品五月天| www久久久久| 欧美日韩精品一区视频| 91在线观看一区二区| 激情五月激情综合网| 日日摸夜夜添夜夜添精品视频| 中文字幕一区二区在线观看| 久久新电视剧免费观看| 91精品福利在线一区二区三区| 在线观看国产精品网站| 91影视在线播放| av电影在线观看完整版一区二区| 国产一区二区三区av电影 | 国产成人av在线影院| 无吗不卡中文字幕| 午夜av区久久| 亚洲成人黄色小说| 亚洲人精品一区| 综合av第一页| 国产综合一区二区| 男人的天堂久久精品| 亚洲mv大片欧洲mv大片精品| 亚洲精品福利视频网站| 亚洲桃色在线一区| 亚洲欧美国产毛片在线| 综合亚洲深深色噜噜狠狠网站| 国产精品女主播在线观看| 国产日韩影视精品| 国产午夜一区二区三区| 国产日韩av一区二区| 国产日韩欧美a| 中文字幕一区二区视频| 国产精品日韩精品欧美在线| 国产精品网站在线观看| 中文字幕制服丝袜一区二区三区| 中文字幕在线观看不卡| 亚洲美女免费在线| 一区二区三区鲁丝不卡| 亚洲综合色视频| 天堂av在线一区| 久久精品国内一区二区三区| 激情综合色综合久久| 国产成人99久久亚洲综合精品| 成人精品亚洲人成在线| 99久久伊人精品| 精品视频在线视频| 欧美一区二区三区视频| 久久久久久久综合| 国产精品久久精品日日| 一区二区三区高清在线| 日韩—二三区免费观看av| 国产一二精品视频| 99re这里都是精品| 欧美精品在线一区二区| 精品欧美乱码久久久久久| 国产欧美综合在线| 亚洲精品国产高清久久伦理二区| 日韩精彩视频在线观看| 国产一区二区91| 色综合一区二区| 欧美一区二区二区| 国产精品不卡在线| 青青青伊人色综合久久| 不卡av在线免费观看| 欧美日韩国产不卡| 国产精品天天看| 日韩国产一区二| 成人app下载| 欧美成人精品3d动漫h| 国产精品毛片无遮挡高清| 视频一区视频二区中文| 国产不卡视频在线播放| 欧美一a一片一级一片| 久久综合九色综合97婷婷女人| 亚洲免费看黄网站| 久草精品在线观看| 欧美性受极品xxxx喷水| 国产亚洲欧美日韩俺去了| 天堂影院一区二区| 91香蕉视频污| 国产日本欧美一区二区| 日本成人超碰在线观看| 91视频在线观看| 久久久五月婷婷| 视频一区中文字幕国产| 99re这里都是精品| 亚洲国产精品高清| 国内精品写真在线观看| 欧美日产国产精品| 亚洲啪啪综合av一区二区三区| 国产乱码精品1区2区3区| 欧美日韩国产天堂| 亚洲精品国产无天堂网2021| 国产麻豆午夜三级精品| 18成人在线观看| 粉嫩嫩av羞羞动漫久久久| 精品电影一区二区| 日本伊人色综合网| 欧美日韩免费一区二区三区| 中文字幕一区不卡| 国产激情一区二区三区四区| 91精品啪在线观看国产60岁| 一区二区三区久久| 色哟哟亚洲精品| 亚洲日本一区二区三区| av资源站一区| 国产精品美日韩| 国产99久久久国产精品免费看| 日韩免费成人网| 日本va欧美va瓶| 欧美一级精品在线| 亚洲6080在线| 91精品国产一区二区| 天堂精品中文字幕在线| 欧美日韩一区二区在线观看| 亚洲国产精品嫩草影院| 91久久一区二区| 午夜一区二区三区在线观看| 91精品福利视频| 亚洲一区二区免费视频| 欧美三级资源在线| 日韩专区在线视频| 日韩亚洲欧美在线| 国产在线视频不卡二| 精品国产百合女同互慰| 精品影院一区二区久久久| 26uuu亚洲综合色| 国产美女精品一区二区三区| 国产日韩欧美不卡在线| 国产福利一区二区三区| 中文字幕一区二区5566日韩| 色呦呦日韩精品| 亚洲成人综合在线| 91精品久久久久久蜜臀| 久久成人综合网| 国产精品女同一区二区三区| 色综合久久99| 亚洲1区2区3区4区| 久久久青草青青国产亚洲免观| 国产精品91xxx| 亚洲免费在线观看| 欧美放荡的少妇| 国产成人免费在线观看| 最新日韩av在线| 日韩一区二区三区视频| 国产寡妇亲子伦一区二区| 亚洲人一二三区| 91精品婷婷国产综合久久| 国产伦精品一区二区三区视频青涩 | 337p日本欧洲亚洲大胆精品 | 亚洲一区二区欧美激情| 欧美变态tickle挠乳网站| 国产成人精品aa毛片|