#devi *status:&ret:ID

**************************************************************
#1：status 各位意义：
**************************************************************
SET &DN_ROOT_ENUMERATED=0x00000001  // Was enumerated by ROOT
SET &DN_DRIVER_LOADED=0x00000002  // Has Register_Device_Driver
SET &DN_ENUM_LOADED=0x00000004  // Has Register_Enumerator
SET &DN_STARTED=0x00000008  // Is currently configured
SET &DN_MANUAL=0x00000010  // Manually installed
SET &DN_NEED_TO_ENUM=0x00000020  // May need reenumeration
SET &DN_NOT_FIRST_TIME=0x00000040  // Has received a config
SET &DN_HARDWARE_ENUM=0x00000080  // Enum generates hardware ID
SET &DN_LIAR=0x00000100  // Lied about can reconfig once
SET &DN_HAS_MARK=0x00000200  // Not CM_Create_DevInst lately
SET &DN_HAS_PROBLEM=0x00000400  // Need device installer
SET &DN_FILTERED=0x00000800  // Is filtered
SET &DN_MOVED=0x00001000  // Has been moved
SET &DN_DISABLEABLE=0x00002000  // Can be disabled
SET &DN_REMOVABLE=0x00004000  // Can be removed
SET &DN_PRIVATE_PROBLEM=0x00008000  // Has a private problem
SET &DN_MF_PARENT=0x00010000  // Multi function parent
SET &DN_MF_CHILD=0x00020000  // Multi function child
SET &DN_WILL_BE_REMOVED=0x00040000  // DevInst is being removed

//
// Windows 4 OPK2 Flags
//
SET &DN_NOT_FIRST_TIMEE=0x00080000  // S: Has received a config enumerate
SET &DN_STOP_FREE_RES=0x00100000  // S: When child is stopped, free resources
SET &DN_REBAL_CANDIDATE=0x00200000  // S: Don't skip during rebalance
SET &DN_BAD_PARTIAL=0x00400000  // S: This devnode's log_confs do not have same resources
SET &DN_NT_ENUMERATOR=0x00800000  // S: This devnode's is an NT enumerator
SET &DN_NT_DRIVER=0x01000000  // S: This devnode's is an NT driver
//
// Windows 4.1 Flags
//
SET &DN_NEEDS_LOCKING=0x02000000  // S: Devnode need lock resume processing
SET &DN_ARM_WAKEUP=0x04000000  // S: Devnode can be the wakeup device
SET &DN_APM_ENUMERATOR=0x08000000  // S: APM aware enumerator
SET &DN_APM_DRIVER=0x10000000  // S: APM aware driver
SET &DN_SILENT_INSTALL=0x20000000  // S: Silent install
SET &DN_NO_SHOW_IN_DM=0x40000000  // S: No show in device manager
SET &DN_BOOT_LOG_PROB=0x80000000  // S: Had a problem during preassignment of boot log conf

//
// Windows NT Flags
//
// These are overloaded on top of unused Win 9X flags
//
//SET &DN_LIAR=0x00000100             // Lied about can reconfig once

SET &DN_NEED_RESTART=%&DN_LIAR%                 // System needs to be restarted for this Devnode to work properly
SET &DN_DRIVER_BLOCKED=%&DN_NOT_FIRST_TIME%       // One or more drivers are blocked from loading for this Devnode
SET &DN_LEGACY_DRIVER=%&DN_MOVED%                // This device is using a legacy driver
SET &DN_CHILD_WITH_INVALID_ID=%&DN_HAS_MARK%             // One or more children have invalid ID(s)


SET &DN_NEED_RESTART=0x00000100              // System needs to be restarted for this Devnode to work properly


//CALC #&DN_CHANGEABLE_FLAGS=DN_NOT_FIRST_TIME+\
//                DN_HARDWARE_ENUM+\
//                DN_HAS_MARK+\
//                DN_DISABLEABLE+\
//                DN_REMOVABLE+\
//                DN_MF_CHILD+\
//                DN_MF_PARENT+\
//                DN_NOT_FIRST_TIMEE+\
//                DN_STOP_FREE_RES+\
//                DN_REBAL_CANDIDATE+\
//                DN_NT_ENUMERATOR+\
//                DN_NT_DRIVER+\
//                DN_SILENT_INSTALL+\
//                DN_NO_SHOW_IN_DM)





**************************************************************
#2：PROBLEM 各值意义：
**************************************************************
SET &CM_PROB_NOT_CONFIGURED=0x00000001    // no config for device
SET &CM_PROB_DEVLOADER_FAILED=0x00000002    // service load failed
SET &CM_PROB_OUT_OF_MEMORY=0x00000003    // out of memory
SET &CM_PROB_ENTRY_IS_WRONG_TYPE=0x00000004    //
SET &CM_PROB_LACKED_ARBITRATOR=0x00000005    //
SET &CM_PROB_BOOT_CONFIG_CONFLICT=0x00000006    // boot config conflict
SET &CM_PROB_FAILED_FILTER=0x00000007    //
SET &CM_PROB_DEVLOADER_NOT_FOUND=0x00000008    // Devloader not found
SET &CM_PROB_INVALID_DATA=0x00000009    // Invalid ID
SET &CM_PROB_FAILED_START=0x0000000A    //
SET &CM_PROB_LIAR=0x0000000B    //
SET &CM_PROB_NORMAL_CONFLICT=0x0000000C    // config conflict
SET &CM_PROB_NOT_VERIFIED=0x0000000D    //
SET &CM_PROB_NEED_RESTART=0x0000000E    // requires restart
SET &CM_PROB_REENUMERATION=0x0000000F    //
SET &CM_PROB_PARTIAL_LOG_CONF=0x00000010    //
SET &CM_PROB_UNKNOWN_RESOURCE=0x00000011    // unknown res type
SET &CM_PROB_REINSTALL=0x00000012    //
SET &CM_PROB_REGISTRY=0x00000013    //
SET &CM_PROB_VXDLDR=0x00000014    // WINDOWS 95 ONLY
SET &CM_PROB_WILL_BE_REMOVED=0x00000015    // devinst will remove
SET &CM_PROB_DISABLED=0x00000016    // devinst is disabled
SET &CM_PROB_DEVLOADER_NOT_READY=0x00000017    // Devloader not ready
SET &CM_PROB_DEVICE_NOT_THERE=0x00000018    // device doesn't exist
SET &CM_PROB_MOVED=0x00000019    //
SET &CM_PROB_TOO_EARLY=0x0000001A    //
SET &CM_PROB_NO_VALID_LOG_CONF=0x0000001B    // no valid log config
SET &CM_PROB_FAILED_INSTALL=0x0000001C    // install failed
SET &CM_PROB_HARDWARE_DISABLED=0x0000001D    // device disabled
SET &CM_PROB_CANT_SHARE_IRQ=0x0000001E    // can't share IRQ
SET &CM_PROB_FAILED_ADD=0x0000001F    // driver failed add
SET &CM_PROB_DISABLED_SERVICE=0x00000020    // service's Start = 4
SET &CM_PROB_TRANSLATION_FAILED=0x00000021    // resource translation failed
SET &CM_PROB_NO_SOFTCONFIG=0x00000022    // no soft config
SET &CM_PROB_BIOS_TABLE=0x00000023    // device missing in BIOS table
SET &CM_PROB_IRQ_TRANSLATION_FAILED=0x00000024    // IRQ translator failed
SET &CM_PROB_FAILED_DRIVER_ENTRY=0x00000025    // DriverEntry() failed.
SET &CM_PROB_DRIVER_FAILED_PRIOR_UNLOAD=0x00000026    // Driver should have unloaded.
SET &CM_PROB_DRIVER_FAILED_LOAD=0x00000027    // Driver load unsuccessful.
SET &CM_PROB_DRIVER_SERVICE_KEY_INVALID=0x00000028    // Error accessing driver's service key
SET &CM_PROB_LEGACY_SERVICE_NO_DEVICES=0x00000029    // Loaded legacy service created no devices
SET &CM_PROB_DUPLICATE_DEVICE=0x0000002A    // Two devices were discovered with the same name
SET &CM_PROB_FAILED_POST_START=0x0000002B    // The drivers set the device state to failed
SET &CM_PROB_HALTED=0x0000002C    // This device was failed post start via usermode
SET &CM_PROB_PHANTOM=0x0000002D    // The devinst currently exists only in the registry
SET &CM_PROB_SYSTEM_SHUTDOWN=0x0000002E    // The system is shutting down
SET &CM_PROB_HELD_FOR_EJECT=0x0000002F    // The device is offline awaiting removal
SET &CM_PROB_DRIVER_BLOCKED=0x00000030    // One or more drivers is blocked from loading
SET &CM_PROB_REGISTRY_TOO_LARGE=0x00000031    // System hive has grown too large
SET &CM_PROB_SETPROPERTIES_FAILED=0x00000032    // Failed to apply one or more registry properties  
SET &CM_PROB_WAITING_ON_DEPENDENCY=0x00000033    // Device is stalled waiting on a dependency to start
SET &CM_PROB_UNSIGNED_DRIVER=0x00000034    // Failed load driver due to unsigned image.   


