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

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

?? usblsdbg.h

?? 參考著寫其他的驅動程序就可以了。
?? H
字號:
/*++

Copyright (c) 1999  Microsoft Corporation

Module Name:

    usblsDbg.h

Abstract:

	Debug macros 

Environment:

    Kernel mode

Notes:

  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  PURPOSE.

  Copyright (c) 1999 Microsoft Corporation.  All Rights Reserved.

Revision History:

    01/13/99: MRB  Adapted from BULKUSB DDK sample.

--*/

#ifndef USBLSDBG_INCD
#define USBLSDBG_INCD

#if DBG

// Defines for debug verbosity level,
//   i.e., test USBLS120_KdPrintLevel( n, format....) against these values
//  Example:
//
// USBLS120_KdPrint( DBGLVL_MEDIUM ,("Entering DriverEntry(), RegistryPath=\n    %ws\n", RegistryPath->Buffer ));
// 
//  The above will print iff gDebugLevel >= DBGLVL_MEDIUM
//
#define DBGLVL_OFF				0		// if gDebugLevel set to this, there is NO debug output	
#define DBGLVL_MINIMUM			1		// minimum verbosity	
#define DBGLVL_DEFAULT			2		// default verbosity level if no registry override
#define DBGLVL_MEDIUM			3		// medium verbosity
#define DBGLVL_HIGH				4		// highest 'safe' level (without severely affecting timing )
#define DBGLVL_MAXIMUM			5		// maximum level, may be dangerous



#ifndef DBGSTR_PREFIX
#define DBGSTR_PREFIX "USBLS120: " 
#endif


// registry path used for parameters global to all instances of the driver
#define USBLS120_REGISTRY_PARAMETERS_PATH  \
        L"\\REGISTRY\\Machine\\System\\CurrentControlSet\\SERVICES\\USBLS120\\Parameters"



#define DPRINT DbgPrint

#define TRAP() DbgBreakPoint();


#define USBLS120_DBGOUTSIZE              512


typedef struct _USBLS120_DBGDATA {

	// mirrors device extension pending io count
	ULONG PendingIoCount;

	// count of pipe errors detected during the life of this device instance
	ULONG PipeErrorCount;

	// count of pipe resets performed during the life of this device instance
	ULONG ResetPipeCount;

	// count of pipe resets performed during the life of this device instance
	ULONG AbortPipeCount;

} USBLS120_DBGDATA, *PUSBLS120_DBGDATA;

//these declared in debug 'c' file
extern int gDebugLevel; 
extern int gExAllocCount;
extern PUSBLS120_DBGDATA gpDbg; 


static const PCHAR szIrpMajFuncDesc[] =
{  // note this depends on corresponding values to the indexes in wdm.h
   "IRP_MJ_CREATE",
   "IRP_MJ_CREATE_NAMED_PIPE",
   "IRP_MJ_CLOSE",
   "IRP_MJ_READ",
   "IRP_MJ_WRITE",
   "IRP_MJ_QUERY_INFORMATION",
   "IRP_MJ_SET_INFORMATION",
   "IRP_MJ_QUERY_EA",
   "IRP_MJ_SET_EA",
   "IRP_MJ_FLUSH_BUFFERS",
   "IRP_MJ_QUERY_VOLUME_INFORMATION",
   "IRP_MJ_SET_VOLUME_INFORMATION",
   "IRP_MJ_DIRECTORY_CONTROL",
   "IRP_MJ_FILE_SYSTEM_CONTROL",
   "IRP_MJ_DEVICE_CONTROL",
   "IRP_MJ_INTERNAL_DEVICE_CONTROL",
   "IRP_MJ_SHUTDOWN",
   "IRP_MJ_LOCK_CONTROL",
   "IRP_MJ_CLEANUP",
   "IRP_MJ_CREATE_MAILSLOT",
   "IRP_MJ_QUERY_SECURITY",
   "IRP_MJ_SET_SECURITY",
   "IRP_MJ_POWER",          
   "IRP_MJ_SYSTEM_CONTROL", 
   "IRP_MJ_DEVICE_CHANGE",  
   "IRP_MJ_QUERY_QUOTA",    
   "IRP_MJ_SET_QUOTA",      
   "IRP_MJ_PNP"            
};
//IRP_MJ_MAXIMUM_FUNCTION defined in wdm.h


static const PCHAR szPnpMnFuncDesc[] =
{	// note this depends on corresponding values to the indexes in wdm.h 

    "IRP_MN_START_DEVICE",
    "IRP_MN_QUERY_REMOVE_DEVICE",
    "IRP_MN_REMOVE_DEVICE",
    "IRP_MN_CANCEL_REMOVE_DEVICE",
    "IRP_MN_STOP_DEVICE",
    "IRP_MN_QUERY_STOP_DEVICE",
    "IRP_MN_CANCEL_STOP_DEVICE",
    "IRP_MN_QUERY_DEVICE_RELATIONS",
    "IRP_MN_QUERY_INTERFACE",
    "IRP_MN_QUERY_CAPABILITIES",
    "IRP_MN_QUERY_RESOURCES",
    "IRP_MN_QUERY_RESOURCE_REQUIREMENTS",
    "IRP_MN_QUERY_DEVICE_TEXT",
    "IRP_MN_FILTER_RESOURCE_REQUIREMENTS",
    "IRP_MN_READ_CONFIG",
    "IRP_MN_WRITE_CONFIG",
    "IRP_MN_EJECT",
    "IRP_MN_SET_LOCK",
    "IRP_MN_QUERY_ID",
    "IRP_MN_QUERY_PNP_DEVICE_STATE",
    "IRP_MN_QUERY_BUS_INFORMATION",
    "IRP_MN_DEVICE_USAGE_NOTIFICATION",
	"IRP_MN_SURPRISE_REMOVAL"
};

#define IRP_PNP_MN_FUNCMAX	IRP_MN_SURPRISE_REMOVAL



static const PCHAR szSystemPowerState[] = 
{
    "PowerSystemUnspecified",
    "PowerSystemWorking",
    "PowerSystemSleeping1",
    "PowerSystemSleeping2",
    "PowerSystemSleeping3",
    "PowerSystemHibernate",
    "PowerSystemShutdown",
    "PowerSystemMaximum"
};

static const PCHAR szDevicePowerState[] = 
{
    "PowerDeviceUnspecified",
    "PowerDeviceD0",
    "PowerDeviceD1",
    "PowerDeviceD2",
    "PowerDeviceD3",
    "PowerDeviceMaximum"
};




BOOLEAN
USBLS120_GetRegistryDword(
    IN      PWCHAR    RegPath,
    IN      PWCHAR    ValueName,
    IN OUT  PULONG    Value
    );


#define USBLS120_KdPrintCond( ilev, cond, _x_) \
	if( gDebugLevel && ( ilev <= gDebugLevel ) && ( cond )) { \
			DPRINT( DBGSTR_PREFIX ); \
			DPRINT _x_ ; \
	}



#define USBLS120_KdPrint( ilev, _x_)  USBLS120_KdPrintCond( ilev, TRUE, _x_ )


#define USBLS120_TrapCond( ilev, cond ) if ( gDebugLevel && ( ilev <= gDebugLevel ) && (cond) ) TRAP()
#define USBLS120_Trap( ilev )      USBLS120_TrapCond( ilev, TRUE )


#define USBLS120_ASSERT( cond ) ASSERT( cond )

#define USBLS120_StringForDevState( devState )  szDevicePowerState[ devState ] 

#define USBLS120_StringForSysState( sysState )  szSystemPowerState[ sysState ] 

#define USBLS120_StringForPnpMnFunc( mnfunc ) szPnpMnFuncDesc[ mnfunc ]

#define USBLS120_StringForIrpMjFunc(  mjfunc ) szIrpMajFuncDesc[ mjfunc ]

PVOID 
    USBLS120_ExAllocatePool(
        IN POOL_TYPE PoolType,
        IN ULONG NumberOfBytes
        );


VOID 
    USBLS120_ExFreePool(
        IN PVOID p
        );



#else // if not DBG

// dummy definitions that go away in the retail build

#define USBLS120_KdPrintCond( ilev, cond, _x_) 
#define USBLS120_KdPrint( ilev, _x_)  
#define USBLS120_TrapCond( ilev, cond ) 
#define USBLS120_Trap( ilev )
#define USBLS120_ASSERT( cond )
#define USBLS120_StringForDevState( devState )
#define USBLS120_StringForSysState( sysState ) 
#define USBLS120_StringForPnpMnFunc( mnfunc )
#define USBLS120_StringForIrpMjFunc(  mjfunc ) 

#define USBLS120_ExFreePool( p )   ExFreePool( p )
#define USBLS120_ExAllocatePool( typ, siz )  ExAllocatePool( typ, siz )
#define TRAP() 


#endif //DBG

#endif // included



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91久久一区二区| 欧美色图天堂网| 国产永久精品大片wwwapp| 偷窥国产亚洲免费视频| 亚洲国产日韩一区二区| 亚洲一线二线三线视频| 亚洲国产精品久久不卡毛片 | 一本久久a久久免费精品不卡| 国产激情视频一区二区在线观看| 国产真实乱对白精彩久久| 国产精品一级在线| 99久久综合99久久综合网站| 91亚洲国产成人精品一区二三| 91麻豆精品在线观看| 欧美午夜电影一区| 日韩欧美亚洲另类制服综合在线| 欧美成人a在线| 久久综合色综合88| 国产精品久久久久久户外露出| 亚洲欧美色图小说| 丝袜美腿亚洲一区| 国产成人亚洲综合a∨婷婷| 不卡的av网站| 欧美日韩国产欧美日美国产精品| 精品久久一区二区| 中文字幕一区二区三区乱码在线| 亚洲一区二区视频| 国产一二精品视频| 一本大道久久精品懂色aⅴ| 91精品国产欧美日韩| 国产午夜精品一区二区| 一级特黄大欧美久久久| 精品一区二区免费在线观看| 色中色一区二区| 精品捆绑美女sm三区| 亚洲欧美日韩一区二区三区在线观看| 日本不卡免费在线视频| 99r国产精品| 欧美r级电影在线观看| 亚洲私人黄色宅男| 国内精品伊人久久久久av影院| 一本大道综合伊人精品热热| 久久久99免费| 午夜精品福利一区二区三区av | 日本一区二区三区dvd视频在线| 亚洲一区二区三区美女| 粉嫩13p一区二区三区| 欧美乱妇20p| 综合分类小说区另类春色亚洲小说欧美| 美女一区二区久久| 欧美日韩精品一区二区天天拍小说| 国产情人综合久久777777| 天堂成人国产精品一区| 色一区在线观看| 中文字幕一区视频| 国产呦萝稀缺另类资源| 日韩一区二区不卡| 亚洲高清免费观看| 一本到高清视频免费精品| 中文欧美字幕免费| 丁香天五香天堂综合| 精品欧美一区二区久久| 日本怡春院一区二区| 欧美日韩精品二区第二页| 伊人婷婷欧美激情| 日本道色综合久久| 亚洲欧洲综合另类在线| 94色蜜桃网一区二区三区| 国产精品久久久久aaaa樱花 | 男人的j进女人的j一区| 欧美亚洲自拍偷拍| 亚洲午夜久久久久久久久电影院| 在线观看亚洲精品| 亚洲综合丁香婷婷六月香| 色噜噜偷拍精品综合在线| 亚洲美女电影在线| 在线视频国内一区二区| 亚洲一区二区av在线| 欧美美女网站色| 日韩精品乱码av一区二区| 日韩一区二区三区在线| 日韩精品欧美成人高清一区二区| 欧美一区二区福利视频| 精品一区二区三区免费毛片爱 | 日韩色视频在线观看| 婷婷久久综合九色综合绿巨人 | 欧美人xxxx| 男人的j进女人的j一区| 精品国产乱码久久| 国产超碰在线一区| 亚洲精品成人在线| 欧美日产国产精品| 国内精品伊人久久久久影院对白| 久久久亚洲国产美女国产盗摄| 国产91对白在线观看九色| 亚洲同性gay激情无套| 欧洲色大大久久| 另类专区欧美蜜桃臀第一页| 国产欧美日韩在线| 在线视频观看一区| 久久se这里有精品| 国产精品高潮呻吟久久| 欧美撒尿777hd撒尿| 激情综合色综合久久| 亚洲人成在线观看一区二区| 欧美久久久久久久久久| 国产在线麻豆精品观看| 亚洲精品菠萝久久久久久久| 欧美成人精品高清在线播放| 成人免费高清视频在线观看| 亚洲v日本v欧美v久久精品| 日韩欧美资源站| 在线免费不卡视频| 国产成人精品1024| 日韩**一区毛片| 国产精品久久久久精k8| 日韩精品自拍偷拍| 欧美色区777第一页| 高清日韩电视剧大全免费| 天天色天天操综合| 国产精品国产三级国产普通话三级| 欧美日本韩国一区二区三区视频| 高清国产午夜精品久久久久久| 五月天亚洲婷婷| 一区二区三区在线观看欧美| 国产日韩视频一区二区三区| 欧美剧情电影在线观看完整版免费励志电影| 国产精品自拍毛片| 日韩电影网1区2区| 夜色激情一区二区| 中文字幕中文字幕在线一区| 欧美精品一区视频| 日韩天堂在线观看| 欧美放荡的少妇| 欧美唯美清纯偷拍| 99久久综合狠狠综合久久| 国产精品12区| 国产一区二区三区日韩| 久久国产综合精品| 久久99精品国产麻豆不卡| 亚洲福利视频导航| 亚洲国产cao| 亚洲免费观看高清完整版在线观看| 久久久综合网站| 精品国产一区二区三区av性色 | 欧美日韩视频在线第一区 | 石原莉奈在线亚洲二区| 亚洲曰韩产成在线| 亚洲小少妇裸体bbw| 亚洲制服丝袜一区| 亚洲国产精品人人做人人爽| 亚洲一二三四在线| 亚洲成人免费在线| 午夜精品久久一牛影视| 欧美a级理论片| 精品亚洲成a人在线观看| 国产乱码一区二区三区| 国产成人精品午夜视频免费| 国产福利一区二区三区视频| 国产91在线看| 91影视在线播放| 欧洲精品中文字幕| 欧美一区日本一区韩国一区| 欧美成人性福生活免费看| 久久久久久夜精品精品免费| 国产精品水嫩水嫩| 亚洲人被黑人高潮完整版| 一个色综合av| 久久精品国产**网站演员| 高潮精品一区videoshd| 91久久人澡人人添人人爽欧美| 欧美美女喷水视频| 久久―日本道色综合久久| 国产精品久久久久aaaa| 亚洲最大色网站| 国精品**一区二区三区在线蜜桃 | 亚洲欧美中日韩| 亚洲小少妇裸体bbw| 国产专区欧美精品| 日本高清成人免费播放| 日韩一区二区三区在线| 欧美国产日韩一二三区| 亚州成人在线电影| 成人黄色av电影| 91精品国产一区二区三区蜜臀| 久久久久久久av麻豆果冻| 亚洲三级免费电影| 伦理电影国产精品| 色噜噜狠狠色综合中国| 26uuu成人网一区二区三区| 一区二区高清视频在线观看| 国内成+人亚洲+欧美+综合在线| 在线精品国精品国产尤物884a| 久久影音资源网| 亚洲成人免费在线| 99久久免费视频.com| 日韩精品一区二区三区中文不卡 | 欧美高清视频不卡网| 国产精品欧美极品| 麻豆国产精品777777在线|