1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421 |
- /*++
- Copyright (c) Microsoft Corporation. All rights reserved.
- Module Name:
- cfgmgr32.h
- Abstract:
- This module contains the user APIs for the Configuration Manager,
- along with any public data structures needed to call these APIs.
- --*/
- #ifndef _CFGMGR32_H_
- #define _CFGMGR32_H_
- #if _MSC_VER > 1000
- #pragma once
- #endif
- #include <cfg.h>
- #ifndef GUID_DEFINED
- #include <guiddef.h>
- #endif /* GUID_DEFINED */
- #ifdef __cplusplus
- extern "C" {
- #endif
- #if !defined (_CFGMGR32_)
- #define CMAPI DECLSPEC_IMPORT
- #else
- #define CMAPI
- #endif
- typedef CONST VOID *PCVOID;
- //--------------------------------------------------------------
- // General size definitions
- //--------------------------------------------------------------
- #define MAX_DEVICE_ID_LEN 200
- #define MAX_DEVNODE_ID_LEN MAX_DEVICE_ID_LEN
- #define MAX_GUID_STRING_LEN 39 // 38 chars + terminator null
- #define MAX_CLASS_NAME_LEN 32
- #define MAX_PROFILE_LEN 80
- #define MAX_CONFIG_VALUE 9999
- #define MAX_INSTANCE_VALUE 9999
- #define MAX_MEM_REGISTERS 9 // Win95 compatibility--not applicable to 32-bit ConfigMgr
- #define MAX_IO_PORTS 20 // Win95 compatibility--not applicable to 32-bit ConfigMgr
- #define MAX_IRQS 7 // Win95 compatibility--not applicable to 32-bit ConfigMgr
- #define MAX_DMA_CHANNELS 7 // Win95 compatibility--not applicable to 32-bit ConfigMgr
- #define DWORD_MAX 0xFFFFFFFF
- #define DWORDLONG_MAX 0xFFFFFFFFFFFFFFFF
- #define CONFIGMG_VERSION 0x0400
- //--------------------------------------------------------------
- // Data types
- //--------------------------------------------------------------
- //
- // Work around weirdness with Win32 typedef...
- //
- #ifdef NT_INCLUDED
- //
- // __int64 is only supported by 2.0 and later midl.
- // __midl is set by the 2.0 midl and not by 1.0 midl.
- //
- #if (!defined(MIDL_PASS) || defined(__midl)) && (!defined(_M_IX86) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64))
- typedef unsigned __int64 DWORDLONG;
- #else
- typedef double DWORDLONG;
- #endif
- typedef DWORDLONG *PDWORDLONG;
- #endif /* NT_INCLUDED */
- //
- // Standardized Return Value data type
- //
- typedef DWORD RETURN_TYPE;
- typedef RETURN_TYPE CONFIGRET;
- //
- // Device Instance Handle data type
- //
- typedef DWORD DEVNODE, DEVINST;
- typedef DEVNODE *PDEVNODE, *PDEVINST;
- //
- // Device Instance Identifier data type
- // The device instance ID specifies the registry path, relative to the
- // Enum key , for a device instance. For example: \Root\*PNP0500\0000.
- //
- typedef CHAR *DEVNODEID_A, *DEVINSTID_A; // Device ID ANSI name.
- typedef WCHAR *DEVNODEID_W, *DEVINSTID_W; // Device ID Unicode name.
- #ifdef UNICODE
- typedef DEVNODEID_W DEVNODEID;
- typedef DEVINSTID_W DEVINSTID;
- #else
- typedef DEVNODEID_A DEVNODEID;
- typedef DEVINSTID_A DEVINSTID;
- #endif
- //
- // Logical Configuration Handle data type
- //
- typedef DWORD_PTR LOG_CONF;
- typedef LOG_CONF *PLOG_CONF;
- //
- // Resource Descriptor Handle data type
- //
- typedef DWORD_PTR RES_DES;
- typedef RES_DES *PRES_DES;
- //
- // Resource ID data type (may take any of the ResType_* values)
- //
- typedef ULONG RESOURCEID;
- typedef RESOURCEID *PRESOURCEID;
- //
- // Priority data type (may take any of the LCPRI_* values)
- //
- typedef ULONG PRIORITY;
- typedef PRIORITY *PPRIORITY;
- //
- // Range List Handle data type
- //
- typedef DWORD_PTR RANGE_LIST;
- typedef RANGE_LIST *PRANGE_LIST;
- //
- // Range Element Handle data type
- //
- typedef DWORD_PTR RANGE_ELEMENT;
- typedef RANGE_ELEMENT *PRANGE_ELEMENT;
- //
- // Machine Handle data type
- //
- typedef HANDLE HMACHINE;
- typedef HMACHINE *PHMACHINE;
- //
- // Conflict List data types
- //
- typedef ULONG_PTR CONFLICT_LIST;
- typedef CONFLICT_LIST *PCONFLICT_LIST;
- typedef struct _CONFLICT_DETAILS_A {
- ULONG CD_ulSize; // size of structure, ie: sizeof(CONFLICT_DETAILS)
- ULONG CD_ulMask; // indicates what information is required/valid
- DEVINST CD_dnDevInst; // filled with DevInst of conflicting device if CM_CDMASK_DEVINST set
- RES_DES CD_rdResDes; // filled with a ResDes of conflict if CM_CDMASK_RESDES set
- ULONG CD_ulFlags; // various flags regarding conflict
- CHAR CD_szDescription[MAX_PATH]; // description of conflicting device
- } CONFLICT_DETAILS_A , *PCONFLICT_DETAILS_A;
- typedef struct _CONFLICT_DETAILS_W {
- ULONG CD_ulSize; // size of structure, ie: sizeof(CONFLICT_DETAILS)
- ULONG CD_ulMask; // indicates what information is required/valid
- DEVINST CD_dnDevInst; // filled with DevInst of conflicting device if CM_CDMASK_DEVINST set
- RES_DES CD_rdResDes; // filled with a ResDes of conflict if CM_CDMASK_RESDES set
- ULONG CD_ulFlags; // various flags regarding conflict
- WCHAR CD_szDescription[MAX_PATH]; // description of conflicting device
- } CONFLICT_DETAILS_W , *PCONFLICT_DETAILS_W;
- #ifdef UNICODE
- typedef CONFLICT_DETAILS_W CONFLICT_DETAILS;
- typedef PCONFLICT_DETAILS_W PCONFLICT_DETAILS;
- #else
- typedef CONFLICT_DETAILS_A CONFLICT_DETAILS;
- typedef PCONFLICT_DETAILS_A PCONFLICT_DETAILS;
- #endif
- #define CM_CDMASK_DEVINST (0x00000001) // mask to retrieve CD_dnDevInst attribute for conflict
- #define CM_CDMASK_RESDES (0x00000002) // mask to retrieve CD_rdResDes attribute for conflict
- #define CM_CDMASK_FLAGS (0x00000004) // mask to retrieve CD_ulFlags attribute for conflict
- #define CM_CDMASK_DESCRIPTION (0x00000008) // mask to retrieve CD_szDescription attribute for conflict
- #define CM_CDMASK_VALID (0x0000000F) // valid bits
- #define CM_CDFLAGS_DRIVER (0x00000001) // CD_ulFlags: CD_szDescription reports back legacy driver name
- #define CM_CDFLAGS_ROOT_OWNED (0x00000002) // CD_ulFlags: Root owned device
- #define CM_CDFLAGS_RESERVED (0x00000004) // CD_ulFlags: Specified range is not available for use
- typedef ULONG REGDISPOSITION;
- //
- // use 1 byte packing for the data structures
- //
- #include "pshpack1.h"
- //--------------------------------------------------------------
- // Memory resource
- //--------------------------------------------------------------
- //
- // Define the attribute flags for memory ranges. Each bit flag is
- // identified by a constant bitmask. Following the bitmask definition,
- // are the two possible values.
- //
- #define mMD_MemoryType (0x1) // Bitmask, whether memory is writable
- #define fMD_MemoryType mMD_MemoryType // compatibility
- #define fMD_ROM (0x0) // Memory range is read-only
- #define fMD_RAM (0x1) // Memory range may be written to
- #define mMD_32_24 (0x2) // Bitmask, memory is 24 or 32-bit
- #define fMD_32_24 mMD_32_24 // compatibility
- #define fMD_24 (0x0) // Memory range is 24-bit
- #define fMD_32 (0x2) // Memory range is 32-bit
- #define mMD_Prefetchable (0x4) // Bitmask,whether memory prefetchable
- #define fMD_Prefetchable mMD_Prefetchable // compatibility
- #define fMD_Pref mMD_Prefetchable // compatibility
- #define fMD_PrefetchDisallowed (0x0) // Memory range is not prefetchable
- #define fMD_PrefetchAllowed (0x4) // Memory range is prefetchable
- #define mMD_Readable (0x8) // Bitmask,whether memory is readable
- #define fMD_Readable mMD_Readable // compatibility
- #define fMD_ReadAllowed (0x0) // Memory range is readable
- #define fMD_ReadDisallowed (0x8) // Memory range is write-only
- #define mMD_CombinedWrite (0x10) // Bitmask,supports write-behind
- #define fMD_CombinedWrite mMD_CombinedWrite // compatibility
- #define fMD_CombinedWriteDisallowed (0x0) // no combined-write caching
- #define fMD_CombinedWriteAllowed (0x10) // supports combined-write caching
- #define mMD_Cacheable (0x20) // Bitmask,whether memory is cacheable
- #define fMD_NonCacheable (0x0) // Memory range is non-cacheable
- #define fMD_Cacheable (0x20) // Memory range is cacheable
- //
- // MEM_RANGE Structure
- //
- typedef struct Mem_Range_s {
- DWORDLONG MR_Align; // specifies mask for base alignment
- ULONG MR_nBytes; // specifies number of bytes required
- DWORDLONG MR_Min; // specifies minimum address of the range
- DWORDLONG MR_Max; // specifies maximum address of the range
- DWORD MR_Flags; // specifies flags describing range (fMD flags)
- DWORD MR_Reserved;
- } MEM_RANGE, *PMEM_RANGE;
- //
- // MEM_DES structure
- //
- typedef struct Mem_Des_s {
- DWORD MD_Count; // number of MEM_RANGE structs in MEM_RESOURCE
- DWORD MD_Type; // size (in bytes) of MEM_RANGE (MType_Range)
- DWORDLONG MD_Alloc_Base; // base memory address of range allocated
- DWORDLONG MD_Alloc_End; // end of allocated range
- DWORD MD_Flags; // flags describing allocated range (fMD flags)
- DWORD MD_Reserved;
- } MEM_DES, *PMEM_DES;
- //
- // MEM_RESOURCE structure
- //
- typedef struct Mem_Resource_s {
- MEM_DES MEM_Header; // info about memory range list
- MEM_RANGE MEM_Data[ANYSIZE_ARRAY]; // list of memory ranges
- } MEM_RESOURCE, *PMEM_RESOURCE;
- //
- // Define the size of each range structure
- //
- #define MType_Range sizeof(struct Mem_Range_s)
- //--------------------------------------------------------------
- // I/O Port Resource
- //--------------------------------------------------------------
- //
- // Define the attribute flags for port resources. Each bit flag is
- // identified by a constant bitmask. Following the bitmask definition,
- // are the two possible values.
- //
- #define fIOD_PortType (0x1) // Bitmask,whether port is IO or memory
- #define fIOD_Memory (0x0) // Port resource really uses memory
- #define fIOD_IO (0x1) // Port resource uses IO ports
- #define fIOD_DECODE (0x00fc) // decode flags
- #define fIOD_10_BIT_DECODE (0x0004)
- #define fIOD_12_BIT_DECODE (0x0008)
- #define fIOD_16_BIT_DECODE (0x0010)
- #define fIOD_POSITIVE_DECODE (0x0020)
- #define fIOD_PASSIVE_DECODE (0x0040)
- #define fIOD_WINDOW_DECODE (0x0080)
- //
- // these are for compatiblity
- //
- #define IO_ALIAS_10_BIT_DECODE (0x00000004)
- #define IO_ALIAS_12_BIT_DECODE (0x00000010)
- #define IO_ALIAS_16_BIT_DECODE (0x00000000)
- #define IO_ALIAS_POSITIVE_DECODE (0x000000FF)
- //
- // IO_RANGE structure
- //
- typedef struct IO_Range_s {
- DWORDLONG IOR_Align; // mask for base alignment
- DWORD IOR_nPorts; // number of ports
- DWORDLONG IOR_Min; // minimum port address
- DWORDLONG IOR_Max; // maximum port address
- DWORD IOR_RangeFlags; // flags for this port range
- DWORDLONG IOR_Alias; // multiplier that generates aliases for port(s)
- } IO_RANGE, *PIO_RANGE;
- //
- // IO_DES structure
- //
- typedef struct IO_Des_s {
- DWORD IOD_Count; // number of IO_RANGE structs in IO_RESOURCE
- DWORD IOD_Type; // size (in bytes) of IO_RANGE (IOType_Range)
- DWORDLONG IOD_Alloc_Base; // base of allocated port range
- DWORDLONG IOD_Alloc_End; // end of allocated port range
- DWORD IOD_DesFlags; // flags relating to allocated port range
- } IO_DES, *PIO_DES;
- //
- // IO_RESOURCE
- //
- typedef struct IO_Resource_s {
- IO_DES IO_Header; // info about I/O port range list
- IO_RANGE IO_Data[ANYSIZE_ARRAY]; // list of I/O port ranges
- } IO_RESOURCE, *PIO_RESOURCE;
- #define IOA_Local 0xff
- //
- // Define the size of each range structure
- //
- #define IOType_Range sizeof(struct IO_Range_s)
- //--------------------------------------------------------------
- // DMA Resource
- //--------------------------------------------------------------
- //
- // Define the attribute flags for a DMA resource range. Each bit flag is
- // identified with a constant bitmask. Following the bitmask definition
- // are the possible values.
- //
- #define mDD_Width (0x3) // Bitmask, width of the DMA channel:
- #define fDD_BYTE (0x0) // 8-bit DMA channel
- #define fDD_WORD (0x1) // 16-bit DMA channel
- #define fDD_DWORD (0x2) // 32-bit DMA channel
- #define fDD_BYTE_AND_WORD (0x3) // 8-bit and 16-bit DMA channel
- #define mDD_BusMaster (0x4) // Bitmask, whether bus mastering is supported
- #define fDD_NoBusMaster (0x0) // no bus mastering
- #define fDD_BusMaster (0x4) // bus mastering
- #define mDD_Type (0x18) // Bitmask, specifies type of DMA
- #define fDD_TypeStandard (0x00) // standard DMA
- #define fDD_TypeA (0x08) // Type-A DMA
- #define fDD_TypeB (0x10) // Type-B DMA
- #define fDD_TypeF (0x18) // Type-F DMA
- //
- // DMA_RANGE structure
- //
- typedef struct DMA_Range_s {
- ULONG DR_Min; // minimum DMA port in the range
- ULONG DR_Max; // maximum DMA port in the range
- ULONG DR_Flags; // flags describing the range (fDD flags)
- } DMA_RANGE, *PDMA_RANGE;
- //
- // DMA_DES structure
- //
- typedef struct DMA_Des_s {
- DWORD DD_Count; // number of DMA_RANGE structs in DMA_RESOURCE
- DWORD DD_Type; // size (in bytes) of DMA_RANGE struct (DType_Range)
- DWORD DD_Flags; // Flags describing DMA channel (fDD flags)
- ULONG DD_Alloc_Chan; // Specifies the DMA channel that was allocated
- } DMA_DES, *PDMA_DES;
- //
- // DMA_RESOURCE
- //
- typedef struct DMA_Resource_s {
- DMA_DES DMA_Header; // info about DMA channel range list
- DMA_RANGE DMA_Data[ANYSIZE_ARRAY]; // list of DMA ranges
- } DMA_RESOURCE, *PDMA_RESOURCE;
- //
- // Define the size of each range structure
- //
- #define DType_Range sizeof(struct DMA_Range_s)
- //--------------------------------------------------------------
- // Interrupt Resource
- //--------------------------------------------------------------
- //
- // Define the attribute flags for an interrupt resource range. Each bit flag
- // is identified with a constant bitmask. Following the bitmask definition
- // are the possible values.
- //
- #define mIRQD_Share (0x1) // Bitmask,whether the IRQ may be shared:
- #define fIRQD_Exclusive (0x0) // The IRQ may not be shared
- #define fIRQD_Share (0x1) // The IRQ may be shared
- #define fIRQD_Share_Bit 0 // compatibility
- #define fIRQD_Level_Bit 1 // compatibility
- //
- // ** NOTE: 16-bit ConfigMgr uses fIRQD_Level_Bit being set to indicate that the
- // ** interrupt is _level-sensitive_. For 32-bit ConfigMgr, if this bit is set,
- // ** then the interrupt is _edge-sensitive_.
- //
- #define mIRQD_Edge_Level (0x2) // Bitmask,whether edge or level triggered:
- #define fIRQD_Level (0x0) // The IRQ is level-sensitive
- #define fIRQD_Edge (0x2) // The IRQ is edge-sensitive
- //
- // IRQ_RANGE
- //
- typedef struct IRQ_Range_s {
- ULONG IRQR_Min; // minimum IRQ in the range
- ULONG IRQR_Max; // maximum IRQ in the range
- ULONG IRQR_Flags; // flags describing the range (fIRQD flags)
- } IRQ_RANGE, *PIRQ_RANGE;
- //
- // IRQ_DES structure
- //
- typedef struct IRQ_Des_32_s {
- DWORD IRQD_Count; // number of IRQ_RANGE structs in IRQ_RESOURCE
- DWORD IRQD_Type; // size (in bytes) of IRQ_RANGE (IRQType_Range)
- DWORD IRQD_Flags; // flags describing the IRQ (fIRQD flags)
- ULONG IRQD_Alloc_Num; // specifies the IRQ that was allocated
- ULONG32 IRQD_Affinity;
- } IRQ_DES_32, *PIRQ_DES_32;
- typedef struct IRQ_Des_64_s {
- DWORD IRQD_Count; // number of IRQ_RANGE structs in IRQ_RESOURCE
- DWORD IRQD_Type; // size (in bytes) of IRQ_RANGE (IRQType_Range)
- DWORD IRQD_Flags; // flags describing the IRQ (fIRQD flags)
- ULONG IRQD_Alloc_Num; // specifies the IRQ that was allocated
- ULONG64 IRQD_Affinity;
- } IRQ_DES_64, *PIRQ_DES_64;
- #ifdef _WIN64
- typedef IRQ_DES_64 IRQ_DES;
- typedef PIRQ_DES_64 PIRQ_DES;
- #else
- typedef IRQ_DES_32 IRQ_DES;
- typedef PIRQ_DES_32 PIRQ_DES;
- #endif
- //
- // IRQ_RESOURCE structure
- //
- typedef struct IRQ_Resource_32_s {
- IRQ_DES_32 IRQ_Header; // info about IRQ range list
- IRQ_RANGE IRQ_Data[ANYSIZE_ARRAY]; // list of IRQ ranges
- } IRQ_RESOURCE_32, *PIRQ_RESOURCE_32;
- typedef struct IRQ_Resource_64_s {
- IRQ_DES_64 IRQ_Header; // info about IRQ range list
- IRQ_RANGE IRQ_Data[ANYSIZE_ARRAY]; // list of IRQ ranges
- } IRQ_RESOURCE_64, *PIRQ_RESOURCE_64;
- #ifdef _WIN64
- typedef IRQ_RESOURCE_64 IRQ_RESOURCE;
- typedef PIRQ_RESOURCE_64 PIRQ_RESOURCE;
- #else
- typedef IRQ_RESOURCE_32 IRQ_RESOURCE;
- typedef PIRQ_RESOURCE_32 PIRQ_RESOURCE;
- #endif
- //
- // Define the size of each range structure
- //
- #define IRQType_Range sizeof(struct IRQ_Range_s)
- //
- // Flags for resource descriptor APIs indicating the width of certain
- // variable-size resource descriptor structure fields, where applicable.
- //
- #define CM_RESDES_WIDTH_DEFAULT (0x00000000) // 32 or 64-bit IRQ_RESOURCE / IRQ_DES, based on client
- #define CM_RESDES_WIDTH_32 (0x00000001) // 32-bit IRQ_RESOURCE / IRQ_DES
- #define CM_RESDES_WIDTH_64 (0x00000002) // 64-bit IRQ_RESOURCE / IRQ_DES
- #define CM_RESDES_WIDTH_BITS (0x00000003)
- //--------------------------------------------------------------
- // Device Private Resource
- //--------------------------------------------------------------
- //
- // DEVICEPRIVATE_RANGE structure
- //
- typedef struct DevPrivate_Range_s {
- DWORD PR_Data1; // mask for base alignment
- DWORD PR_Data2; // number of bytes
- DWORD PR_Data3; // minimum address
- } DEVPRIVATE_RANGE, *PDEVPRIVATE_RANGE;
- //
- // DEVPRIVATE_DES structure
- //
- typedef struct DevPrivate_Des_s {
- DWORD PD_Count;
- DWORD PD_Type;
- DWORD PD_Data1;
- DWORD PD_Data2;
- DWORD PD_Data3;
- DWORD PD_Flags;
- } DEVPRIVATE_DES, *PDEVPRIVATE_DES;
- //
- // DEVPRIVATE_RESOURCE
- //
- typedef struct DevPrivate_Resource_s {
- DEVPRIVATE_DES PRV_Header;
- DEVPRIVATE_RANGE PRV_Data[ANYSIZE_ARRAY];
- } DEVPRIVATE_RESOURCE, *PDEVPRIVATE_RESOURCE;
- //
- // Define the size of each range structure
- //
- #define PType_Range sizeof(struct DevPrivate_Range_s)
- //--------------------------------------------------------------
- // Class-Specific Resource
- //--------------------------------------------------------------
- typedef struct CS_Des_s {
- DWORD CSD_SignatureLength;
- DWORD CSD_LegacyDataOffset;
- DWORD CSD_LegacyDataSize;
- DWORD CSD_Flags;
- GUID CSD_ClassGuid;
- BYTE CSD_Signature[ANYSIZE_ARRAY];
- } CS_DES, *PCS_DES;
- typedef struct CS_Resource_s {
- CS_DES CS_Header;
- } CS_RESOURCE, *PCS_RESOURCE;
- //--------------------------------------------------------------
- // PC Card Configuration Resource
- //--------------------------------------------------------------
- //
- // Define the attribute flags for a PC Card configuration resource descriptor.
- // Each bit flag is identified with a constant bitmask. Following the bitmask
- // definition are the possible values.
- //
- #define mPCD_IO_8_16 (0x1) // Bitmask, whether I/O is 8 or 16 bits
- #define fPCD_IO_8 (0x0) // I/O is 8-bit
- #define fPCD_IO_16 (0x1) // I/O is 16-bit
- #define mPCD_MEM_8_16 (0x2) // Bitmask, whether MEM is 8 or 16 bits
- #define fPCD_MEM_8 (0x0) // MEM is 8-bit
- #define fPCD_MEM_16 (0x2) // MEM is 16-bit
- #define mPCD_MEM_A_C (0xC) // Bitmask, whether MEMx is Attribute or Common
- #define fPCD_MEM1_A (0x4) // MEM1 is Attribute
- #define fPCD_MEM2_A (0x8) // MEM2 is Attribute
- #define fPCD_IO_ZW_8 (0x10) // zero wait on 8 bit I/O
- #define fPCD_IO_SRC_16 (0x20) // iosrc 16
- #define fPCD_IO_WS_16 (0x40) // wait states on 16 bit io
- #define mPCD_MEM_WS (0x300) // Bitmask, for additional wait states on memory windows
- #define fPCD_MEM_WS_ONE (0x100) // 1 wait state
- #define fPCD_MEM_WS_TWO (0x200) // 2 wait states
- #define fPCD_MEM_WS_THREE (0x300) // 3 wait states
- #define fPCD_MEM_A (0x4) // MEM is Attribute
- #define fPCD_ATTRIBUTES_PER_WINDOW (0x8000)
- #define fPCD_IO1_16 (0x00010000) // I/O window 1 is 16-bit
- #define fPCD_IO1_ZW_8 (0x00020000) // I/O window 1 zero wait on 8 bit I/O
- #define fPCD_IO1_SRC_16 (0x00040000) // I/O window 1 iosrc 16
- #define fPCD_IO1_WS_16 (0x00080000) // I/O window 1 wait states on 16 bit io
- #define fPCD_IO2_16 (0x00100000) // I/O window 2 is 16-bit
- #define fPCD_IO2_ZW_8 (0x00200000) // I/O window 2 zero wait on 8 bit I/O
- #define fPCD_IO2_SRC_16 (0x00400000) // I/O window 2 iosrc 16
- #define fPCD_IO2_WS_16 (0x00800000) // I/O window 2 wait states on 16 bit io
- #define mPCD_MEM1_WS (0x03000000) // MEM window 1 Bitmask, for additional wait states on memory windows
- #define fPCD_MEM1_WS_ONE (0x01000000) // MEM window 1, 1 wait state
- #define fPCD_MEM1_WS_TWO (0x02000000) // MEM window 1, 2 wait states
- #define fPCD_MEM1_WS_THREE (0x03000000) // MEM window 1, 3 wait states
- #define fPCD_MEM1_16 (0x04000000) // MEM window 1 is 16-bit
- #define mPCD_MEM2_WS (0x30000000) // MEM window 2 Bitmask, for additional wait states on memory windows
- #define fPCD_MEM2_WS_ONE (0x10000000) // MEM window 2, 1 wait state
- #define fPCD_MEM2_WS_TWO (0x20000000) // MEM window 2, 2 wait states
- #define fPCD_MEM2_WS_THREE (0x30000000) // MEM window 2, 3 wait states
- #define fPCD_MEM2_16 (0x40000000) // MEM window 2 is 16-bit
- #define PCD_MAX_MEMORY 2
- #define PCD_MAX_IO 2
- typedef struct PcCard_Des_s {
- DWORD PCD_Count;
- DWORD PCD_Type;
- DWORD PCD_Flags;
- BYTE PCD_ConfigIndex;
- BYTE PCD_Reserved[3];
- DWORD PCD_MemoryCardBase1;
- DWORD PCD_MemoryCardBase2;
- DWORD PCD_MemoryCardBase[PCD_MAX_MEMORY]; // will soon be removed
- WORD PCD_MemoryFlags[PCD_MAX_MEMORY]; // will soon be removed
- BYTE PCD_IoFlags[PCD_MAX_IO]; // will soon be removed
- } PCCARD_DES, *PPCCARD_DES;
- typedef struct PcCard_Resource_s {
- PCCARD_DES PcCard_Header;
- } PCCARD_RESOURCE, *PPCCARD_RESOURCE;
- //--------------------------------------------------------------
- // MF (multifunction) PCCard Configuration Resource
- //--------------------------------------------------------------
- #define mPMF_AUDIO_ENABLE (0x8) // Bitmask, whether audio is enabled or not
- #define fPMF_AUDIO_ENABLE (0x8) // Audio is enabled
- typedef struct MfCard_Des_s {
- DWORD PMF_Count;
- DWORD PMF_Type;
- DWORD PMF_Flags;
- BYTE PMF_ConfigOptions;
- BYTE PMF_IoResourceIndex;
- BYTE PMF_Reserved[2];
- DWORD PMF_ConfigRegisterBase;
- } MFCARD_DES, *PMFCARD_DES;
- typedef struct MfCard_Resource_s {
- MFCARD_DES MfCard_Header;
- } MFCARD_RESOURCE, *PMFCARD_RESOURCE;
- //--------------------------------------------------------------
- // Bus Number Resource
- //--------------------------------------------------------------
- //
- // Define the attribute flags for a Bus Number resource descriptor.
- // Each bit flag is identified with a constant bitmask. Following the bitmask
- // definition are the possible values.
- //
- // Currently unused.
- //
- //
- // BUSNUMBER_RANGE
- //
- typedef struct BusNumber_Range_s {
- ULONG BUSR_Min; // minimum Bus Number in the range
- ULONG BUSR_Max; // maximum Bus Number in the range
- ULONG BUSR_nBusNumbers; // specifies number of buses required
- ULONG BUSR_Flags; // flags describing the range (currently unused)
- } BUSNUMBER_RANGE, *PBUSNUMBER_RANGE;
- //
- // BUSNUMBER_DES structure
- //
- typedef struct BusNumber_Des_s {
- DWORD BUSD_Count; // number of BUSNUMBER_RANGE structs in BUSNUMBER_RESOURCE
- DWORD BUSD_Type; // size (in bytes) of BUSNUMBER_RANGE (BusNumberType_Range)
- DWORD BUSD_Flags; // flags describing the range (currently unused)
- ULONG BUSD_Alloc_Base; // specifies the first Bus that was allocated
- ULONG BUSD_Alloc_End; // specifies the last Bus number that was allocated
- } BUSNUMBER_DES, *PBUSNUMBER_DES;
- //
- // BUSNUMBER_RESOURCE structure
- //
- typedef struct BusNumber_Resource_s {
- BUSNUMBER_DES BusNumber_Header; // info about Bus Number range list
- BUSNUMBER_RANGE BusNumber_Data[ANYSIZE_ARRAY]; // list of Bus Number ranges
- } BUSNUMBER_RESOURCE, *PBUSNUMBER_RESOURCE;
- //
- // Define the size of each range structure
- //
- #define BusNumberType_Range sizeof(struct BusNumber_Range_s)
- //--------------------------------------------------------------
- // Hardware Profile Information
- //--------------------------------------------------------------
- //
- // Define flags relating to hardware profiles
- //
- #define CM_HWPI_NOT_DOCKABLE (0x00000000) // machine is not dockable
- #define CM_HWPI_UNDOCKED (0x00000001) // hw profile for docked config
- #define CM_HWPI_DOCKED (0x00000002) // hw profile for undocked config
- //
- // HWPROFILEINFO structure
- //
- typedef struct HWProfileInfo_sA {
- ULONG HWPI_ulHWProfile; // handle of hw profile
- CHAR HWPI_szFriendlyName[MAX_PROFILE_LEN]; // friendly name of hw profile
- DWORD HWPI_dwFlags; // profile flags (CM_HWPI_*)
- } HWPROFILEINFO_A, *PHWPROFILEINFO_A;
- typedef struct HWProfileInfo_sW {
- ULONG HWPI_ulHWProfile; // handle of hw profile
- WCHAR HWPI_szFriendlyName[MAX_PROFILE_LEN]; // friendly name of hw profile
- DWORD HWPI_dwFlags; // profile flags (CM_HWPI_*)
- } HWPROFILEINFO_W, *PHWPROFILEINFO_W;
- #ifdef UNICODE
- typedef HWPROFILEINFO_W HWPROFILEINFO;
- typedef PHWPROFILEINFO_W PHWPROFILEINFO;
- #else
- typedef HWPROFILEINFO_A HWPROFILEINFO;
- typedef PHWPROFILEINFO_A PHWPROFILEINFO;
- #endif
- //
- // revert back to normal default packing
- //
- #include "poppack.h"
- //--------------------------------------------------------------
- // Miscellaneous
- //--------------------------------------------------------------
- //
- // Resource types
- //
- #define ResType_All (0x00000000) // Return all resource types
- #define ResType_None (0x00000000) // Arbitration always succeeded
- #define ResType_Mem (0x00000001) // Physical address resource
- #define ResType_IO (0x00000002) // Physical I/O address resource
- #define ResType_DMA (0x00000003) // DMA channels resource
- #define ResType_IRQ (0x00000004) // IRQ resource
- #define ResType_DoNotUse (0x00000005) // Used as spacer to sync subsequent ResTypes w/NT
- #define ResType_BusNumber (0x00000006) // bus number resource
- #define ResType_MAX (0x00000006) // Maximum known (arbitrated) ResType
- #define ResType_Ignored_Bit (0x00008000) // Ignore this resource
- #define ResType_ClassSpecific (0x0000FFFF) // class-specific resource
- #define ResType_Reserved (0x00008000) // reserved for internal use
- #define ResType_DevicePrivate (0x00008001) // device private data
- #define ResType_PcCardConfig (0x00008002) // PC Card configuration data
- #define ResType_MfCardConfig (0x00008003) // MF Card configuration data
- //
- // Flags specifying options for ranges that conflict with ranges already in
- // the range list (CM_Add_Range)
- //
- #define CM_ADD_RANGE_ADDIFCONFLICT (0x00000000) // merg with conflicting range
- #define CM_ADD_RANGE_DONOTADDIFCONFLICT (0x00000001) // error if range conflicts
- #define CM_ADD_RANGE_BITS (0x00000001)
- //
- // Logical Config Flags (specified in call to CM_Get_First_Log_Conf
- //
- #define BASIC_LOG_CONF 0x00000000 // Specifies the req list.
- #define FILTERED_LOG_CONF 0x00000001 // Specifies the filtered req list.
- #define ALLOC_LOG_CONF 0x00000002 // Specifies the Alloc Element.
- #define BOOT_LOG_CONF 0x00000003 // Specifies the RM Alloc Element.
- #define FORCED_LOG_CONF 0x00000004 // Specifies the Forced Log Conf
- #define OVERRIDE_LOG_CONF 0x00000005 // Specifies the Override req list.
- #define NUM_LOG_CONF 0x00000006 // Number of Log Conf type
- #define LOG_CONF_BITS 0x00000007 // The bits of the log conf type.
- #define PRIORITY_EQUAL_FIRST (0x00000008) // Same priority, new one first
- #define PRIORITY_EQUAL_LAST (0x00000000) // Same priority, new one last
- #define PRIORITY_BIT (0x00000008)
- //
- // Registry disposition values
- // (specified in call to CM_Open_DevNode_Key and CM_Open_Class_Key)
- //
- #define RegDisposition_OpenAlways (0x00000000) // open if exists else create
- #define RegDisposition_OpenExisting (0x00000001) // open key only if exists
- #define RegDisposition_Bits (0x00000001)
- //
- // ulFlags values for CM API routines
- //
- //
- // Flags for CM_Add_ID
- //
- #define CM_ADD_ID_HARDWARE (0x00000000)
- #define CM_ADD_ID_COMPATIBLE (0x00000001)
- #define CM_ADD_ID_BITS (0x00000001)
- //
- // Device Node creation flags
- //
- #define CM_CREATE_DEVNODE_NORMAL (0x00000000) // install later
- #define CM_CREATE_DEVNODE_NO_WAIT_INSTALL (0x00000001) // NOT SUPPORTED ON NT
- #define CM_CREATE_DEVNODE_PHANTOM (0x00000002)
- #define CM_CREATE_DEVNODE_GENERATE_ID (0x00000004)
- #define CM_CREATE_DEVNODE_DO_NOT_INSTALL (0x00000008)
- #define CM_CREATE_DEVNODE_BITS (0x0000000F)
- #define CM_CREATE_DEVINST_NORMAL CM_CREATE_DEVNODE_NORMAL
- #define CM_CREATE_DEVINST_NO_WAIT_INSTALL CM_CREATE_DEVNODE_NO_WAIT_INSTALL
- #define CM_CREATE_DEVINST_PHANTOM CM_CREATE_DEVNODE_PHANTOM
- #define CM_CREATE_DEVINST_GENERATE_ID CM_CREATE_DEVNODE_GENERATE_ID
- #define CM_CREATE_DEVINST_DO_NOT_INSTALL CM_CREATE_DEVNODE_DO_NOT_INSTALL
- #define CM_CREATE_DEVINST_BITS CM_CREATE_DEVNODE_BITS
- //
- // Flags for CM_Delete_Class_Key
- //
- #define CM_DELETE_CLASS_ONLY (0x00000000)
- #define CM_DELETE_CLASS_SUBKEYS (0x00000001)
- #define CM_DELETE_CLASS_BITS (0x00000001)
- //
- // Detection reason flags (specified in call to CM_Run_Detection)
- //
- #define CM_DETECT_NEW_PROFILE (0x00000001) // detection for new hw profile
- #define CM_DETECT_CRASHED (0x00000002) // Previous detection crashed
- #define CM_DETECT_HWPROF_FIRST_BOOT (0x00000004)
- #define CM_DETECT_RUN (0x80000000)
- #define CM_DETECT_BITS (0x80000007)
- #define CM_DISABLE_POLITE (0x00000000) // Ask the driver
- #define CM_DISABLE_ABSOLUTE (0x00000001) // Don't ask the driver
- #define CM_DISABLE_HARDWARE (0x00000002) // Don't ask the driver, and won't be restarteable
- #define CM_DISABLE_UI_NOT_OK (0x00000004) // Don't popup any veto API
- #define CM_DISABLE_BITS (0x00000007) // The bits for the disable function
- //
- // Flags for CM_Get_Device_ID_List, CM_Get_Device_ID_List_Size
- //
- #define CM_GETIDLIST_FILTER_NONE (0x00000000)
- #define CM_GETIDLIST_FILTER_ENUMERATOR (0x00000001)
- #define CM_GETIDLIST_FILTER_SERVICE (0x00000002)
- #define CM_GETIDLIST_FILTER_EJECTRELATIONS (0x00000004)
- #define CM_GETIDLIST_FILTER_REMOVALRELATIONS (0x00000008)
- #define CM_GETIDLIST_FILTER_POWERRELATIONS (0x00000010)
- #define CM_GETIDLIST_FILTER_BUSRELATIONS (0x00000020)
- #define CM_GETIDLIST_DONOTGENERATE (0x10000040)
- #define CM_GETIDLIST_FILTER_BITS (0x1000007F)
- //
- // Flags for CM_Get_Device_Interface_List, CM_Get_Device_Interface_List_Size
- //
- #define CM_GET_DEVICE_INTERFACE_LIST_PRESENT (0x00000000) // only currently 'live' device interfaces
- #define CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES (0x00000001) // all registered device interfaces, live or not
- #define CM_GET_DEVICE_INTERFACE_LIST_BITS (0x00000001)
- //
- // Registry properties (specified in call to CM_Get_DevInst_Registry_Property or CM_Get_Class_Registry_Property,
- // some are allowed in calls to CM_Set_DevInst_Registry_Property and CM_Set_Class_Registry_Property)
- // CM_DRP_xxxx values should be used for CM_Get_DevInst_Registry_Property / CM_Set_DevInst_Registry_Property
- // CM_CRP_xxxx values should be used for CM_Get_Class_Registry_Property / CM_Set_Class_Registry_Property
- // DRP/CRP values that overlap must have a 1:1 correspondence with each other
- //
- #define CM_DRP_DEVICEDESC (0x00000001) // DeviceDesc REG_SZ property (RW)
- #define CM_DRP_HARDWAREID (0x00000002) // HardwareID REG_MULTI_SZ property (RW)
- #define CM_DRP_COMPATIBLEIDS (0x00000003) // CompatibleIDs REG_MULTI_SZ property (RW)
- #define CM_DRP_UNUSED0 (0x00000004) // unused
- #define CM_DRP_SERVICE (0x00000005) // Service REG_SZ property (RW)
- #define CM_DRP_UNUSED1 (0x00000006) // unused
- #define CM_DRP_UNUSED2 (0x00000007) // unused
- #define CM_DRP_CLASS (0x00000008) // Class REG_SZ property (RW)
- #define CM_DRP_CLASSGUID (0x00000009) // ClassGUID REG_SZ property (RW)
- #define CM_DRP_DRIVER (0x0000000A) // Driver REG_SZ property (RW)
- #define CM_DRP_CONFIGFLAGS (0x0000000B) // ConfigFlags REG_DWORD property (RW)
- #define CM_DRP_MFG (0x0000000C) // Mfg REG_SZ property (RW)
- #define CM_DRP_FRIENDLYNAME (0x0000000D) // FriendlyName REG_SZ property (RW)
- #define CM_DRP_LOCATION_INFORMATION (0x0000000E) // LocationInformation REG_SZ property (RW)
- #define CM_DRP_PHYSICAL_DEVICE_OBJECT_NAME (0x0000000F) // PhysicalDeviceObjectName REG_SZ property (R)
- #define CM_DRP_CAPABILITIES (0x00000010) // Capabilities REG_DWORD property (R)
- #define CM_DRP_UI_NUMBER (0x00000011) // UiNumber REG_DWORD property (R)
- #define CM_DRP_UPPERFILTERS (0x00000012) // UpperFilters REG_MULTI_SZ property (RW)
- #define CM_DRP_LOWERFILTERS (0x00000013) // LowerFilters REG_MULTI_SZ property (RW)
- #define CM_DRP_BUSTYPEGUID (0x00000014) // Bus Type Guid, GUID, (R)
- #define CM_DRP_LEGACYBUSTYPE (0x00000015) // Legacy bus type, INTERFACE_TYPE, (R)
- #define CM_DRP_BUSNUMBER (0x00000016) // Bus Number, DWORD, (R)
- #define CM_DRP_ENUMERATOR_NAME (0x00000017) // Enumerator Name REG_SZ property (R)
- #define CM_DRP_SECURITY (0x00000018) // Security - Device override (RW)
- #define CM_CRP_SECURITY CM_DRP_SECURITY // Class default security (RW)
- #define CM_DRP_SECURITY_SDS (0x00000019) // Security - Device override (RW)
- #define CM_CRP_SECURITY_SDS CM_DRP_SECURITY_SDS // Class default security (RW)
- #define CM_DRP_DEVTYPE (0x0000001A) // Device Type - Device override (RW)
- #define CM_CRP_DEVTYPE CM_DRP_DEVTYPE // Class default Device-type (RW)
- #define CM_DRP_EXCLUSIVE (0x0000001B) // Exclusivity - Device override (RW)
- #define CM_CRP_EXCLUSIVE CM_DRP_EXCLUSIVE // Class default (RW)
- #define CM_DRP_CHARACTERISTICS (0x0000001C) // Characteristics - Device Override (RW)
- #define CM_CRP_CHARACTERISTICS CM_DRP_CHARACTERISTICS // Class default (RW)
- #define CM_DRP_ADDRESS (0x0000001D) // Device Address (R)
- #define CM_DRP_UI_NUMBER_DESC_FORMAT (0x0000001E) // UINumberDescFormat REG_SZ property (RW)
- #define CM_DRP_DEVICE_POWER_DATA (0x0000001F) // CM_POWER_DATA REG_BINARY property (R)
- #define CM_DRP_REMOVAL_POLICY (0x00000020) // CM_DEVICE_REMOVAL_POLICY REG_DWORD (R)
- #define CM_DRP_REMOVAL_POLICY_HW_DEFAULT (0x00000021) // CM_DRP_REMOVAL_POLICY_HW_DEFAULT REG_DWORD (R)
- #define CM_DRP_REMOVAL_POLICY_OVERRIDE (0x00000022) // CM_DRP_REMOVAL_POLICY_OVERRIDE REG_DWORD (RW)
- #define CM_DRP_INSTALL_STATE (0x00000023) // CM_DRP_INSTALL_STATE REG_DWORD (R)
- #define CM_DRP_MIN (0x00000001) // First device register
- #define CM_CRP_MIN CM_DRP_MIN // First class register
- #define CM_DRP_MAX (0x00000023) // Last device register
- #define CM_CRP_MAX CM_DRP_MAX // Last class register
- //
- // Capabilities bits (the capability value is returned from calling
- // CM_Get_DevInst_Registry_Property with CM_DRP_CAPABILITIES property)
- //
- #define CM_DEVCAP_LOCKSUPPORTED (0x00000001)
- #define CM_DEVCAP_EJECTSUPPORTED (0x00000002)
- #define CM_DEVCAP_REMOVABLE (0x00000004)
- #define CM_DEVCAP_DOCKDEVICE (0x00000008)
- #define CM_DEVCAP_UNIQUEID (0x00000010)
- #define CM_DEVCAP_SILENTINSTALL (0x00000020)
- #define CM_DEVCAP_RAWDEVICEOK (0x00000040)
- #define CM_DEVCAP_SURPRISEREMOVALOK (0x00000080)
- #define CM_DEVCAP_HARDWAREDISABLED (0x00000100)
- #define CM_DEVCAP_NONDYNAMIC (0x00000200)
- //
- // Removal policies (retrievable via CM_Get_DevInst_Registry_Property with
- // the CM_DRP_REMOVAL_POLICY, CM_DRP_REMOVAL_POLICY_OVERRIDE, or
- // CM_DRP_REMOVAL_POLICY_HW_DEFAULT properties)
- //
- #define CM_REMOVAL_POLICY_EXPECT_NO_REMOVAL 1
- #define CM_REMOVAL_POLICY_EXPECT_ORDERLY_REMOVAL 2
- #define CM_REMOVAL_POLICY_EXPECT_SURPRISE_REMOVAL 3
- //
- // Device install states (retrievable via CM_Get_DevInst_Registry_Property with
- // the CM_DRP_INSTALL_STATE properties)
- //
- #define CM_INSTALL_STATE_INSTALLED 0
- #define CM_INSTALL_STATE_NEEDS_REINSTALL 1
- #define CM_INSTALL_STATE_FAILED_INSTALL 2
- #define CM_INSTALL_STATE_FINISH_INSTALL 3
- //
- // Flags for CM_Locate_DevNode
- //
- #define CM_LOCATE_DEVNODE_NORMAL 0x00000000
- #define CM_LOCATE_DEVNODE_PHANTOM 0x00000001
- #define CM_LOCATE_DEVNODE_CANCELREMOVE 0x00000002
- #define CM_LOCATE_DEVNODE_NOVALIDATION 0x00000004
- #define CM_LOCATE_DEVNODE_BITS 0x00000007
- #define CM_LOCATE_DEVINST_NORMAL CM_LOCATE_DEVNODE_NORMAL
- #define CM_LOCATE_DEVINST_PHANTOM CM_LOCATE_DEVNODE_PHANTOM
- #define CM_LOCATE_DEVINST_CANCELREMOVE CM_LOCATE_DEVNODE_CANCELREMOVE
- #define CM_LOCATE_DEVINST_NOVALIDATION CM_LOCATE_DEVNODE_NOVALIDATION
- #define CM_LOCATE_DEVINST_BITS CM_LOCATE_DEVNODE_BITS
- //
- // Flags for CM_Open_Class_Key
- //
- #define CM_OPEN_CLASS_KEY_INSTALLER (0x00000000)
- #define CM_OPEN_CLASS_KEY_INTERFACE (0x00000001)
- #define CM_OPEN_CLASS_KEY_BITS (0x00000001)
- //
- // Flags for CM_Query_And_Remove_SubTree
- //
- #define CM_REMOVE_UI_OK 0x00000000
- #define CM_REMOVE_UI_NOT_OK 0x00000001
- #define CM_REMOVE_NO_RESTART 0x00000002
- #define CM_REMOVE_BITS 0x00000003
- //
- // Backward compatibility--do not use
- // (use above CM_REMOVE_* flags instead)
- //
- #define CM_QUERY_REMOVE_UI_OK (CM_REMOVE_UI_OK)
- #define CM_QUERY_REMOVE_UI_NOT_OK (CM_REMOVE_UI_NOT_OK)
- #define CM_QUERY_REMOVE_BITS (CM_QUERY_REMOVE_UI_OK|CM_QUERY_REMOVE_UI_NOT_OK)
- //
- // Flags for CM_Reenumerate_DevNode
- //
- #define CM_REENUMERATE_NORMAL 0x00000000
- #define CM_REENUMERATE_SYNCHRONOUS 0x00000001
- #define CM_REENUMERATE_RETRY_INSTALLATION 0x00000002
- #define CM_REENUMERATE_ASYNCHRONOUS 0x00000004
- #define CM_REENUMERATE_BITS 0x00000007
- //
- // Flags for CM_Register_Device_Driver
- //
- #define CM_REGISTER_DEVICE_DRIVER_STATIC (0x00000000)
- #define CM_REGISTER_DEVICE_DRIVER_DISABLEABLE (0x00000001)
- #define CM_REGISTER_DEVICE_DRIVER_REMOVABLE (0x00000002)
- #define CM_REGISTER_DEVICE_DRIVER_BITS (0x00000003)
- //
- // Registry Branch Locations (for CM_Open_DevNode_Key)
- //
- #define CM_REGISTRY_HARDWARE (0x00000000)
- #define CM_REGISTRY_SOFTWARE (0x00000001)
- #define CM_REGISTRY_USER (0x00000100)
- #define CM_REGISTRY_CONFIG (0x00000200)
- #define CM_REGISTRY_BITS (0x00000301)
- //
- // Flags for CM_Set_DevNode_Problem
- //
- #define CM_SET_DEVNODE_PROBLEM_NORMAL (0x00000000) // only set problem if currently no problem
- #define CM_SET_DEVNODE_PROBLEM_OVERRIDE (0x00000001) // override current problem with new problem
- #define CM_SET_DEVNODE_PROBLEM_BITS (0x00000001)
- #define CM_SET_DEVINST_PROBLEM_NORMAL CM_SET_DEVNODE_PROBLEM_NORMAL
- #define CM_SET_DEVINST_PROBLEM_OVERRIDE CM_SET_DEVNODE_PROBLEM_OVERRIDE
- #define CM_SET_DEVINST_PROBLEM_BITS CM_SET_DEVNODE_PROBLEM_BITS
- //
- // Flags for CM_Set_HW_Prof_Flags
- //
- #define CM_SET_HW_PROF_FLAGS_UI_NOT_OK (0x00000001) // Don't popup any veto UI
- #define CM_SET_HW_PROF_FLAGS_BITS (0x00000001)
- //
- // Re-enable and configuration actions (specified in call to CM_Setup_DevInst)
- //
- #define CM_SETUP_DEVNODE_READY (0x00000000) // Reenable problem devinst
- #define CM_SETUP_DEVINST_READY CM_SETUP_DEVNODE_READY
- #define CM_SETUP_DOWNLOAD (0x00000001) // Get info about devinst
- #define CM_SETUP_WRITE_LOG_CONFS (0x00000002)
- #define CM_SETUP_PROP_CHANGE (0x00000003)
- #define CM_SETUP_DEVNODE_RESET (0x00000004) // Reset problem devinst without starting
- #define CM_SETUP_DEVINST_RESET CM_SETUP_DEVNODE_RESET
- #define CM_SETUP_BITS (0x00000007)
- //
- // Flags for CM_Query_Arbitrator_Free_Data and
- // CM_Query_Arbitrator_Free_Data_Size.
- //
- #define CM_QUERY_ARBITRATOR_RAW (0x00000000)
- #define CM_QUERY_ARBITRATOR_TRANSLATED (0x00000001)
- #define CM_QUERY_ARBITRATOR_BITS (0x00000001)
- //
- // Flags for CM_Get_DevNode_Custom_Property
- //
- #define CM_CUSTOMDEVPROP_MERGE_MULTISZ (0x00000001)
- #define CM_CUSTOMDEVPROP_BITS (0x00000001)
- //--------------------------------------------------------------
- // Function prototypes
- //--------------------------------------------------------------
- CMAPI
- CONFIGRET
- WINAPI
- CM_Add_Empty_Log_Conf(
- OUT PLOG_CONF plcLogConf,
- IN DEVINST dnDevInst,
- IN PRIORITY Priority,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Add_Empty_Log_Conf_Ex(
- OUT PLOG_CONF plcLogConf,
- IN DEVINST dnDevInst,
- IN PRIORITY Priority,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Add_IDA(
- IN DEVINST dnDevInst,
- IN PSTR pszID,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Add_IDW(
- IN DEVINST dnDevInst,
- IN PWSTR pszID,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Add_ID_ExA(
- IN DEVINST dnDevInst,
- IN PSTR pszID,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Add_ID_ExW(
- IN DEVINST dnDevInst,
- IN PWSTR pszID,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Add_ID CM_Add_IDW
- #define CM_Add_ID_Ex CM_Add_ID_ExW
- #else
- #define CM_Add_ID CM_Add_IDA
- #define CM_Add_ID_Ex CM_Add_ID_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Add_Range(
- IN DWORDLONG ullStartValue,
- IN DWORDLONG ullEndValue,
- IN RANGE_LIST rlh,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Add_Res_Des(
- OUT PRES_DES prdResDes,
- IN LOG_CONF lcLogConf,
- IN RESOURCEID ResourceID,
- IN PCVOID ResourceData,
- IN ULONG ResourceLen,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Add_Res_Des_Ex(
- OUT PRES_DES prdResDes,
- IN LOG_CONF lcLogConf,
- IN RESOURCEID ResourceID,
- IN PCVOID ResourceData,
- IN ULONG ResourceLen,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Connect_MachineA(
- IN PCSTR UNCServerName,
- OUT PHMACHINE phMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Connect_MachineW(
- IN PCWSTR UNCServerName,
- OUT PHMACHINE phMachine
- );
- #ifdef UNICODE
- #define CM_Connect_Machine CM_Connect_MachineW
- #else
- #define CM_Connect_Machine CM_Connect_MachineA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Create_DevNodeA(
- OUT PDEVINST pdnDevInst,
- IN DEVINSTID_A pDeviceID,
- IN DEVINST dnParent,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Create_DevNodeW(
- OUT PDEVINST pdnDevInst,
- IN DEVINSTID_W pDeviceID,
- IN DEVINST dnParent,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Create_DevNode_ExA(
- OUT PDEVINST pdnDevInst,
- IN DEVINSTID_A pDeviceID,
- IN DEVINST dnParent,
- IN ULONG ulFlags,
- IN HANDLE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Create_DevNode_ExW(
- OUT PDEVINST pdnDevInst,
- IN DEVINSTID_W pDeviceID,
- IN DEVINST dnParent,
- IN ULONG ulFlags,
- IN HANDLE hMachine
- );
- #define CM_Create_DevInstW CM_Create_DevNodeW
- #define CM_Create_DevInstA CM_Create_DevNodeA
- #define CM_Create_DevInst_ExW CM_Create_DevNode_ExW
- #define CM_Create_DevInst_ExA CM_Create_DevNode_ExA
- #ifdef UNICODE
- #define CM_Create_DevNode CM_Create_DevNodeW
- #define CM_Create_DevInst CM_Create_DevNodeW
- #define CM_Create_DevNode_Ex CM_Create_DevNode_ExW
- #define CM_Create_DevInst_Ex CM_Create_DevInst_ExW
- #else
- #define CM_Create_DevNode CM_Create_DevNodeA
- #define CM_Create_DevInst CM_Create_DevNodeA
- #define CM_Create_DevNode_Ex CM_Create_DevNode_ExA
- #define CM_Create_DevInst_Ex CM_Create_DevNode_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Create_Range_List(
- OUT PRANGE_LIST prlh,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Delete_Class_Key(
- IN LPGUID ClassGuid,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Delete_Class_Key_Ex(
- IN LPGUID ClassGuid,
- IN ULONG ulFlags,
- IN HANDLE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Delete_DevNode_Key(
- IN DEVNODE dnDevNode,
- IN ULONG ulHardwareProfile,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Delete_DevNode_Key_Ex(
- IN DEVNODE dnDevNode,
- IN ULONG ulHardwareProfile,
- IN ULONG ulFlags,
- IN HANDLE hMachine
- );
- #define CM_Delete_DevInst_Key CM_Delete_DevNode_Key
- #define CM_Delete_DevInst_Key_Ex CM_Delete_DevNode_Key_Ex
- CMAPI
- CONFIGRET
- WINAPI
- CM_Delete_Range(
- IN DWORDLONG ullStartValue,
- IN DWORDLONG ullEndValue,
- IN RANGE_LIST rlh,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Detect_Resource_Conflict(
- IN DEVINST dnDevInst,
- IN RESOURCEID ResourceID,
- IN PCVOID ResourceData,
- IN ULONG ResourceLen,
- OUT PBOOL pbConflictDetected,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Detect_Resource_Conflict_Ex(
- IN DEVINST dnDevInst,
- IN RESOURCEID ResourceID,
- IN PCVOID ResourceData,
- IN ULONG ResourceLen,
- OUT PBOOL pbConflictDetected,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Disable_DevNode(
- IN DEVINST dnDevInst,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Disable_DevNode_Ex(
- IN DEVINST dnDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #define CM_Disable_DevInst CM_Disable_DevNode
- #define CM_Disable_DevInst_Ex CM_Disable_DevNode_Ex
- CMAPI
- CONFIGRET
- WINAPI
- CM_Disconnect_Machine(
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Dup_Range_List(
- IN RANGE_LIST rlhOld,
- IN RANGE_LIST rlhNew,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Enable_DevNode(
- IN DEVINST dnDevInst,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Enable_DevNode_Ex(
- IN DEVINST dnDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #define CM_Enable_DevInst CM_Enable_DevNode
- #define CM_Enable_DevInst_Ex CM_Enable_DevNode_Ex
- CMAPI
- CONFIGRET
- WINAPI
- CM_Enumerate_Classes(
- IN ULONG ulClassIndex,
- OUT LPGUID ClassGuid,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Enumerate_Classes_Ex(
- IN ULONG ulClassIndex,
- OUT LPGUID ClassGuid,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Enumerate_EnumeratorsA(
- IN ULONG ulEnumIndex,
- OUT PCHAR Buffer,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Enumerate_EnumeratorsW(
- IN ULONG ulEnumIndex,
- OUT PWCHAR Buffer,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Enumerate_Enumerators_ExA(
- IN ULONG ulEnumIndex,
- OUT PCHAR Buffer,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Enumerate_Enumerators_ExW(
- IN ULONG ulEnumIndex,
- OUT PWCHAR Buffer,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Enumerate_Enumerators CM_Enumerate_EnumeratorsW
- #define CM_Enumerate_Enumerators_Ex CM_Enumerate_Enumerators_ExW
- #else
- #define CM_Enumerate_Enumerators CM_Enumerate_EnumeratorsA
- #define CM_Enumerate_Enumerators_Ex CM_Enumerate_Enumerators_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Find_Range(
- OUT PDWORDLONG pullStart,
- IN DWORDLONG ullStart,
- IN ULONG ulLength,
- IN DWORDLONG ullAlignment,
- IN DWORDLONG ullEnd,
- IN RANGE_LIST rlh,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_First_Range(
- IN RANGE_LIST rlh,
- OUT PDWORDLONG pullStart,
- OUT PDWORDLONG pullEnd,
- OUT PRANGE_ELEMENT preElement,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Free_Log_Conf(
- IN LOG_CONF lcLogConfToBeFreed,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Free_Log_Conf_Ex(
- IN LOG_CONF lcLogConfToBeFreed,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Free_Log_Conf_Handle(
- IN LOG_CONF lcLogConf
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Free_Range_List(
- IN RANGE_LIST rlh,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Free_Res_Des(
- OUT PRES_DES prdResDes,
- IN RES_DES rdResDes,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Free_Res_Des_Ex(
- OUT PRES_DES prdResDes,
- IN RES_DES rdResDes,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Free_Res_Des_Handle(
- IN RES_DES rdResDes
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Child(
- OUT PDEVINST pdnDevInst,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Child_Ex(
- OUT PDEVINST pdnDevInst,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Class_NameA(
- IN LPGUID ClassGuid,
- OUT PCHAR Buffer,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Class_NameW(
- IN LPGUID ClassGuid,
- OUT PWCHAR Buffer,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Class_Name_ExA(
- IN LPGUID ClassGuid,
- OUT PCHAR Buffer,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Class_Name_ExW(
- IN LPGUID ClassGuid,
- OUT PWCHAR Buffer,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Get_Class_Name CM_Get_Class_NameW
- #define CM_Get_Class_Name_Ex CM_Get_Class_Name_ExW
- #else
- #define CM_Get_Class_Name CM_Get_Class_NameA
- #define CM_Get_Class_Name_Ex CM_Get_Class_Name_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Class_Key_NameA(
- IN LPGUID ClassGuid,
- OUT LPSTR pszKeyName,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Class_Key_NameW(
- IN LPGUID ClassGuid,
- OUT LPWSTR pszKeyName,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Class_Key_Name_ExA(
- IN LPGUID ClassGuid,
- OUT LPSTR pszKeyName,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Class_Key_Name_ExW(
- IN LPGUID ClassGuid,
- OUT LPWSTR pszKeyName,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Get_Class_Key_Name CM_Get_Class_Key_NameW
- #define CM_Get_Class_Key_Name_Ex CM_Get_Class_Key_Name_ExW
- #else
- #define CM_Get_Class_Key_Name CM_Get_Class_Key_NameA
- #define CM_Get_Class_Key_Name_Ex CM_Get_Class_Key_Name_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Depth(
- OUT PULONG pulDepth,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Depth_Ex(
- OUT PULONG pulDepth,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_IDA(
- IN DEVINST dnDevInst,
- OUT PCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_IDW(
- IN DEVINST dnDevInst,
- OUT PWCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_ID_ExA(
- IN DEVINST dnDevInst,
- OUT PCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_ID_ExW(
- IN DEVINST dnDevInst,
- OUT PWCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Get_Device_ID CM_Get_Device_IDW
- #define CM_Get_Device_ID_Ex CM_Get_Device_ID_ExW
- #else
- #define CM_Get_Device_ID CM_Get_Device_IDA
- #define CM_Get_Device_ID_Ex CM_Get_Device_ID_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_ID_ListA(
- IN PCSTR pszFilter, OPTIONAL
- OUT PCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_ID_ListW(
- IN PCWSTR pszFilter, OPTIONAL
- OUT PWCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_ID_List_ExA(
- IN PCSTR pszFilter, OPTIONAL
- OUT PCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_ID_List_ExW(
- IN PCWSTR pszFilter, OPTIONAL
- OUT PWCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Get_Device_ID_List CM_Get_Device_ID_ListW
- #define CM_Get_Device_ID_List_Ex CM_Get_Device_ID_List_ExW
- #else
- #define CM_Get_Device_ID_List CM_Get_Device_ID_ListA
- #define CM_Get_Device_ID_List_Ex CM_Get_Device_ID_List_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_ID_List_SizeA(
- OUT PULONG pulLen,
- IN PCSTR pszFilter, OPTIONAL
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_ID_List_SizeW(
- OUT PULONG pulLen,
- IN PCWSTR pszFilter, OPTIONAL
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_ID_List_Size_ExA(
- OUT PULONG pulLen,
- IN PCSTR pszFilter, OPTIONAL
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_ID_List_Size_ExW(
- OUT PULONG pulLen,
- IN PCWSTR pszFilter, OPTIONAL
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Get_Device_ID_List_Size CM_Get_Device_ID_List_SizeW
- #define CM_Get_Device_ID_List_Size_Ex CM_Get_Device_ID_List_Size_ExW
- #else
- #define CM_Get_Device_ID_List_Size CM_Get_Device_ID_List_SizeA
- #define CM_Get_Device_ID_List_Size_Ex CM_Get_Device_ID_List_Size_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_ID_Size(
- OUT PULONG pulLen,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_ID_Size_Ex(
- OUT PULONG pulLen,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_DevNode_Registry_PropertyA(
- IN DEVINST dnDevInst,
- IN ULONG ulProperty,
- OUT PULONG pulRegDataType, OPTIONAL
- OUT PVOID Buffer, OPTIONAL
- IN OUT PULONG pulLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_DevNode_Registry_PropertyW(
- IN DEVINST dnDevInst,
- IN ULONG ulProperty,
- OUT PULONG pulRegDataType, OPTIONAL
- OUT PVOID Buffer, OPTIONAL
- IN OUT PULONG pulLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_DevNode_Registry_Property_ExA(
- IN DEVINST dnDevInst,
- IN ULONG ulProperty,
- OUT PULONG pulRegDataType, OPTIONAL
- OUT PVOID Buffer, OPTIONAL
- IN OUT PULONG pulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_DevNode_Registry_Property_ExW(
- IN DEVINST dnDevInst,
- IN ULONG ulProperty,
- OUT PULONG pulRegDataType, OPTIONAL
- OUT PVOID Buffer, OPTIONAL
- IN OUT PULONG pulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #define CM_Get_DevInst_Registry_PropertyW CM_Get_DevNode_Registry_PropertyW
- #define CM_Get_DevInst_Registry_PropertyA CM_Get_DevNode_Registry_PropertyA
- #define CM_Get_DevInst_Registry_Property_ExW CM_Get_DevNode_Registry_Property_ExW
- #define CM_Get_DevInst_Registry_Property_ExA CM_Get_DevNode_Registry_Property_ExA
- #ifdef UNICODE
- #define CM_Get_DevInst_Registry_Property CM_Get_DevNode_Registry_PropertyW
- #define CM_Get_DevInst_Registry_Property_Ex CM_Get_DevNode_Registry_Property_ExW
- #define CM_Get_DevNode_Registry_Property CM_Get_DevNode_Registry_PropertyW
- #define CM_Get_DevNode_Registry_Property_Ex CM_Get_DevNode_Registry_Property_ExW
- #else
- #define CM_Get_DevInst_Registry_Property CM_Get_DevNode_Registry_PropertyA
- #define CM_Get_DevInst_Registry_Property_Ex CM_Get_DevNode_Registry_Property_ExA
- #define CM_Get_DevNode_Registry_Property CM_Get_DevNode_Registry_PropertyA
- #define CM_Get_DevNode_Registry_Property_Ex CM_Get_DevNode_Registry_Property_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_DevNode_Custom_PropertyA(
- IN DEVINST dnDevInst,
- IN PCSTR pszCustomPropertyName,
- OUT PULONG pulRegDataType, OPTIONAL
- OUT PVOID Buffer, OPTIONAL
- IN OUT PULONG pulLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_DevNode_Custom_PropertyW(
- IN DEVINST dnDevInst,
- IN PCWSTR pszCustomPropertyName,
- OUT PULONG pulRegDataType, OPTIONAL
- OUT PVOID Buffer, OPTIONAL
- IN OUT PULONG pulLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_DevNode_Custom_Property_ExA(
- IN DEVINST dnDevInst,
- IN PCSTR pszCustomPropertyName,
- OUT PULONG pulRegDataType, OPTIONAL
- OUT PVOID Buffer, OPTIONAL
- IN OUT PULONG pulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_DevNode_Custom_Property_ExW(
- IN DEVINST dnDevInst,
- IN PCWSTR pszCustomPropertyName,
- OUT PULONG pulRegDataType, OPTIONAL
- OUT PVOID Buffer, OPTIONAL
- IN OUT PULONG pulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #define CM_Get_DevInst_Custom_PropertyW CM_Get_DevNode_Custom_PropertyW
- #define CM_Get_DevInst_Custom_PropertyA CM_Get_DevNode_Custom_PropertyA
- #define CM_Get_DevInst_Custom_Property_ExW CM_Get_DevNode_Custom_Property_ExW
- #define CM_Get_DevInst_Custom_Property_ExA CM_Get_DevNode_Custom_Property_ExA
- #ifdef UNICODE
- #define CM_Get_DevInst_Custom_Property CM_Get_DevNode_Custom_PropertyW
- #define CM_Get_DevInst_Custom_Property_Ex CM_Get_DevNode_Custom_Property_ExW
- #define CM_Get_DevNode_Custom_Property CM_Get_DevNode_Custom_PropertyW
- #define CM_Get_DevNode_Custom_Property_Ex CM_Get_DevNode_Custom_Property_ExW
- #else
- #define CM_Get_DevInst_Custom_Property CM_Get_DevNode_Custom_PropertyA
- #define CM_Get_DevInst_Custom_Property_Ex CM_Get_DevNode_Custom_Property_ExA
- #define CM_Get_DevNode_Custom_Property CM_Get_DevNode_Custom_PropertyA
- #define CM_Get_DevNode_Custom_Property_Ex CM_Get_DevNode_Custom_Property_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_DevNode_Status(
- OUT PULONG pulStatus,
- OUT PULONG pulProblemNumber,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_DevNode_Status_Ex(
- OUT PULONG pulStatus,
- OUT PULONG pulProblemNumber,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #define CM_Get_DevInst_Status CM_Get_DevNode_Status
- #define CM_Get_DevInst_Status_Ex CM_Get_DevNode_Status_Ex
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_First_Log_Conf(
- OUT PLOG_CONF plcLogConf, OPTIONAL
- IN DEVINST dnDevInst,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_First_Log_Conf_Ex(
- OUT PLOG_CONF plcLogConf, OPTIONAL
- IN DEVINST dnDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Global_State(
- OUT PULONG pulState,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Global_State_Ex(
- OUT PULONG pulState,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Hardware_Profile_InfoA(
- IN ULONG ulIndex,
- OUT PHWPROFILEINFO_A pHWProfileInfo,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Hardware_Profile_Info_ExA(
- IN ULONG ulIndex,
- OUT PHWPROFILEINFO_A pHWProfileInfo,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Hardware_Profile_InfoW(
- IN ULONG ulIndex,
- OUT PHWPROFILEINFO_W pHWProfileInfo,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Hardware_Profile_Info_ExW(
- IN ULONG ulIndex,
- OUT PHWPROFILEINFO_W pHWProfileInfo,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Get_Hardware_Profile_Info CM_Get_Hardware_Profile_InfoW
- #define CM_Get_Hardware_Profile_Info_Ex CM_Get_Hardware_Profile_Info_ExW
- #else
- #define CM_Get_Hardware_Profile_Info CM_Get_Hardware_Profile_InfoA
- #define CM_Get_Hardware_Profile_Info_Ex CM_Get_Hardware_Profile_Info_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_HW_Prof_FlagsA(
- IN DEVINSTID_A szDevInstName,
- IN ULONG ulHardwareProfile,
- OUT PULONG pulValue,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_HW_Prof_FlagsW(
- IN DEVINSTID_W szDevInstName,
- IN ULONG ulHardwareProfile,
- OUT PULONG pulValue,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_HW_Prof_Flags_ExA(
- IN DEVINSTID_A szDevInstName,
- IN ULONG ulHardwareProfile,
- OUT PULONG pulValue,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_HW_Prof_Flags_ExW(
- IN DEVINSTID_W szDevInstName,
- IN ULONG ulHardwareProfile,
- OUT PULONG pulValue,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Get_HW_Prof_Flags CM_Get_HW_Prof_FlagsW
- #define CM_Get_HW_Prof_Flags_Ex CM_Get_HW_Prof_Flags_ExW
- #else
- #define CM_Get_HW_Prof_Flags CM_Get_HW_Prof_FlagsA
- #define CM_Get_HW_Prof_Flags_Ex CM_Get_HW_Prof_Flags_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_Interface_AliasA(
- IN LPCSTR pszDeviceInterface,
- IN LPGUID AliasInterfaceGuid,
- OUT LPSTR pszAliasDeviceInterface,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_Interface_AliasW(
- IN LPCWSTR pszDeviceInterface,
- IN LPGUID AliasInterfaceGuid,
- OUT LPWSTR pszAliasDeviceInterface,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_Interface_Alias_ExA(
- IN LPCSTR pszDeviceInterface,
- IN LPGUID AliasInterfaceGuid,
- OUT LPSTR pszAliasDeviceInterface,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_Interface_Alias_ExW(
- IN LPCWSTR pszDeviceInterface,
- IN LPGUID AliasInterfaceGuid,
- OUT LPWSTR pszAliasDeviceInterface,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Get_Device_Interface_Alias CM_Get_Device_Interface_AliasW
- #define CM_Get_Device_Interface_Alias_Ex CM_Get_Device_Interface_Alias_ExW
- #else
- #define CM_Get_Device_Interface_Alias CM_Get_Device_Interface_AliasA
- #define CM_Get_Device_Interface_Alias_Ex CM_Get_Device_Interface_Alias_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_Interface_ListA(
- IN LPGUID InterfaceClassGuid,
- IN DEVINSTID_A pDeviceID, OPTIONAL
- OUT PCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_Interface_ListW(
- IN LPGUID InterfaceClassGuid,
- IN DEVINSTID_W pDeviceID, OPTIONAL
- OUT PWCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_Interface_List_ExA(
- IN LPGUID InterfaceClassGuid,
- IN DEVINSTID_A pDeviceID, OPTIONAL
- OUT PCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_Interface_List_ExW(
- IN LPGUID InterfaceClassGuid,
- IN DEVINSTID_W pDeviceID, OPTIONAL
- OUT PWCHAR Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Get_Device_Interface_List CM_Get_Device_Interface_ListW
- #define CM_Get_Device_Interface_List_Ex CM_Get_Device_Interface_List_ExW
- #else
- #define CM_Get_Device_Interface_List CM_Get_Device_Interface_ListA
- #define CM_Get_Device_Interface_List_Ex CM_Get_Device_Interface_List_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_Interface_List_SizeA(
- IN PULONG pulLen,
- IN LPGUID InterfaceClassGuid,
- IN DEVINSTID_A pDeviceID, OPTIONAL
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_Interface_List_SizeW(
- IN PULONG pulLen,
- IN LPGUID InterfaceClassGuid,
- IN DEVINSTID_W pDeviceID, OPTIONAL
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_Interface_List_Size_ExA(
- IN PULONG pulLen,
- IN LPGUID InterfaceClassGuid,
- IN DEVINSTID_A pDeviceID, OPTIONAL
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Device_Interface_List_Size_ExW(
- IN PULONG pulLen,
- IN LPGUID InterfaceClassGuid,
- IN DEVINSTID_W pDeviceID, OPTIONAL
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Get_Device_Interface_List_Size CM_Get_Device_Interface_List_SizeW
- #define CM_Get_Device_Interface_List_Size_Ex CM_Get_Device_Interface_List_Size_ExW
- #else
- #define CM_Get_Device_Interface_List_Size CM_Get_Device_Interface_List_SizeA
- #define CM_Get_Device_Interface_List_Size_Ex CM_Get_Device_Interface_List_Size_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Log_Conf_Priority(
- IN LOG_CONF lcLogConf,
- OUT PPRIORITY pPriority,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Log_Conf_Priority_Ex(
- IN LOG_CONF lcLogConf,
- OUT PPRIORITY pPriority,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Next_Log_Conf(
- OUT PLOG_CONF plcLogConf, OPTIONAL
- IN LOG_CONF lcLogConf,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Next_Log_Conf_Ex(
- OUT PLOG_CONF plcLogConf, OPTIONAL
- IN LOG_CONF lcLogConf,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Parent(
- OUT PDEVINST pdnDevInst,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Parent_Ex(
- OUT PDEVINST pdnDevInst,
- IN DEVINST dnDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Res_Des_Data(
- IN RES_DES rdResDes,
- OUT PVOID Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Res_Des_Data_Ex(
- IN RES_DES rdResDes,
- OUT PVOID Buffer,
- IN ULONG BufferLen,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Res_Des_Data_Size(
- OUT PULONG pulSize,
- IN RES_DES rdResDes,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Res_Des_Data_Size_Ex(
- OUT PULONG pulSize,
- IN RES_DES rdResDes,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Sibling(
- OUT PDEVINST pdnDevInst,
- IN DEVINST DevInst,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Sibling_Ex(
- OUT PDEVINST pdnDevInst,
- IN DEVINST DevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- WORD
- WINAPI
- CM_Get_Version(
- VOID
- );
- CMAPI
- WORD
- WINAPI
- CM_Get_Version_Ex(
- IN HMACHINE hMachine
- );
- CMAPI
- BOOL
- WINAPI
- CM_Is_Version_Available(
- IN WORD wVersion
- );
- CMAPI
- BOOL
- WINAPI
- CM_Is_Version_Available_Ex(
- IN WORD wVersion,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Intersect_Range_List(
- IN RANGE_LIST rlhOld1,
- IN RANGE_LIST rlhOld2,
- IN RANGE_LIST rlhNew,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Invert_Range_List(
- IN RANGE_LIST rlhOld,
- IN RANGE_LIST rlhNew,
- IN DWORDLONG ullMaxValue,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Locate_DevNodeA(
- OUT PDEVINST pdnDevInst,
- IN DEVINSTID_A pDeviceID, OPTIONAL
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Locate_DevNodeW(
- OUT PDEVINST pdnDevInst,
- IN DEVINSTID_W pDeviceID, OPTIONAL
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Locate_DevNode_ExA(
- OUT PDEVINST pdnDevInst,
- IN DEVINSTID_A pDeviceID, OPTIONAL
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Locate_DevNode_ExW(
- OUT PDEVINST pdnDevInst,
- IN DEVINSTID_W pDeviceID, OPTIONAL
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #define CM_Locate_DevInstA CM_Locate_DevNodeA
- #define CM_Locate_DevInstW CM_Locate_DevNodeW
- #define CM_Locate_DevInst_ExA CM_Locate_DevNode_ExA
- #define CM_Locate_DevInst_ExW CM_Locate_DevNode_ExW
- #ifdef UNICODE
- #define CM_Locate_DevNode CM_Locate_DevNodeW
- #define CM_Locate_DevInst CM_Locate_DevNodeW
- #define CM_Locate_DevNode_Ex CM_Locate_DevNode_ExW
- #define CM_Locate_DevInst_Ex CM_Locate_DevNode_ExW
- #else
- #define CM_Locate_DevNode CM_Locate_DevNodeA
- #define CM_Locate_DevInst CM_Locate_DevNodeA
- #define CM_Locate_DevNode_Ex CM_Locate_DevNode_ExA
- #define CM_Locate_DevInst_Ex CM_Locate_DevNode_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Merge_Range_List(
- IN RANGE_LIST rlhOld1,
- IN RANGE_LIST rlhOld2,
- IN RANGE_LIST rlhNew,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Modify_Res_Des(
- OUT PRES_DES prdResDes,
- IN RES_DES rdResDes,
- IN RESOURCEID ResourceID,
- IN PCVOID ResourceData,
- IN ULONG ResourceLen,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Modify_Res_Des_Ex(
- OUT PRES_DES prdResDes,
- IN RES_DES rdResDes,
- IN RESOURCEID ResourceID,
- IN PCVOID ResourceData,
- IN ULONG ResourceLen,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Move_DevNode(
- IN DEVINST dnFromDevInst,
- IN DEVINST dnToDevInst,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Move_DevNode_Ex(
- IN DEVINST dnFromDevInst,
- IN DEVINST dnToDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #define CM_Move_DevInst CM_Move_DevNode
- #define CM_Move_DevInst_Ex CM_Move_DevNode_Ex
- CMAPI
- CONFIGRET
- WINAPI
- CM_Next_Range(
- IN OUT PRANGE_ELEMENT preElement,
- OUT PDWORDLONG pullStart,
- OUT PDWORDLONG pullEnd,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Next_Res_Des(
- OUT PRES_DES prdResDes,
- IN RES_DES rdResDes,
- IN RESOURCEID ForResource,
- OUT PRESOURCEID pResourceID,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Next_Res_Des_Ex(
- OUT PRES_DES prdResDes,
- IN RES_DES rdResDes,
- IN RESOURCEID ForResource,
- OUT PRESOURCEID pResourceID,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Open_Class_KeyA(
- IN LPGUID ClassGuid, OPTIONAL
- IN LPCSTR pszClassName, OPTIONAL
- IN REGSAM samDesired,
- IN REGDISPOSITION Disposition,
- OUT PHKEY phkClass,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Open_Class_KeyW(
- IN LPGUID ClassGuid, OPTIONAL
- IN LPCWSTR pszClassName, OPTIONAL
- IN REGSAM samDesired,
- IN REGDISPOSITION Disposition,
- OUT PHKEY phkClass,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Open_Class_Key_ExA(
- IN LPGUID pszClassGuid, OPTIONAL
- IN LPCSTR pszClassName, OPTIONAL
- IN REGSAM samDesired,
- IN REGDISPOSITION Disposition,
- OUT PHKEY phkClass,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Open_Class_Key_ExW(
- IN LPGUID pszClassGuid, OPTIONAL
- IN LPCWSTR pszClassName, OPTIONAL
- IN REGSAM samDesired,
- IN REGDISPOSITION Disposition,
- OUT PHKEY phkClass,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Open_Class_Key CM_Open_Class_KeyW
- #define CM_Open_Class_Key_Ex CM_Open_Class_Key_ExW
- #else
- #define CM_Open_Class_Key CM_Open_Class_KeyA
- #define CM_Open_Class_Key_Ex CM_Open_Class_Key_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Open_DevNode_Key(
- IN DEVINST dnDevNode,
- IN REGSAM samDesired,
- IN ULONG ulHardwareProfile,
- IN REGDISPOSITION Disposition,
- OUT PHKEY phkDevice,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Open_DevNode_Key_Ex(
- IN DEVINST dnDevNode,
- IN REGSAM samDesired,
- IN ULONG ulHardwareProfile,
- IN REGDISPOSITION Disposition,
- OUT PHKEY phkDevice,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #define CM_Open_DevInst_Key CM_Open_DevNode_Key
- #define CM_Open_DevInst_Key_Ex CM_Open_DevNode_Key_Ex
- CMAPI
- CONFIGRET
- WINAPI
- CM_Query_Arbitrator_Free_Data(
- OUT PVOID pData,
- IN ULONG DataLen,
- IN DEVINST dnDevInst,
- IN RESOURCEID ResourceID,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Query_Arbitrator_Free_Data_Ex(
- OUT PVOID pData,
- IN ULONG DataLen,
- IN DEVINST dnDevInst,
- IN RESOURCEID ResourceID,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Query_Arbitrator_Free_Size(
- OUT PULONG pulSize,
- IN DEVINST dnDevInst,
- IN RESOURCEID ResourceID,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Query_Arbitrator_Free_Size_Ex(
- OUT PULONG pulSize,
- IN DEVINST dnDevInst,
- IN RESOURCEID ResourceID,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Query_Remove_SubTree(
- IN DEVINST dnAncestor,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Query_Remove_SubTree_Ex(
- IN DEVINST dnAncestor,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Query_And_Remove_SubTreeA(
- IN DEVINST dnAncestor,
- OUT PPNP_VETO_TYPE pVetoType,
- OUT LPSTR pszVetoName,
- IN ULONG ulNameLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Query_And_Remove_SubTree_ExA(
- IN DEVINST dnAncestor,
- OUT PPNP_VETO_TYPE pVetoType,
- OUT LPSTR pszVetoName,
- IN ULONG ulNameLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Query_And_Remove_SubTreeW(
- IN DEVINST dnAncestor,
- OUT PPNP_VETO_TYPE pVetoType,
- OUT LPWSTR pszVetoName,
- IN ULONG ulNameLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Query_And_Remove_SubTree_ExW(
- IN DEVINST dnAncestor,
- OUT PPNP_VETO_TYPE pVetoType,
- OUT LPWSTR pszVetoName,
- IN ULONG ulNameLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Query_And_Remove_SubTree CM_Query_And_Remove_SubTreeW
- #define CM_Query_And_Remove_SubTree_Ex CM_Query_And_Remove_SubTree_ExW
- #else
- #define CM_Query_And_Remove_SubTree CM_Query_And_Remove_SubTreeA
- #define CM_Query_And_Remove_SubTree_Ex CM_Query_And_Remove_SubTree_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Request_Device_EjectA(
- IN DEVINST dnDevInst,
- OUT PPNP_VETO_TYPE pVetoType,
- OUT LPSTR pszVetoName,
- IN ULONG ulNameLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Request_Device_Eject_ExA(
- IN DEVINST dnDevInst,
- OUT PPNP_VETO_TYPE pVetoType,
- OUT LPSTR pszVetoName,
- IN ULONG ulNameLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Request_Device_EjectW(
- IN DEVINST dnDevInst,
- OUT PPNP_VETO_TYPE pVetoType,
- OUT LPWSTR pszVetoName,
- IN ULONG ulNameLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Request_Device_Eject_ExW(
- IN DEVINST dnDevInst,
- OUT PPNP_VETO_TYPE pVetoType,
- OUT LPWSTR pszVetoName,
- IN ULONG ulNameLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Request_Device_Eject CM_Request_Device_EjectW
- #define CM_Request_Device_Eject_Ex CM_Request_Device_Eject_ExW
- #else
- #define CM_Request_Device_Eject CM_Request_Device_EjectA
- #define CM_Request_Device_Eject_Ex CM_Request_Device_Eject_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Reenumerate_DevNode(
- IN DEVINST dnDevInst,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Reenumerate_DevNode_Ex(
- IN DEVINST dnDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #define CM_Reenumerate_DevInst CM_Reenumerate_DevNode
- #define CM_Reenumerate_DevInst_Ex CM_Reenumerate_DevNode_Ex
- CMAPI
- CONFIGRET
- WINAPI
- CM_Register_Device_InterfaceA(
- IN DEVINST dnDevInst,
- IN LPGUID InterfaceClassGuid,
- IN LPCSTR pszReference, OPTIONAL
- OUT LPSTR pszDeviceInterface,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Register_Device_InterfaceW(
- IN DEVINST dnDevInst,
- IN LPGUID InterfaceClassGuid,
- IN LPCWSTR pszReference, OPTIONAL
- OUT LPWSTR pszDeviceInterface,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Register_Device_Interface_ExA(
- IN DEVINST dnDevInst,
- IN LPGUID InterfaceClassGuid,
- IN LPCSTR pszReference, OPTIONAL
- OUT LPSTR pszDeviceInterface,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Register_Device_Interface_ExW(
- IN DEVINST dnDevInst,
- IN LPGUID InterfaceClassGuid,
- IN LPCWSTR pszReference, OPTIONAL
- OUT LPWSTR pszDeviceInterface,
- IN OUT PULONG pulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Register_Device_Interface CM_Register_Device_InterfaceW
- #define CM_Register_Device_Interface_Ex CM_Register_Device_Interface_ExW
- #else
- #define CM_Register_Device_Interface CM_Register_Device_InterfaceA
- #define CM_Register_Device_Interface_Ex CM_Register_Device_Interface_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Set_DevNode_Problem_Ex(
- IN DEVINST dnDevInst,
- IN ULONG ulProblem,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Set_DevNode_Problem(
- IN DEVINST dnDevInst,
- IN ULONG ulProblem,
- IN ULONG ulFlags
- );
- #define CM_Set_DevInst_Problem CM_Set_DevNode_Problem
- #define CM_Set_DevInst_Problem_Ex CM_Set_DevNode_Problem_Ex
- CMAPI
- CONFIGRET
- WINAPI
- CM_Unregister_Device_InterfaceA(
- IN LPCSTR pszDeviceInterface,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Unregister_Device_InterfaceW(
- IN LPCWSTR pszDeviceInterface,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Unregister_Device_Interface_ExA(
- IN LPCSTR pszDeviceInterface,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Unregister_Device_Interface_ExW(
- IN LPCWSTR pszDeviceInterface,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Unregister_Device_Interface CM_Unregister_Device_InterfaceW
- #define CM_Unregister_Device_Interface_Ex CM_Unregister_Device_Interface_ExW
- #else
- #define CM_Unregister_Device_Interface CM_Unregister_Device_InterfaceA
- #define CM_Unregister_Device_Interface_Ex CM_Unregister_Device_Interface_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Register_Device_Driver(
- IN DEVINST dnDevInst,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Register_Device_Driver_Ex(
- IN DEVINST dnDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Remove_SubTree(
- IN DEVINST dnAncestor,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Remove_SubTree_Ex(
- IN DEVINST dnAncestor,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Set_DevNode_Registry_PropertyA(
- IN DEVINST dnDevInst,
- IN ULONG ulProperty,
- IN PCVOID Buffer, OPTIONAL
- IN ULONG ulLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Set_DevNode_Registry_PropertyW(
- IN DEVINST dnDevInst,
- IN ULONG ulProperty,
- IN PCVOID Buffer, OPTIONAL
- IN ULONG ulLength,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Set_DevNode_Registry_Property_ExA(
- IN DEVINST dnDevInst,
- IN ULONG ulProperty,
- IN PCVOID Buffer, OPTIONAL
- IN ULONG ulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Set_DevNode_Registry_Property_ExW(
- IN DEVINST dnDevInst,
- IN ULONG ulProperty,
- IN PCVOID Buffer, OPTIONAL
- IN ULONG ulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #define CM_Set_DevInst_Registry_PropertyW CM_Set_DevNode_Registry_PropertyW
- #define CM_Set_DevInst_Registry_PropertyA CM_Set_DevNode_Registry_PropertyA
- #define CM_Set_DevInst_Registry_Property_ExW CM_Set_DevNode_Registry_Property_ExW
- #define CM_Set_DevInst_Registry_Property_ExA CM_Set_DevNode_Registry_Property_ExA
- #ifdef UNICODE
- #define CM_Set_DevInst_Registry_Property CM_Set_DevNode_Registry_PropertyW
- #define CM_Set_DevInst_Registry_Property_Ex CM_Set_DevNode_Registry_Property_ExW
- #define CM_Set_DevNode_Registry_Property CM_Set_DevNode_Registry_PropertyW
- #define CM_Set_DevNode_Registry_Property_Ex CM_Set_DevNode_Registry_Property_ExW
- #else
- #define CM_Set_DevInst_Registry_Property CM_Set_DevNode_Registry_PropertyA
- #define CM_Set_DevInst_Registry_Property_Ex CM_Set_DevNode_Registry_Property_ExA
- #define CM_Set_DevNode_Registry_Property CM_Set_DevNode_Registry_PropertyA
- #define CM_Set_DevNode_Registry_Property_Ex CM_Set_DevNode_Registry_Property_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Is_Dock_Station_Present(
- OUT PBOOL pbPresent
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Is_Dock_Station_Present_Ex(
- OUT PBOOL pbPresent,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Request_Eject_PC(
- VOID
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Request_Eject_PC_Ex(
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Set_HW_Prof_FlagsA(
- IN DEVINSTID_A szDevInstName,
- IN ULONG ulConfig,
- IN ULONG ulValue,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Set_HW_Prof_FlagsW(
- IN DEVINSTID_W szDevInstName,
- IN ULONG ulConfig,
- IN ULONG ulValue,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Set_HW_Prof_Flags_ExA(
- IN DEVINSTID_A szDevInstName,
- IN ULONG ulConfig,
- IN ULONG ulValue,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Set_HW_Prof_Flags_ExW(
- IN DEVINSTID_W szDevInstName,
- IN ULONG ulConfig,
- IN ULONG ulValue,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Set_HW_Prof_Flags CM_Set_HW_Prof_FlagsW
- #define CM_Set_HW_Prof_Flags_Ex CM_Set_HW_Prof_Flags_ExW
- #else
- #define CM_Set_HW_Prof_Flags CM_Set_HW_Prof_FlagsA
- #define CM_Set_HW_Prof_Flags_Ex CM_Set_HW_Prof_Flags_ExA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Setup_DevNode(
- IN DEVINST dnDevInst,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Setup_DevNode_Ex(
- IN DEVINST dnDevInst,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #define CM_Setup_DevInst CM_Setup_DevNode
- #define CM_Setup_DevInst_Ex CM_Setup_DevNode_Ex
- CMAPI
- CONFIGRET
- WINAPI
- CM_Test_Range_Available(
- IN DWORDLONG ullStartValue,
- IN DWORDLONG ullEndValue,
- IN RANGE_LIST rlh,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Uninstall_DevNode(
- IN DEVNODE dnPhantom,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Uninstall_DevNode_Ex(
- IN DEVNODE dnPhantom,
- IN ULONG ulFlags,
- IN HANDLE hMachine
- );
- #define CM_Uninstall_DevInst CM_Uninstall_DevNode
- #define CM_Uninstall_DevInst_Ex CM_Uninstall_DevNode_Ex
- CMAPI
- CONFIGRET
- WINAPI
- CM_Run_Detection(
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Run_Detection_Ex(
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Set_HW_Prof(
- IN ULONG ulHardwareProfile,
- IN ULONG ulFlags
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Set_HW_Prof_Ex(
- IN ULONG ulHardwareProfile,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Query_Resource_Conflict_List(
- OUT PCONFLICT_LIST pclConflictList,
- IN DEVINST dnDevInst,
- IN RESOURCEID ResourceID,
- IN PCVOID ResourceData,
- IN ULONG ResourceLen,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Free_Resource_Conflict_Handle(
- IN CONFLICT_LIST clConflictList
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Resource_Conflict_Count(
- IN CONFLICT_LIST clConflictList,
- OUT PULONG pulCount
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Resource_Conflict_DetailsA(
- IN CONFLICT_LIST clConflictList,
- IN ULONG ulIndex,
- IN OUT PCONFLICT_DETAILS_A pConflictDetails
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Resource_Conflict_DetailsW(
- IN CONFLICT_LIST clConflictList,
- IN ULONG ulIndex,
- IN OUT PCONFLICT_DETAILS_W pConflictDetails
- );
- #ifdef UNICODE
- #define CM_Get_Resource_Conflict_Details CM_Get_Resource_Conflict_DetailsW
- #else
- #define CM_Get_Resource_Conflict_Details CM_Get_Resource_Conflict_DetailsA
- #endif // UNICODE
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Class_Registry_PropertyW(
- IN LPGUID ClassGUID,
- IN ULONG ulProperty,
- OUT PULONG pulRegDataType, OPTIONAL
- OUT PVOID Buffer, OPTIONAL
- IN OUT PULONG pulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Set_Class_Registry_PropertyW(
- IN LPGUID ClassGUID,
- IN ULONG ulProperty,
- IN PCVOID Buffer, OPTIONAL
- IN ULONG ulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Get_Class_Registry_PropertyA(
- IN LPGUID ClassGUID,
- IN ULONG ulProperty,
- OUT PULONG pulRegDataType, OPTIONAL
- OUT PVOID Buffer, OPTIONAL
- IN OUT PULONG pulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- CMAPI
- CONFIGRET
- WINAPI
- CM_Set_Class_Registry_PropertyA(
- IN LPGUID ClassGUID,
- IN ULONG ulProperty,
- IN PCVOID Buffer, OPTIONAL
- IN ULONG ulLength,
- IN ULONG ulFlags,
- IN HMACHINE hMachine
- );
- #ifdef UNICODE
- #define CM_Get_Class_Registry_Property CM_Get_Class_Registry_PropertyW
- #define CM_Set_Class_Registry_Property CM_Set_Class_Registry_PropertyW
- #else
- #define CM_Get_Class_Registry_Property CM_Get_Class_Registry_PropertyA
- #define CM_Set_Class_Registry_Property CM_Set_Class_Registry_PropertyA
- #endif // UNICODE
- #define CM_WaitNoPendingInstallEvents CMP_WaitNoPendingInstallEvents
- DWORD
- WINAPI
- CM_WaitNoPendingInstallEvents(
- IN DWORD dwTimeout
- );
- //--------------------------------------------------------------
- // Configuration Manager return status codes
- //--------------------------------------------------------------
- #define CR_SUCCESS (0x00000000)
- #define CR_DEFAULT (0x00000001)
- #define CR_OUT_OF_MEMORY (0x00000002)
- #define CR_INVALID_POINTER (0x00000003)
- #define CR_INVALID_FLAG (0x00000004)
- #define CR_INVALID_DEVNODE (0x00000005)
- #define CR_INVALID_DEVINST CR_INVALID_DEVNODE
- #define CR_INVALID_RES_DES (0x00000006)
- #define CR_INVALID_LOG_CONF (0x00000007)
- #define CR_INVALID_ARBITRATOR (0x00000008)
- #define CR_INVALID_NODELIST (0x00000009)
- #define CR_DEVNODE_HAS_REQS (0x0000000A)
- #define CR_DEVINST_HAS_REQS CR_DEVNODE_HAS_REQS
- #define CR_INVALID_RESOURCEID (0x0000000B)
- #define CR_DLVXD_NOT_FOUND (0x0000000C) // WIN 95 ONLY
- #define CR_NO_SUCH_DEVNODE (0x0000000D)
- #define CR_NO_SUCH_DEVINST CR_NO_SUCH_DEVNODE
- #define CR_NO_MORE_LOG_CONF (0x0000000E)
- #define CR_NO_MORE_RES_DES (0x0000000F)
- #define CR_ALREADY_SUCH_DEVNODE (0x00000010)
- #define CR_ALREADY_SUCH_DEVINST CR_ALREADY_SUCH_DEVNODE
- #define CR_INVALID_RANGE_LIST (0x00000011)
- #define CR_INVALID_RANGE (0x00000012)
- #define CR_FAILURE (0x00000013)
- #define CR_NO_SUCH_LOGICAL_DEV (0x00000014)
- #define CR_CREATE_BLOCKED (0x00000015)
- #define CR_NOT_SYSTEM_VM (0x00000016) // WIN 95 ONLY
- #define CR_REMOVE_VETOED (0x00000017)
- #define CR_APM_VETOED (0x00000018)
- #define CR_INVALID_LOAD_TYPE (0x00000019)
- #define CR_BUFFER_SMALL (0x0000001A)
- #define CR_NO_ARBITRATOR (0x0000001B)
- #define CR_NO_REGISTRY_HANDLE (0x0000001C)
- #define CR_REGISTRY_ERROR (0x0000001D)
- #define CR_INVALID_DEVICE_ID (0x0000001E)
- #define CR_INVALID_DATA (0x0000001F)
- #define CR_INVALID_API (0x00000020)
- #define CR_DEVLOADER_NOT_READY (0x00000021)
- #define CR_NEED_RESTART (0x00000022)
- #define CR_NO_MORE_HW_PROFILES (0x00000023)
- #define CR_DEVICE_NOT_THERE (0x00000024)
- #define CR_NO_SUCH_VALUE (0x00000025)
- #define CR_WRONG_TYPE (0x00000026)
- #define CR_INVALID_PRIORITY (0x00000027)
- #define CR_NOT_DISABLEABLE (0x00000028)
- #define CR_FREE_RESOURCES (0x00000029)
- #define CR_QUERY_VETOED (0x0000002A)
- #define CR_CANT_SHARE_IRQ (0x0000002B)
- #define CR_NO_DEPENDENT (0x0000002C)
- #define CR_SAME_RESOURCES (0x0000002D)
- #define CR_NO_SUCH_REGISTRY_KEY (0x0000002E)
- #define CR_INVALID_MACHINENAME (0x0000002F) // NT ONLY
- #define CR_REMOTE_COMM_FAILURE (0x00000030) // NT ONLY
- #define CR_MACHINE_UNAVAILABLE (0x00000031) // NT ONLY
- #define CR_NO_CM_SERVICES (0x00000032) // NT ONLY
- #define CR_ACCESS_DENIED (0x00000033) // NT ONLY
- #define CR_CALL_NOT_IMPLEMENTED (0x00000034)
- #define CR_INVALID_PROPERTY (0x00000035)
- #define CR_DEVICE_INTERFACE_ACTIVE (0x00000036)
- #define CR_NO_SUCH_DEVICE_INTERFACE (0x00000037)
- #define CR_INVALID_REFERENCE_STRING (0x00000038)
- #define CR_INVALID_CONFLICT_LIST (0x00000039)
- #define CR_INVALID_INDEX (0x0000003A)
- #define CR_INVALID_STRUCTURE_SIZE (0x0000003B)
- #define NUM_CR_RESULTS (0x0000003C)
- #ifdef __cplusplus
- }
- #endif
- #endif // _CFGMGR32_
|