configmg.h
来自「用于查询PC机上的USB端口是否有设备挂接上」· C头文件 代码 · 共 1,777 行 · 第 1/5 页
H
1,777 行
typedef MEM_DES *PMEM_DES;
typedef MEM_RANGE *PMEM_RANGE;
typedef IO_DES *PIO_DES;
typedef IO_RANGE *PIO_RANGE;
typedef DMA_DES *PDMA_DES;
typedef IRQ_DES *PIRQ_DES;
struct MEM_Resource_s {
MEM_DES MEM_Header;
MEM_RANGE MEM_Data[];
};
typedef struct MEM_Resource_s MEM_RESOURCE;
typedef MEM_RESOURCE *PMEM_RESOURCE;
struct MEM_Resource1_s {
MEM_DES MEM_Header;
MEM_RANGE MEM_Data;
};
typedef struct MEM_Resource1_s MEM_RESOURCE1;
typedef MEM_RESOURCE1 *PMEM_RESOURCE1;
#define SIZEOF_MEM(x) (sizeof(MEM_DES)+(x)*sizeof(MEM_RANGE))
struct IO_Resource_s {
IO_DES IO_Header;
IO_RANGE IO_Data[];
};
typedef struct IO_Resource_s IO_RESOURCE;
typedef IO_RESOURCE *PIO_RESOURCE;
struct IO_Resource1_s {
IO_DES IO_Header;
IO_RANGE IO_Data;
};
typedef struct IO_Resource1_s IO_RESOURCE1;
typedef IO_RESOURCE1 *PIO_RESOURCE1;
#define SIZEOF_IORANGE(x) (sizeof(IO_DES)+(x)*sizeof(IO_RANGE))
struct DMA_Resource_s {
DMA_DES DMA_Header;
};
typedef struct DMA_Resource_s DMA_RESOURCE;
#define SIZEOF_DMA sizeof(DMA_DES)
struct IRQ_Resource_s {
IRQ_DES IRQ_Header;
};
typedef struct IRQ_Resource_s IRQ_RESOURCE;
#define SIZEOF_IRQ sizeof(IRQ_DES)
#pragma warning (default:4200) // turn on undefined array size
/*XLATON*/
#endif // ifndef NORESDES
#define LCPRI_FORCECONFIG 0x00000000 // Logical configuration priorities.
#define LCPRI_BOOTCONFIG 0x00000001
#define LCPRI_DESIRED 0x00002000
#define LCPRI_NORMAL 0x00003000
#define LCPRI_LASTBESTCONFIG 0x00003FFF // CM ONLY, DO NOT USE.
#define LCPRI_SUBOPTIMAL 0x00005000
#define LCPRI_LASTSOFTCONFIG 0x00007FFF // CM ONLY, DO NOT USE.
#define LCPRI_RESTART 0x00008000
#define LCPRI_REBOOT 0x00009000
#define LCPRI_POWEROFF 0x0000A000
#define LCPRI_HARDRECONFIG 0x0000C000
#define LCPRI_HARDWIRED 0x0000E000
#define LCPRI_IMPOSSIBLE 0x0000F000
#define LCPRI_DISABLED 0x0000FFFF
#define MAX_LCPRI 0x0000FFFF
#define DN_CLASS_ORDER_DEFAULT_NOCLASS 0x18000000
#define DN_CLASS_ORDER_DEFAULT 0x90000000
#define DN_CLASS_ORDER_SYSTEM 0x10000000
#define DN_CLASS_ORDER_1394 0x20000000
#define DN_CLASS_ORDER_USB 0x30000000
#define DN_CLASS_ORDER_HID 0x40000000
#define DN_CLASS_ORDER_MOUSE 0x50000000
#define DN_CLASS_ORDER_LOGIN 0x80000000 // DIVIDER
#define DN_CLASS_ORDER_MULTI DN_CLASS_ORDER_DEFAULT
#define DN_CLASS_ORDER_PORTS 0xA0000000
#define DN_CLASS_ORDER_SCSI 0xB0000000
#define DN_CLASS_ORDER_STORAGE 0xC0000000
#define DN_CLASS_ORDER_MEDIA 0xC8000000
#define DN_CLASS_ORDER_NET 0xD0000000
#define DN_CLASS_ORDER_DISPLAY 0xE0000000
#define DN_CLASS_ORDER_MONITOR 0xF0000000
#define DN_CLASS_ORDER_MODEM 0xF8000000
#define MAX_NUM_CLASSORDERS 14
#define MAX_MEM_REGISTERS 9
#define MAX_IO_PORTS 20
#define MAX_IRQS 7
#define MAX_DMA_CHANNELS 7
struct Config_Buff_s {
WORD wNumMemWindows; // Num memory windows
DWORD dMemBase[MAX_MEM_REGISTERS]; // Memory window base
DWORD dMemLength[MAX_MEM_REGISTERS]; // Memory window length
WORD wMemAttrib[MAX_MEM_REGISTERS]; // Memory window Attrib
WORD wNumIOPorts; // Num IO ports
WORD wIOPortBase[MAX_IO_PORTS]; // I/O port base
WORD wIOPortLength[MAX_IO_PORTS]; // I/O port length
WORD wNumIRQs; // Num IRQ info
BYTE bIRQRegisters[MAX_IRQS]; // IRQ list
BYTE bIRQAttrib[MAX_IRQS]; // IRQ Attrib list
WORD wNumDMAs; // Num DMA channels
BYTE bDMALst[MAX_DMA_CHANNELS]; // DMA list
WORD wDMAAttrib[MAX_DMA_CHANNELS]; // DMA Attrib list
BYTE bReserved1[3]; // Reserved
};
typedef struct Config_Buff_s CMCONFIG; // Config buffer info
#ifndef CMJUSTRESDES
#define MAX_DEVICE_ID_LEN 200
#define CM_FIRST_BOOT_START 0x00000001
#define CM_FIRST_BOOT 0x00000002
#define CM_FIRST_BOOT_FINISH 0x00000004
#define CM_QUEUE_REBOOT_START 0x00000008
#define CM_QUEUE_REBOOT_FINISH 0x00000010
#define CM_INSTALL_MEDIA_READY 0x00000020
#include <vmmreg.h>
/*XLATOFF*/
#ifdef Not_VxD
#include <dbt.h>
#pragma warning(disable:4001) // Non-standard extensions
#pragma warning(disable:4505) // Unreferenced local functions
#ifdef IS_32
#define CMFAR
#else
#define CMFAR _far
#endif
#else // Not_VxD
#define CMFAR
#endif // Not_VxD
#ifdef IS_32
typedef DWORD RETURN_TYPE;
#else // IS_32
typedef WORD RETURN_TYPE;
#endif // IS_32
#define CONFIGMG_Service Declare_Service
/*XLATON*/
/*MACROS*/
Begin_Service_Table(CONFIGMG, VxD)
CONFIGMG_Service (_CONFIGMG_Get_Version, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Initialize, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Locate_DevNode, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Parent, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Child, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Sibling, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Device_ID_Size, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Device_ID, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Depth, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Private_DWord, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Set_Private_DWord, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Create_DevNode, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Query_Remove_SubTree, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Remove_SubTree, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Register_Device_Driver, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Register_Enumerator, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Register_Arbitrator, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Deregister_Arbitrator, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Query_Arbitrator_Free_Size, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Query_Arbitrator_Free_Data, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Sort_NodeList, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Yield, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Lock, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Unlock, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Add_Empty_Log_Conf, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Free_Log_Conf, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_First_Log_Conf, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Next_Log_Conf, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Add_Res_Des, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Modify_Res_Des, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Free_Res_Des, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Next_Res_Des, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Performance_Info, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Res_Des_Data_Size, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Res_Des_Data, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Process_Events_Now, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Create_Range_List, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Add_Range, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Delete_Range, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Test_Range_Available, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Dup_Range_List, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Free_Range_List, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Invert_Range_List, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Intersect_Range_List, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_First_Range, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Next_Range, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Dump_Range_List, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Load_DLVxDs, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_DDBs, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_CRC_CheckSum, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Register_DevLoader, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Reenumerate_DevNode, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Setup_DevNode, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Reset_Children_Marks, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_DevNode_Status, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Remove_Unmarked_Children, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_ISAPNP_To_CM, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_CallBack_Device_Driver, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_CallBack_Enumerator, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Alloc_Log_Conf, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_DevNode_Key_Size, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_DevNode_Key, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Read_Registry_Value, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Write_Registry_Value, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Disable_DevNode, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Enable_DevNode, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Move_DevNode, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Set_Bus_Info, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Bus_Info, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Set_HW_Prof, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Recompute_HW_Prof, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Query_Change_HW_Prof, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Device_Driver_Private_DWord, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Set_Device_Driver_Private_DWord, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_HW_Prof_Flags, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Set_HW_Prof_Flags, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Read_Registry_Log_Confs, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Run_Detection, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Call_At_Appy_Time, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Fail_Change_HW_Prof, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Set_Private_Problem, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Debug_DevNode, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Hardware_Profile_Info, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Register_Enumerator_Function, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Call_Enumerator_Function, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Add_ID, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Find_Range, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Global_State, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Broadcast_Device_Change_Message, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Call_DevNode_Handler, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Remove_Reinsert_All, VxD_CODE)
//
// 4.0 OPK2 Services
//
CONFIGMG_Service (_CONFIGMG_Change_DevNode_Status, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Reprocess_DevNode, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Assert_Structure, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Discard_Boot_Log_Conf, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Set_Dependent_DevNode, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Dependent_DevNode, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Refilter_DevNode, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Merge_Range_List, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Substract_Range_List, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Set_DevNode_PowerState, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_DevNode_PowerState, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Set_DevNode_PowerCapabilities, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_DevNode_PowerCapabilities, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Read_Range_List, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Write_Range_List, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Set_Log_Conf_Priority, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Support_Share_Irq, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Parent_Structure, VxD_CODE)
//
// 4.1 Services
//
CONFIGMG_Service (_CONFIGMG_Register_DevNode_For_Idle_Detection, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_CM_To_ISAPNP, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_DevNode_Handler, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Detect_Resource_Conflict, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Device_Interface_List, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Device_Interface_List_Size, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Conflict_Info, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Add_Remove_DevNode_Property, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_CallBack_At_Appy_Time, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Register_Device_Interface, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_System_Device_Power_State_Mapping, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Arbitrator_Info, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Waking_Up_From_DevNode, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Set_DevNode_Problem, VxD_CODE)
CONFIGMG_Service (_CONFIGMG_Get_Device_Interface_Alias, VxD_CODE)
//
// 4.11 Services
//
CONFIGMG_Service (_CONFIGMG_Request_Device_Ejection, VxD_CODE)
End_Service_Table(CONFIGMG, VxD)
/*ENDMACROS*/
/*XLATOFF*/
#define NUM_CM_SERVICES ((WORD)(Num_CONFIGMG_Services & 0xFFFF))
#define DEBUG_SERVICE_NAMES \
char CMFAR *lpszServiceName[NUM_CM_SERVICES]= \
{ \
"_CONFIGMG_Get_Version", \
"_CONFIGMG_Initialize", \
"_CONFIGMG_Locate_DevNode", \
"_CONFIGMG_Get_Parent", \
"_CONFIGMG_Get_Child", \
"_CONFIGMG_Get_Sibling", \
"_CONFIGMG_Get_Device_ID_Size", \
"_CONFIGMG_Get_Device_ID", \
"_CONFIGMG_Get_Depth", \
"_CONFIGMG_Get_Private_DWord", \
"_CONFIGMG_Set_Private_DWord", \
"_CONFIGMG_Create_DevNode", \
"_CONFIGMG_Query_Remove_SubTree", \
"_CONFIGMG_Remove_SubTree", \
"_CONFIGMG_Register_Device_Driver", \
"_CONFIGMG_Register_Enumerator", \
"_CONFIGMG_Register_Arbitrator", \
"_CONFIGMG_Deregister_Arbitrator", \
"_CONFIGMG_Query_Arbitrator_Free_Size", \
"_CONFIGMG_Query_Arbitrator_Free_Data", \
"_CONFIGMG_Sort_NodeList", \
"_CONFIGMG_Yield", \
"_CONFIGMG_Lock", \
"_CONFIGMG_Unlock", \
"_CONFIGMG_Add_Empty_Log_Conf", \
"_CONFIGMG_Free_Log_Conf", \
"_CONFIGMG_Get_First_Log_Conf", \
"_CONFIGMG_Get_Next_Log_Conf", \
"_CONFIGMG_Add_Res_Des", \
"_CONFIGMG_Modify_Res_Des", \
"_CONFIGMG_Free_Res_Des", \
"_CONFIGMG_Get_Next_Res_Des", \
"_CONFIGMG_Get_Performance_Info", \
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?