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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? debug.cpp

?? win2000打印機驅動代碼
?? CPP
字號:
/*
 * @file lib/debug.cpp Debug functions.
 *
 * W2kPrintDrvSample
 *
 * Copyright (C) 2004, terrificskyfox <terrificskyfox@yahoo.com.cn>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program 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 General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#include "precomp.h"
#include "debug.h"


/*
 *  Internal defines
 */

#define DEBUG_BUFFER_SIZE       1024

#define TERSE_MSG

// determine what level of debugging messages to eject
#ifdef VERBOSE_MSG
    #define DEBUG_LEVEL     DBG_VERBOSE
#elif defined TERSE_MSG
    #define DEBUG_LEVEL     DBG_TERSE
#elif defined WARNING_MSG
    #define DEBUG_LEVEL     DBG_WARNING
#elif defined ERROR_MSG
    #define DEBUG_LEVEL     DBG_ERROR
#elif defined NO_DBG_MSG
    #define DEBUG_LEVEL     DBG_NONE
#else
    #define DEBUG_LEVEL     DBG_WARNING
#endif


/*
 *  Globals
 */

int giDebugLevel = DEBUG_LEVEL;


/*
 *  Internal prototypes
 */

static BOOL DebugMessageV(LPCSTR lpszMessage, va_list arglist);
static BOOL DebugMessageV(DWORD dwSize, LPCWSTR lpszMessage, va_list arglist);


/*
 *  Internal implementations
 */

/*
 * Function: DebugMessageV(for ANSI)
 *
 * Purpose: Outputs variable argument debug string.
 *
 * Return: BOOL
 */
static BOOL DebugMessageV(
	LPCSTR  lpszMessage,
	va_list arglist)
{
	DWORD   dwSize = DEBUG_BUFFER_SIZE;
	LPSTR   lpszMsgBuf = NULL;

	// parameter checking
	if((NULL == lpszMessage) || (0 == dwSize))
		return FALSE;

	do
	{
		// allocate memory for message buffer
		if(NULL != lpszMsgBuf)
		{
			delete lpszMsgBuf;
			dwSize *= 2;
		}
		lpszMsgBuf = new CHAR[dwSize + 1];
		if(NULL == lpszMsgBuf)
			return FALSE;

	// pass the variable parameters to wvsprintf to be formated
	} while (_vsnprintf(lpszMsgBuf, dwSize, lpszMessage, arglist) < 0);

	// dump string to Debug output
	OutputDebugStringA(lpszMsgBuf);

	// cleanup
	delete lpszMsgBuf;

	return TRUE;
}

/*
 * Function: DebugMessageV(for Unicode)
 *
 * Purpose: Outputs variable argument debug string.
 *
 * Return: BOOL
 */
static BOOL DebugMessageV(
	DWORD   dwSize,
	LPCWSTR lpszMessage,
	va_list arglist)
{
    LPWSTR     lpszMsgBuf;

    // parameter checking
    if((NULL == lpszMessage) || (0 == dwSize))
		return FALSE;

    // allocate memory for message buffer
    lpszMsgBuf = new WCHAR[dwSize + 1];
    if(NULL == lpszMsgBuf) // error handling
        return FALSE;

    // pass the variable parameters to wvsprintf to be formated
    vswprintf(lpszMsgBuf, lpszMessage, arglist);

    // dump string to debug output
    OutputDebugStringW(lpszMsgBuf);

    // clean up
    delete lpszMsgBuf;

    return TRUE;
}


/*
 *  Implementations
 */

/*
 * Function: DebugMessage(for ANSI)
 *
 * Purpose: Outputs variable argument debug string.
 *
 * Return: BOOL
 */
BOOL DebugMessage(
	LPCSTR lpszMessage,
	...)
{
    BOOL    bResult;
    va_list VAList;

    // pass the variable parameters to DebugMessageV for processing
    va_start(VAList, lpszMessage);
    bResult = DebugMessageV(lpszMessage, VAList);
    va_end(VAList);

    return bResult;
}

/*
 * Function: DebugMessage(for Unicode)
 *
 * Purpose: Outputs variable argument debug string.
 *
 * Return: BOOL
 */
BOOL DebugMessage(
	LPCWSTR lpszMessage,
	...)
{
    BOOL    bResult;
    va_list VAList;

    // pass the variable parameters to DebugMessageV to be processed
    va_start(VAList, lpszMessage);
    bResult = DebugMessageV(MAX_PATH, lpszMessage, VAList);
    va_end(VAList);

    return bResult;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩欧美精品综合| 亚洲精品成人a在线观看| 一区二区三区四区中文字幕| 99精品一区二区| 中文字幕高清不卡| 色婷婷狠狠综合| 一区二区三区美女视频| 色老汉av一区二区三区| 久久在线免费观看| 成人性视频免费网站| 亚洲视频你懂的| 欧美丝袜丝交足nylons图片| 蜜乳av一区二区| 日韩美女在线视频| 精品亚洲免费视频| 国产欧美一区二区精品婷婷| 91免费小视频| 另类欧美日韩国产在线| 国产精品系列在线| 91麻豆精品国产91久久久久| 国产成人av自拍| 亚洲午夜精品17c| 精品国产91乱码一区二区三区| 91精品国产色综合久久不卡蜜臀 | 美女一区二区三区在线观看| 国产精品婷婷午夜在线观看| 6080国产精品一区二区| 97成人超碰视| 国产自产2019最新不卡| 亚洲午夜免费视频| 综合电影一区二区三区 | 国产女人水真多18毛片18精品视频 | 日韩免费视频一区二区| 91麻豆高清视频| 国产91露脸合集magnet| 久久69国产一区二区蜜臀| 亚洲色欲色欲www在线观看| 久久精品一区二区| 久久综合中文字幕| 精品久久久久久久久久久院品网| 色综合久久综合中文综合网| av电影在线观看一区| 国产精品1区2区| 激情综合网av| 国产盗摄视频一区二区三区| 国内精品国产成人国产三级粉色| 天天av天天翘天天综合网色鬼国产| 一区二区久久久久久| 亚洲精品一二三| 亚洲一区在线观看免费| 一区二区三区国产精品| 日韩经典中文字幕一区| 日韩国产成人精品| 麻豆免费看一区二区三区| 风间由美性色一区二区三区| 99久久国产综合色|国产精品| 91视频91自| 欧美群妇大交群的观看方式| 久久色成人在线| 久久久久久9999| 亚洲免费在线观看视频| 日韩经典中文字幕一区| 国产美女一区二区| 91免费观看视频| 欧美精品乱码久久久久久按摩| ww亚洲ww在线观看国产| 国产精品人人做人人爽人人添| 亚洲一区二区影院| 激情五月婷婷综合| 色妞www精品视频| 久久免费看少妇高潮| 天堂av在线一区| 成人免费高清视频| 久久亚洲一区二区三区明星换脸 | 色美美综合视频| 久久午夜老司机| 五月婷婷激情综合网| 懂色中文一区二区在线播放| 欧美视频一区在线观看| 亚洲欧洲日韩在线| 国模一区二区三区白浆| 欧美日韩一区不卡| 亚洲欧美日本在线| 99精品久久只有精品| 日韩欧美国产电影| 亚洲成人动漫在线免费观看| av福利精品导航| 国产亚洲精久久久久久| 精品亚洲免费视频| 精品国产区一区| 国产一区二区伦理| 精品人在线二区三区| 免费观看在线色综合| 欧美一区二区在线免费观看| 日韩av在线播放中文字幕| 在线观看91精品国产麻豆| 亚洲18影院在线观看| 欧美日韩精品一区二区天天拍小说| 亚洲精品欧美专区| 欧美色视频在线观看| 亚洲综合色网站| 欧美日韩日日骚| 日本在线观看不卡视频| 精品sm捆绑视频| 国产成人免费在线| 国产精品福利一区| 在线观看一区不卡| 国产真实乱偷精品视频免| 久久综合久久综合九色| 国产精品理伦片| 欧美国产精品中文字幕| 久久综合狠狠综合| 久久午夜羞羞影院免费观看| 91麻豆精品久久久久蜜臀| 亚洲一区二区三区三| 欧美变态tickling挠脚心| 色综合天天天天做夜夜夜夜做| 亚洲午夜电影网| 中文一区二区在线观看| 欧美性色黄大片| 成人激情午夜影院| 肉丝袜脚交视频一区二区| 国产精品美女视频| 精品美女一区二区三区| 日本韩国一区二区| 国产白丝精品91爽爽久久| 欧美a级理论片| 亚洲综合精品久久| 亚洲另类在线一区| 精品免费国产一区二区三区四区| 夜夜揉揉日日人人青青一国产精品| 久久伊人蜜桃av一区二区| 日韩一二三四区| 欧美精品v日韩精品v韩国精品v| 成人h动漫精品一区二区 | 欧美成人aa大片| 欧美三级视频在线播放| 99re这里只有精品首页| 成人精品免费网站| 成人一区二区三区| 成人三级伦理片| 成人美女视频在线看| 成人网页在线观看| 国产成人综合精品三级| 成人午夜在线播放| 不卡在线观看av| 欧美日韩在线播放三区| 欧美精品18+| 717成人午夜免费福利电影| 欧美日韩国产成人在线免费| 欧美日韩综合在线| 日韩一卡二卡三卡| 精品成人佐山爱一区二区| 国产日产欧美一区二区视频| 国产欧美视频一区二区| 亚洲欧美成人一区二区三区| 一区二区三区在线观看视频| 日韩成人免费在线| 成人精品国产福利| 欧美性生活大片视频| 欧美成人vps| 国产精品乱码一区二三区小蝌蚪| 一区二区三区欧美亚洲| 日一区二区三区| youjizz国产精品| 欧美日韩卡一卡二| 国产亚洲一本大道中文在线| 亚洲女爱视频在线| 国产一区二区91| 日韩一区二区麻豆国产| 日韩午夜电影在线观看| 亚洲视频免费看| 福利电影一区二区三区| 欧美日韩在线直播| 精品99一区二区| 日本成人中文字幕在线视频| 91碰在线视频| 国产精品进线69影院| 久久精品噜噜噜成人88aⅴ| 色偷偷成人一区二区三区91| 中文字幕欧美日本乱码一线二线| 日韩高清一区二区| 在线电影院国产精品| 日韩专区在线视频| 欧美精品亚洲一区二区在线播放| 亚洲在线观看免费| 一本大道综合伊人精品热热 | 日韩免费一区二区三区在线播放| 尤物av一区二区| 91免费版在线| 一区二区三区影院| 91国内精品野花午夜精品| 亚洲女与黑人做爰| 色悠悠亚洲一区二区| 亚洲综合区在线| 欧美三级韩国三级日本一级| 天堂蜜桃91精品| 日韩一区二区精品在线观看| 国产又黄又大久久| 国产精品伦一区二区三级视频|