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

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

?? entry.c

?? 一個(gè)windows顯示驅(qū)動(dòng)的好程序
?? C
字號(hào):
/**********************************************************************
 * 
 *  Toby Opferman
 *
 *  Example GDI DDI (Device Driver Interface) Driver Entry Point
 *
 *  This example is for educational purposes only.  I license this source
 *  out for use in learning how to write a device driver.
 *
 *  Copyright (c) 2005, All Rights Reserved  
 **********************************************************************/

#define __NTDDKCOMP__
#define _MPPC_
#define _WIN32_WINNT 0x500


#include <stddef.h>
#include <stdarg.h>
#include <limits.h>
#include <windef.h>
#include <wingdi.h>
#include <math.h>
#include <winddi.h>
#include <devioctl.h>


#include "gdifuncs.h"

/*
 * Display Drivers provide a list of function entry points for specific GDI
 * tasks.  These are identified by providing a pre-defined "INDEX" value (pre-defined
 * by microsoft) followed by the function entry point.  There are levels of flexibility
 * on which ones you are REQUIRED and which ones are technically OPTIONAL.
 *
 */
                                            
DRVFN g_DrvFunctions[] =
{
    {   INDEX_DrvAssertMode,            (PFN) GdiExample_DrvAssertMode            },
    {   INDEX_DrvCompletePDEV,          (PFN) GdiExample_DrvCompletePDEV          },
    {   INDEX_DrvCreateDeviceBitmap,    (PFN) GdiExample_DrvCreateDeviceBitmap    },
    {   INDEX_DrvDeleteDeviceBitmap,    (PFN) GdiExample_DrvDeleteDeviceBitmap    },
    {   INDEX_DrvDestroyFont,           (PFN) GdiExample_DrvDestroyFont           },
    {   INDEX_DrvDisablePDEV,           (PFN) GdiExample_DrvDisablePDEV           },
    {   INDEX_DrvDisableDriver,         (PFN) GdiExample_DrvDisableDriver         },
    {   INDEX_DrvDisableSurface,        (PFN) GdiExample_DrvDisableSurface        },
    {   INDEX_DrvSaveScreenBits,        (PFN) GdiExample_DrvSaveScreenBits        },
    {   INDEX_DrvEnablePDEV,            (PFN) GdiExample_DrvEnablePDEV            },
    {   INDEX_DrvEnableSurface,         (PFN) GdiExample_DrvEnableSurface         },
    {   INDEX_DrvEscape,                (PFN) GdiExample_DrvEscape                },
    {   INDEX_DrvGetModes,              (PFN) GdiExample_DrvGetModes              },
    {   INDEX_DrvMovePointer,           (PFN) GdiExample_DrvMovePointer           },
    {   INDEX_DrvNotify,                (PFN) GdiExample_DrvNotify                },
  //  {   INDEX_DrvRealizeBrush,          (PFN) GdiExample_DrvRealizeBrush          },
    {   INDEX_DrvResetPDEV,             (PFN) GdiExample_DrvResetPDEV             },
    {   INDEX_DrvSetPalette,            (PFN) GdiExample_DrvSetPalette            },
    {   INDEX_DrvSetPointerShape,       (PFN) GdiExample_DrvSetPointerShape       },
    {   INDEX_DrvStretchBlt,            (PFN) GdiExample_DrvStretchBlt            },
    {   INDEX_DrvSynchronizeSurface,    (PFN) GdiExample_DrvSynchronizeSurface    },
    {   INDEX_DrvAlphaBlend,            (PFN) GdiExample_DrvAlphaBlend            },
    {   INDEX_DrvBitBlt,                (PFN) GdiExample_DrvBitBlt                },
    {   INDEX_DrvCopyBits,              (PFN) GdiExample_DrvCopyBits              },
    {   INDEX_DrvFillPath,              (PFN) GdiExample_DrvFillPath              },
    {   INDEX_DrvGradientFill,          (PFN) GdiExample_DrvGradientFill          },
    {   INDEX_DrvLineTo,                (PFN) GdiExample_DrvLineTo                },
    {   INDEX_DrvStrokePath,            (PFN) GdiExample_DrvStrokePath            },
    {   INDEX_DrvTextOut,               (PFN) GdiExample_DrvTextOut               },
    {   INDEX_DrvTransparentBlt,        (PFN) GdiExample_DrvTransparentBlt        },
};
                                            
ULONG g_ulNumberOfFunctions = sizeof(g_DrvFunctions) / sizeof(DRVFN);


/*********************************************************************
 * DrvEnableDriver
 *
 *   This is the initial driver entry point.  This is the "DriverEntry" equivlent
 *   for Display and Printer drivers.  This function must return a function table
 *   that represents all the supported entry points into this driver.
 *
 *********************************************************************/
BOOL DrvEnableDriver(ULONG ulEngineVersion, ULONG ulDataSize, DRVENABLEDATA *pDrvEnableData)
{
    BOOL bDriverEnabled = FALSE;

    /*
     * We only want to support versions > NT 4
     *
     */
    if(HIWORD(ulEngineVersion) >= 0x3 && ulDataSize >= sizeof(DRVENABLEDATA))
    {
       pDrvEnableData->iDriverVersion = DDI_DRIVER_VERSION;
       pDrvEnableData->pdrvfn         = g_DrvFunctions;
       pDrvEnableData->c              = g_ulNumberOfFunctions;
       bDriverEnabled                 = TRUE;
    }

    return bDriverEnabled;              
}



/*********************************************************************
 * GdiExample_DrvDisableDriver
 *
 *   This function is used to notify the driver when the driver is
 *   getting ready to be unloaded.
 *
 *********************************************************************/
VOID GdiExample_DrvDisableDriver(VOID)
{
    /*
     *  No Clean up To Do
     */
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本成人中文字幕| 精品综合久久久久久8888| 欧美日韩午夜影院| 国产精品夜夜爽| 日韩精品一二区| 亚洲色图在线播放| 久久亚洲综合色| 欧美美女黄视频| 91在线视频18| 国产传媒日韩欧美成人| 日本亚洲视频在线| 夜色激情一区二区| 一色屋精品亚洲香蕉网站| 精品国产自在久精品国产| 欧美日韩精品欧美日韩精品一| 成人亚洲一区二区一| 久久99国产精品久久99| 亚洲国产毛片aaaaa无费看| 国产日韩欧美在线一区| 精品国产亚洲在线| 91精品免费观看| 欧美午夜不卡视频| 欧美在线观看一区二区| 99九九99九九九视频精品| 国产精品综合久久| 久久www免费人成看片高清| 婷婷久久综合九色国产成人| 一区二区免费在线播放| 亚洲丝袜另类动漫二区| 国产精品女主播av| 亚洲国产高清不卡| 欧美国产97人人爽人人喊| 日韩精品一区二区三区四区视频| 欧美精品久久天天躁| 欧美午夜电影一区| 欧美日本在线视频| 亚洲日本va午夜在线电影| 一区在线观看免费| 亚洲欧洲成人自拍| 国产精品日产欧美久久久久| 精品久久免费看| 精品美女被调教视频大全网站| 日韩欧美一区二区久久婷婷| 日韩欧美在线不卡| 日韩欧美在线1卡| 久久影视一区二区| 国产视频一区二区在线| 国产亲近乱来精品视频| 国产精品美女久久久久久| 国产精品白丝在线| 亚洲精品中文在线| 亚洲成人自拍一区| 男人的天堂亚洲一区| 久久国产福利国产秒拍| 国产美女视频91| 丁香婷婷综合网| 一本大道久久a久久精二百| 在线免费观看日本一区| 欧美精品日韩精品| 精品久久久久久久久久久久久久久久久| 久久免费精品国产久精品久久久久| 国产欧美综合在线观看第十页| 国产精品视频一区二区三区不卡| 中文字幕在线不卡视频| 亚洲国产精品久久人人爱蜜臀 | 欧美成人精精品一区二区频| 日韩美一区二区三区| 国产婷婷色一区二区三区| 亚洲欧美日韩中文字幕一区二区三区| 亚洲男同性恋视频| 免费观看一级欧美片| 国产v综合v亚洲欧| 欧美日韩一区不卡| 久久久噜噜噜久久人人看| 亚洲蜜桃精久久久久久久| 蜜桃精品在线观看| gogo大胆日本视频一区| 欧美日韩精品二区第二页| 久久久久国产免费免费| 亚洲另类在线一区| 久久国产日韩欧美精品| 99久久99久久精品免费观看| 日韩三级高清在线| 中文字幕亚洲一区二区av在线 | 黑人精品欧美一区二区蜜桃| 99精品偷自拍| 日韩欧美精品三级| 亚洲精品国产高清久久伦理二区| 美女一区二区视频| 91猫先生在线| 国产欧美一区二区精品性色超碰| 一二三区精品视频| 国产精品一区二区久激情瑜伽 | 日韩一级片网站| 国产精品久久久久aaaa樱花 | 91视视频在线观看入口直接观看www | 亚洲人精品午夜| 精品一区二区三区在线观看| 91天堂素人约啪| 久久色成人在线| 午夜在线成人av| 99久久婷婷国产综合精品电影| 欧美xxxxxxxx| 亚洲一区二区三区中文字幕| 丁香亚洲综合激情啪啪综合| 欧美一级片在线| 洋洋成人永久网站入口| 成人晚上爱看视频| 精品成人一区二区三区| 天天综合网 天天综合色| 91一区二区在线| 国产视频一区在线观看| 蜜臂av日日欢夜夜爽一区| 成人免费的视频| 欧美激情一区二区三区四区| 麻豆精品视频在线| 欧美一区二区三区性视频| 一区二区三区国产豹纹内裤在线| 成人性生交大片免费看中文网站| 精品国产乱码久久久久久浪潮| 午夜精品福利一区二区三区av | 久久嫩草精品久久久精品| 日韩激情视频在线观看| 欧美中文字幕一区| 亚洲精品国产高清久久伦理二区| 99视频一区二区三区| 国产精品你懂的| 福利一区二区在线观看| 亚洲欧洲色图综合| 欧美伦理视频网站| 精品国精品自拍自在线| 喷水一区二区三区| 在线播放中文字幕一区| 日韩中文字幕一区二区三区| 欧美日韩在线精品一区二区三区激情 | 日本aⅴ免费视频一区二区三区| 在线观看视频一区二区 | 日韩va亚洲va欧美va久久| 欧美日韩日本视频| 日日摸夜夜添夜夜添精品视频| 欧美在线不卡一区| 亚洲第一狼人社区| 欧美夫妻性生活| 美女视频一区在线观看| 91精品国产一区二区人妖| 久久精品久久99精品久久| 精品99一区二区| 国产黄色成人av| 一区在线中文字幕| 在线观看成人免费视频| 亚洲v日本v欧美v久久精品| 日韩一区二区在线免费观看| 精品无人区卡一卡二卡三乱码免费卡| 精品国产亚洲一区二区三区在线观看| 国产一区视频网站| 国产精品欧美极品| 欧美日韩中文字幕一区二区| 免费黄网站欧美| 国产婷婷色一区二区三区四区| 成人av电影观看| 亚洲激情欧美激情| 91麻豆精品国产自产在线| 国产一区二区三区| 日韩一区在线免费观看| 欧美午夜精品一区二区三区| 日韩二区在线观看| 国产日韩v精品一区二区| 91丨九色porny丨蝌蚪| 视频一区在线视频| 欧美精品一区男女天堂| jlzzjlzz欧美大全| 日韩激情一二三区| 日本一区二区成人在线| 在线观看区一区二| 九九九精品视频| 亚洲色图在线视频| 日韩欧美精品三级| 一本大道av伊人久久综合| 日韩国产精品久久久久久亚洲| 久久久精品国产免大香伊| 色婷婷综合久色| 激情综合网最新| 亚洲一区二区高清| 久久久蜜桃精品| 欧美视频中文字幕| 国产福利不卡视频| 五月婷婷激情综合| 国产精品超碰97尤物18| 欧美成人综合网站| 日本高清无吗v一区| 精品一区二区在线视频| 亚洲午夜私人影院| 国产精品午夜春色av| 欧美一区二区在线不卡| 成人毛片在线观看| 激情五月婷婷综合网| 亚洲成年人网站在线观看| 国产午夜精品福利| 欧美xxxx在线观看| 欧美精品第1页|