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

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

?? dbt.h

?? 用于查詢PC機上的USB端口是否有設備掛接上
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*****************************************************************************
 *
 *  (C) Copyright MICROSOFT Corp., 1993-1995
 *
 *  Title:      DBT.H - Equates for WM_DEVICECHANGE and BroadcastSystemMessage
 *
 *  Version:    4.00
 *
 *  Date:       24-May-1993
 *
 *  Author:     rjc
 *
 *----------------------------------------------------------------------------
 *
 *  Change log:
 *
 *     DATE     REV                 DESCRIPTION
 *  ----------- --- ----------------------------------------------------------
 *
 *****************************************************************************/

#ifndef _DBT_H
#define _DBT_H

/*
 * BroadcastSpecialMessage constants.
 */
#define WM_DEVICECHANGE         0x0219
#ifndef WINVER
#define WINVER          0x0500
#endif

/* XLATOFF */
#ifdef  IS_32
#define DBTFAR
#else
#define DBTFAR  far
#endif
/* XLATON */

#ifndef _WCHAR_T_DEFINED
typedef unsigned short wchar_t;
#define _WCHAR_T_DEFINED
#endif

#ifndef GUID_DEFINED
    #define GUID_DEFINED
    typedef struct _GUID {
	ULONG   Data1;
	unsigned short Data2;
	unsigned short Data3;
	unsigned char Data4[8];
    } GUID;
#endif // !defined(GUID_DEFINED)

/*
 * Broadcast message and receipient flags.
 *
 * Note that there is a third "flag". If the wParam has:
 *
 * bit 15 on:   lparam is a pointer and bit 14 is meaningfull.
 * bit 15 off:  lparam is just a UNLONG data type.
 *
 * bit 14 on:   lparam is a pointer to an ASCIIZ string.
 * bit 14 off:  lparam is a pointer to a binary struture starting with
 *              a dword describing the length of the structure.
 */
#define BSF_QUERY               0x00000001
#define BSF_IGNORECURRENTTASK   0x00000002      /* Meaningless for VxDs */
#define BSF_FLUSHDISK           0x00000004      /* Shouldn't be used by VxDs */
#define BSF_NOHANG              0x00000008
#define BSF_POSTMESSAGE         0x00000010
#define BSF_FORCEIFHUNG         0x00000020
#define BSF_NOTIMEOUTIFNOTHUNG  0x00000040
#define BSF_MSGSRV32ISOK        0x80000000      /* Called synchronously from PM API */
#define BSF_MSGSRV32ISOK_BIT    31              /* Called synchronously from PM API */

#define BSM_ALLCOMPONENTS       0x00000000
#define BSM_VXDS                0x00000001
#define BSM_NETDRIVER           0x00000002
#define BSM_INSTALLABLEDRIVERS  0x00000004
#define BSM_APPLICATIONS        0x00000008

/*
 * Message = WM_DEVICECHANGE
 * wParam  = DBT_APPYBEGIN
 * lParam  = (not used)
 *
 *      'Appy-time is now available.  This message is itself sent
 *      at 'Appy-time.
 *
 * Message = WM_DEVICECHANGE
 * wParam  = DBT_APPYEND
 * lParam  = (not used)
 *
 *      'Appy-time is no longer available.  This message is *NOT* sent
 *      at 'Appy-time.  (It cannot be, because 'Appy-time is gone.)
 *
 * NOTE!  It is possible for DBT_APPYBEGIN and DBT_APPYEND to be sent
 * multiple times during a single Windows session.  Each appearance of
 * 'Appy-time is bracketed by these two messages, but 'Appy-time may
 * momentarily become unavailable during otherwise normal Windows
 * processing.  The current status of 'Appy-time availability can always
 * be obtained from a call to _SHELL_QueryAppyTimeAvailable.
 */
#define DBT_APPYBEGIN                   0x0000
#define DBT_APPYEND                     0x0001

/*
 * Message = WM_DEVICECHANGE
 * wParam  = DBT_DEVNODES_CHANGED
 * lParam  = 0
 *
 *      send when configmg finished a process tree batch. Some devnodes
 *      may have been added or removed. This is used by ring3 people which
 *      need to be refreshed whenever any devnode changed occur (like
 *      device manager). People specific to certain devices should use
 *      DBT_DEVICE* instead.
 */

#define DBT_DEVNODES_CHANGED            0x0007

/*
 * Message = WM_DEVICECHANGE
 * wParam  = DBT_QUERYCHANGECONFIG
 * lParam  = 0
 *
 *      sent to ask if a config change is allowed
 */

#define DBT_QUERYCHANGECONFIG           0x0017

/*
 * Message = WM_DEVICECHANGE
 * wParam  = DBT_CONFIGCHANGED
 * lParam  = 0
 *
 *      sent when a config has changed
 */

#define DBT_CONFIGCHANGED               0x0018

/*
 * Message = WM_DEVICECHANGE
 * wParam  = DBT_CONFIGCHANGECANCELED
 * lParam  = 0
 *
 *      someone cancelled the config change
 */

#define DBT_CONFIGCHANGECANCELED        0x0019

/*
 * Message = WM_DEVICECHANGE
 * wParam  = DBT_MONITORCHANGE
 * lParam  = new resolution to use (LOWORD=x, HIWORD=y)
 *           if 0, use the default res for current config
 *
 *      this message is sent when the display monitor has changed
 *      and the system should change the display mode to match it.
 */

#define DBT_MONITORCHANGE               0x001B

/*
 * Message = WM_DEVICECHANGE
 * wParam  = DBT_SHELLLOGGEDON
 * lParam  = 0
 *
 *      The shell has finished login on: VxD can now do Shell_EXEC.
 */

#define DBT_SHELLLOGGEDON               0x0020

/*
 * Message = WM_DEVICECHANGE
 * wParam  = DBT_CONFIGMGAPI
 * lParam  = CONFIGMG API Packet
 *
 *      CONFIGMG ring 3 call.
 */
#define DBT_CONFIGMGAPI32               0x0022

/*
 * Message = WM_DEVICECHANGE
 * wParam  = DBT_VXDINITCOMPLETE
 * lParam  = 0
 *
 *      CONFIGMG ring 3 call.
 */
#define DBT_VXDINITCOMPLETE             0x0023

/*
 * Message = WM_DEVICECHANGE
 * wParam  = DBT_VOLLOCK*
 * lParam  = pointer to VolLockBroadcast structure described below
 *
 *      Messages issued by IFSMGR for volume locking purposes on WM_DEVICECHANGE.
 *      All these messages pass a pointer to a struct which has no pointers.
 */

#define DBT_VOLLOCKQUERYLOCK    0x8041
#define DBT_VOLLOCKLOCKTAKEN    0x8042
#define DBT_VOLLOCKLOCKFAILED   0x8043
#define DBT_VOLLOCKQUERYUNLOCK  0x8044
#define DBT_VOLLOCKLOCKRELEASED 0x8045
#define DBT_VOLLOCKUNLOCKFAILED 0x8046

/*
 * Device broadcast header
 */

struct _DEV_BROADCAST_HDR {     /* */
    DWORD       dbch_size;
    DWORD       dbch_devicetype;
    DWORD       dbch_reserved;
};

typedef struct  _DEV_BROADCAST_HDR      DEV_BROADCAST_HDR;
typedef         DEV_BROADCAST_HDR       DBTFAR *PDEV_BROADCAST_HDR;

/*
 * Structure for volume lock broadcast
 */

typedef struct VolLockBroadcast VolLockBroadcast;
typedef VolLockBroadcast *pVolLockBroadcast;
struct VolLockBroadcast {
	struct  _DEV_BROADCAST_HDR vlb_dbh;
	DWORD   vlb_owner;              // thread on which lock request is being issued
	BYTE    vlb_perms;              // lock permission flags defined below
	BYTE    vlb_lockType;           // type of lock
	BYTE    vlb_drive;              // drive on which lock is issued
	BYTE    vlb_flags;              // miscellaneous flags
};

/*
 * Values for vlb_perms
 */
#define LOCKP_ALLOW_WRITES              0x01    // Bit 0 set - allow writes
#define LOCKP_FAIL_WRITES               0x00    // Bit 0 clear - fail writes
#define LOCKP_FAIL_MEM_MAPPING          0x02    // Bit 1 set - fail memory mappings
#define LOCKP_ALLOW_MEM_MAPPING         0x00    // Bit 1 clear - allow memory mappings

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品污www在线观看| 日韩在线一二三区| 国产在线精品免费av| 日韩精品一区二区三区在线播放| 欧美一区二区大片| 欧美久久一区二区| 免费国产亚洲视频| 精品久久国产字幕高潮| 国产精品中文欧美| 欧美激情资源网| 色婷婷香蕉在线一区二区| 一区二区三区四区不卡在线| 在线日韩国产精品| 日韩精品1区2区3区| 精品国产一二三区| 成人精品国产免费网站| 亚洲视频一区二区在线| 欧美性色欧美a在线播放| 秋霞电影网一区二区| 久久久亚洲国产美女国产盗摄| 成人永久免费视频| 亚洲午夜久久久久久久久久久| 欧美一级久久久| 懂色中文一区二区在线播放| 亚洲精品成人精品456| 欧美一区二区三区公司| 国产高清久久久| 精品少妇一区二区三区免费观看| 国产精品自产自拍| 亚洲精品日产精品乱码不卡| 欧美高清视频一二三区| 国产成人精品一区二区三区四区 | 亚洲成人1区2区| 精品国产一区a| 91成人免费在线| 国产美女在线精品| 亚洲国产精品天堂| 久久9热精品视频| 国产精品不卡在线观看| 欧美剧情片在线观看| av高清久久久| 日本不卡一区二区三区| 亚洲人成精品久久久久| 久久综合久久99| 欧美午夜免费电影| 成人h版在线观看| 美女网站色91| 99riav久久精品riav| 欧美日韩国产美| 国产成人99久久亚洲综合精品| 亚洲综合丁香婷婷六月香| 国产亚洲一区二区三区在线观看| 在线观看国产91| 岛国精品一区二区| 蜜臀久久久久久久| 亚洲成人综合视频| 亚洲摸摸操操av| 国产农村妇女精品| 欧美不卡一二三| 欧美军同video69gay| 色呦呦国产精品| 成人精品视频网站| 国产精品影视天天线| 久久电影网电视剧免费观看| 午夜欧美电影在线观看| 亚洲激情在线激情| 亚洲色图制服诱惑| 中文字幕成人在线观看| 国产亚洲短视频| 精品福利一区二区三区免费视频| 欧美人成免费网站| 欧美人伦禁忌dvd放荡欲情| 欧美撒尿777hd撒尿| 99久久伊人网影院| 日韩久久免费av| 欧美精品一卡二卡| 欧美高清视频一二三区| 欧美精品粉嫩高潮一区二区| 欧美三级电影网| 欧美日本国产一区| 欧美人狂配大交3d怪物一区| 欧美日韩一区二区在线观看| 在线精品亚洲一区二区不卡| 99久久99久久精品免费看蜜桃| 国产69精品久久久久777| 成人性生交大合| av电影在线观看不卡| 91亚洲精品久久久蜜桃网站| 91免费看片在线观看| 欧美做爰猛烈大尺度电影无法无天| 99亚偷拍自图区亚洲| 91丨porny丨蝌蚪视频| 91免费视频观看| 欧美午夜片在线看| 91精品国产欧美日韩| 日韩女优av电影在线观看| 日韩欧美中文字幕公布| 久久久美女毛片| 欧美国产禁国产网站cc| 日本一区二区久久| 中文字幕一区二区三区四区不卡 | 日韩av二区在线播放| 免费欧美在线视频| 激情亚洲综合在线| 成人高清在线视频| 中文字幕一区二区在线观看| 中文字幕一区二区三区视频| 亚洲美女免费视频| 日韩精品免费视频人成| 国产在线国偷精品产拍免费yy | 99精品黄色片免费大全| 一本色道久久综合亚洲aⅴ蜜桃 | 久久久www免费人成精品| 国产精品无码永久免费888| 洋洋av久久久久久久一区| 日韩黄色一级片| 成人在线综合网| 欧美日韩高清一区| 国产亚洲欧美激情| 亚洲国产日韩在线一区模特| 久久精品国产亚洲a| 99久久99久久免费精品蜜臀| 3751色影院一区二区三区| 国产日产欧美一区| 五月天一区二区三区| 国产91精品露脸国语对白| 欧美日韩一级片在线观看| 国产午夜精品一区二区三区视频 | 日韩女优毛片在线| 国产精品成人在线观看| 天使萌一区二区三区免费观看| 国产真实精品久久二三区| 国产色综合一区| 亚洲大片免费看| 波多野结衣视频一区| 日韩丝袜美女视频| 一区二区三区电影在线播| 国产一区视频在线看| 欧美精品在线观看一区二区| 国产欧美日本一区视频| 日韩福利视频网| 91麻豆自制传媒国产之光| 精品久久久久久久久久久久久久久 | 99久久精品国产精品久久| 欧美大度的电影原声| 亚洲va欧美va人人爽| 不卡的av中国片| 久久久久久97三级| 蜜臀av性久久久久蜜臀aⅴ四虎| 色婷婷av一区二区三区软件| 国产偷国产偷精品高清尤物| 五月天婷婷综合| 欧美在线观看视频一区二区| 国产欧美视频一区二区| 久久综合九色综合久久久精品综合 | 日韩美女视频一区二区在线观看| 亚洲一区二区av在线| 91在线国内视频| 亚洲国产精品激情在线观看| 精品在线播放午夜| 欧美一级精品大片| 免费在线观看视频一区| 欧美调教femdomvk| 国产aⅴ精品一区二区三区色成熟| 欧美精品第1页| 亚洲6080在线| 欧美日韩国产乱码电影| 亚洲精品免费在线播放| 99久久亚洲一区二区三区青草| 久久久久久电影| 国产成人免费av在线| 国产亚洲婷婷免费| 国产精品中文字幕欧美| 国产性天天综合网| 国产精品一区二区三区网站| 久久伊人中文字幕| 国产福利精品导航| 国产女人18毛片水真多成人如厕| 国产精品99久久久久久久女警 | 国产日韩欧美精品在线| 韩国精品主播一区二区在线观看 | 五月婷婷久久综合| 678五月天丁香亚洲综合网| 久久久www免费人成精品| 国产亚洲精品免费| 国产99久久久精品| 亚洲视频图片小说| 91久久精品一区二区三| 亚洲自拍偷拍网站| 91精品国产全国免费观看| 经典一区二区三区| 亚洲国产高清aⅴ视频| 99久久久无码国产精品| 亚洲制服丝袜一区| 欧美一区二区黄| 国产成人精品综合在线观看| 亚洲人成伊人成综合网小说| 欧美久久久久久久久久| 精品一区二区三区在线播放| 国产日韩成人精品|