123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263 |
- /************************************************************************
- * *
- * winbase.h -- This module defines the 32-Bit Windows Base APIs *
- * *
- * Copyright (c) Microsoft Corp. All rights reserved. *
- * *
- ************************************************************************/
- #ifndef _WINBASE_
- #define _WINBASE_
- #if _MSC_VER > 1000
- #pragma once
- #endif
- #ifdef _MAC
- #include <macwin32.h>
- #endif //_MAC
- //
- // Define API decoration for direct importing of DLL references.
- //
- #if !defined(_ADVAPI32_)
- #define WINADVAPI DECLSPEC_IMPORT
- #else
- #define WINADVAPI
- #endif
- #if !defined(_KERNEL32_)
- #define WINBASEAPI DECLSPEC_IMPORT
- #else
- #define WINBASEAPI
- #endif
- #if !defined(_ZAWPROXY_)
- #define ZAWPROXYAPI DECLSPEC_IMPORT
- #else
- #define ZAWPROXYAPI
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- /*
- * Compatibility macros
- */
- #define DefineHandleTable(w) ((w),TRUE)
- #define LimitEmsPages(dw)
- #define SetSwapAreaSize(w) (w)
- #define LockSegment(w) GlobalFix((HANDLE)(w))
- #define UnlockSegment(w) GlobalUnfix((HANDLE)(w))
- #define GetCurrentTime() GetTickCount()
- #define Yield()
- #define INVALID_HANDLE_VALUE ((HANDLE)(LONG_PTR)-1)
- #define INVALID_FILE_SIZE ((DWORD)0xFFFFFFFF)
- #define INVALID_SET_FILE_POINTER ((DWORD)-1)
- #define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
- #define FILE_BEGIN 0
- #define FILE_CURRENT 1
- #define FILE_END 2
- #define TIME_ZONE_ID_INVALID ((DWORD)0xFFFFFFFF)
- #define WAIT_FAILED ((DWORD)0xFFFFFFFF)
- #define WAIT_OBJECT_0 ((STATUS_WAIT_0 ) + 0 )
- #define WAIT_ABANDONED ((STATUS_ABANDONED_WAIT_0 ) + 0 )
- #define WAIT_ABANDONED_0 ((STATUS_ABANDONED_WAIT_0 ) + 0 )
- #define WAIT_IO_COMPLETION STATUS_USER_APC
- #define STILL_ACTIVE STATUS_PENDING
- #define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION
- #define EXCEPTION_DATATYPE_MISALIGNMENT STATUS_DATATYPE_MISALIGNMENT
- #define EXCEPTION_BREAKPOINT STATUS_BREAKPOINT
- #define EXCEPTION_SINGLE_STEP STATUS_SINGLE_STEP
- #define EXCEPTION_ARRAY_BOUNDS_EXCEEDED STATUS_ARRAY_BOUNDS_EXCEEDED
- #define EXCEPTION_FLT_DENORMAL_OPERAND STATUS_FLOAT_DENORMAL_OPERAND
- #define EXCEPTION_FLT_DIVIDE_BY_ZERO STATUS_FLOAT_DIVIDE_BY_ZERO
- #define EXCEPTION_FLT_INEXACT_RESULT STATUS_FLOAT_INEXACT_RESULT
- #define EXCEPTION_FLT_INVALID_OPERATION STATUS_FLOAT_INVALID_OPERATION
- #define EXCEPTION_FLT_OVERFLOW STATUS_FLOAT_OVERFLOW
- #define EXCEPTION_FLT_STACK_CHECK STATUS_FLOAT_STACK_CHECK
- #define EXCEPTION_FLT_UNDERFLOW STATUS_FLOAT_UNDERFLOW
- #define EXCEPTION_INT_DIVIDE_BY_ZERO STATUS_INTEGER_DIVIDE_BY_ZERO
- #define EXCEPTION_INT_OVERFLOW STATUS_INTEGER_OVERFLOW
- #define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION
- #define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR
- #define EXCEPTION_ILLEGAL_INSTRUCTION STATUS_ILLEGAL_INSTRUCTION
- #define EXCEPTION_NONCONTINUABLE_EXCEPTION STATUS_NONCONTINUABLE_EXCEPTION
- #define EXCEPTION_STACK_OVERFLOW STATUS_STACK_OVERFLOW
- #define EXCEPTION_INVALID_DISPOSITION STATUS_INVALID_DISPOSITION
- #define EXCEPTION_GUARD_PAGE STATUS_GUARD_PAGE_VIOLATION
- #define EXCEPTION_INVALID_HANDLE STATUS_INVALID_HANDLE
- #define CONTROL_C_EXIT STATUS_CONTROL_C_EXIT
- #define MoveMemory RtlMoveMemory
- #define CopyMemory RtlCopyMemory
- #define FillMemory RtlFillMemory
- #define ZeroMemory RtlZeroMemory
- #define SecureZeroMemory RtlSecureZeroMemory
- //
- // File creation flags must start at the high end since they
- // are combined with the attributes
- //
- #define FILE_FLAG_WRITE_THROUGH 0x80000000
- #define FILE_FLAG_OVERLAPPED 0x40000000
- #define FILE_FLAG_NO_BUFFERING 0x20000000
- #define FILE_FLAG_RANDOM_ACCESS 0x10000000
- #define FILE_FLAG_SEQUENTIAL_SCAN 0x08000000
- #define FILE_FLAG_DELETE_ON_CLOSE 0x04000000
- #define FILE_FLAG_BACKUP_SEMANTICS 0x02000000
- #define FILE_FLAG_POSIX_SEMANTICS 0x01000000
- #define FILE_FLAG_OPEN_REPARSE_POINT 0x00200000
- #define FILE_FLAG_OPEN_NO_RECALL 0x00100000
- #define FILE_FLAG_FIRST_PIPE_INSTANCE 0x00080000
- #define CREATE_NEW 1
- #define CREATE_ALWAYS 2
- #define OPEN_EXISTING 3
- #define OPEN_ALWAYS 4
- #define TRUNCATE_EXISTING 5
- #if(_WIN32_WINNT >= 0x0400)
- //
- // Define possible return codes from the CopyFileEx callback routine
- //
- #define PROGRESS_CONTINUE 0
- #define PROGRESS_CANCEL 1
- #define PROGRESS_STOP 2
- #define PROGRESS_QUIET 3
- //
- // Define CopyFileEx callback routine state change values
- //
- #define CALLBACK_CHUNK_FINISHED 0x00000000
- #define CALLBACK_STREAM_SWITCH 0x00000001
- //
- // Define CopyFileEx option flags
- //
- #define COPY_FILE_FAIL_IF_EXISTS 0x00000001
- #define COPY_FILE_RESTARTABLE 0x00000002
- #define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x00000004
- #define COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x00000008
- #endif /* _WIN32_WINNT >= 0x0400 */
- #if (_WIN32_WINNT >= 0x0500)
- //
- // Define ReplaceFile option flags
- //
- #define REPLACEFILE_WRITE_THROUGH 0x00000001
- #define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002
- #endif // #if (_WIN32_WINNT >= 0x0500)
- //
- // Define the NamedPipe definitions
- //
- //
- // Define the dwOpenMode values for CreateNamedPipe
- //
- #define PIPE_ACCESS_INBOUND 0x00000001
- #define PIPE_ACCESS_OUTBOUND 0x00000002
- #define PIPE_ACCESS_DUPLEX 0x00000003
- //
- // Define the Named Pipe End flags for GetNamedPipeInfo
- //
- #define PIPE_CLIENT_END 0x00000000
- #define PIPE_SERVER_END 0x00000001
- //
- // Define the dwPipeMode values for CreateNamedPipe
- //
- #define PIPE_WAIT 0x00000000
- #define PIPE_NOWAIT 0x00000001
- #define PIPE_READMODE_BYTE 0x00000000
- #define PIPE_READMODE_MESSAGE 0x00000002
- #define PIPE_TYPE_BYTE 0x00000000
- #define PIPE_TYPE_MESSAGE 0x00000004
- //
- // Define the well known values for CreateNamedPipe nMaxInstances
- //
- #define PIPE_UNLIMITED_INSTANCES 255
- //
- // Define the Security Quality of Service bits to be passed
- // into CreateFile
- //
- #define SECURITY_ANONYMOUS ( SecurityAnonymous << 16 )
- #define SECURITY_IDENTIFICATION ( SecurityIdentification << 16 )
- #define SECURITY_IMPERSONATION ( SecurityImpersonation << 16 )
- #define SECURITY_DELEGATION ( SecurityDelegation << 16 )
- #define SECURITY_CONTEXT_TRACKING 0x00040000
- #define SECURITY_EFFECTIVE_ONLY 0x00080000
- #define SECURITY_SQOS_PRESENT 0x00100000
- #define SECURITY_VALID_SQOS_FLAGS 0x001F0000
- //
- // File structures
- //
- typedef struct _OVERLAPPED {
- ULONG_PTR Internal;
- ULONG_PTR InternalHigh;
- union {
- struct {
- DWORD Offset;
- DWORD OffsetHigh;
- };
- PVOID Pointer;
- };
- HANDLE hEvent;
- } OVERLAPPED, *LPOVERLAPPED;
- typedef struct _SECURITY_ATTRIBUTES {
- DWORD nLength;
- LPVOID lpSecurityDescriptor;
- BOOL bInheritHandle;
- } SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
- typedef struct _PROCESS_INFORMATION {
- HANDLE hProcess;
- HANDLE hThread;
- DWORD dwProcessId;
- DWORD dwThreadId;
- } PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;
- //
- // File System time stamps are represented with the following structure:
- //
- typedef struct _FILETIME {
- DWORD dwLowDateTime;
- DWORD dwHighDateTime;
- } FILETIME, *PFILETIME, *LPFILETIME;
- //
- // System time is represented with the following structure:
- //
- typedef struct _SYSTEMTIME {
- WORD wYear;
- WORD wMonth;
- WORD wDayOfWeek;
- WORD wDay;
- WORD wHour;
- WORD wMinute;
- WORD wSecond;
- WORD wMilliseconds;
- } SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
- typedef DWORD (WINAPI *PTHREAD_START_ROUTINE)(
- LPVOID lpThreadParameter
- );
- typedef PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE;
- #if(_WIN32_WINNT >= 0x0400)
- typedef VOID (WINAPI *PFIBER_START_ROUTINE)(
- LPVOID lpFiberParameter
- );
- typedef PFIBER_START_ROUTINE LPFIBER_START_ROUTINE;
- #endif /* _WIN32_WINNT >= 0x0400 */
- typedef RTL_CRITICAL_SECTION CRITICAL_SECTION;
- typedef PRTL_CRITICAL_SECTION PCRITICAL_SECTION;
- typedef PRTL_CRITICAL_SECTION LPCRITICAL_SECTION;
- typedef RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG;
- typedef PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG;
- typedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG;
- WINBASEAPI
- PVOID
- WINAPI
- EncodePointer (
- PVOID Ptr
- );
- WINBASEAPI
- PVOID
- WINAPI
- DecodePointer (
- PVOID Ptr
- );
- WINBASEAPI
- PVOID
- WINAPI
- EncodeSystemPointer (
- PVOID Ptr
- );
- WINBASEAPI
- PVOID
- WINAPI
- DecodeSystemPointer (
- PVOID Ptr
- );
- #if defined(_X86_)
- typedef PLDT_ENTRY LPLDT_ENTRY;
- #else
- typedef LPVOID LPLDT_ENTRY;
- #endif
- #define MUTEX_MODIFY_STATE MUTANT_QUERY_STATE
- #define MUTEX_ALL_ACCESS MUTANT_ALL_ACCESS
- //
- // Serial provider type.
- //
- #define SP_SERIALCOMM ((DWORD)0x00000001)
- //
- // Provider SubTypes
- //
- #define PST_UNSPECIFIED ((DWORD)0x00000000)
- #define PST_RS232 ((DWORD)0x00000001)
- #define PST_PARALLELPORT ((DWORD)0x00000002)
- #define PST_RS422 ((DWORD)0x00000003)
- #define PST_RS423 ((DWORD)0x00000004)
- #define PST_RS449 ((DWORD)0x00000005)
- #define PST_MODEM ((DWORD)0x00000006)
- #define PST_FAX ((DWORD)0x00000021)
- #define PST_SCANNER ((DWORD)0x00000022)
- #define PST_NETWORK_BRIDGE ((DWORD)0x00000100)
- #define PST_LAT ((DWORD)0x00000101)
- #define PST_TCPIP_TELNET ((DWORD)0x00000102)
- #define PST_X25 ((DWORD)0x00000103)
- //
- // Provider capabilities flags.
- //
- #define PCF_DTRDSR ((DWORD)0x0001)
- #define PCF_RTSCTS ((DWORD)0x0002)
- #define PCF_RLSD ((DWORD)0x0004)
- #define PCF_PARITY_CHECK ((DWORD)0x0008)
- #define PCF_XONXOFF ((DWORD)0x0010)
- #define PCF_SETXCHAR ((DWORD)0x0020)
- #define PCF_TOTALTIMEOUTS ((DWORD)0x0040)
- #define PCF_INTTIMEOUTS ((DWORD)0x0080)
- #define PCF_SPECIALCHARS ((DWORD)0x0100)
- #define PCF_16BITMODE ((DWORD)0x0200)
- //
- // Comm provider settable parameters.
- //
- #define SP_PARITY ((DWORD)0x0001)
- #define SP_BAUD ((DWORD)0x0002)
- #define SP_DATABITS ((DWORD)0x0004)
- #define SP_STOPBITS ((DWORD)0x0008)
- #define SP_HANDSHAKING ((DWORD)0x0010)
- #define SP_PARITY_CHECK ((DWORD)0x0020)
- #define SP_RLSD ((DWORD)0x0040)
- //
- // Settable baud rates in the provider.
- //
- #define BAUD_075 ((DWORD)0x00000001)
- #define BAUD_110 ((DWORD)0x00000002)
- #define BAUD_134_5 ((DWORD)0x00000004)
- #define BAUD_150 ((DWORD)0x00000008)
- #define BAUD_300 ((DWORD)0x00000010)
- #define BAUD_600 ((DWORD)0x00000020)
- #define BAUD_1200 ((DWORD)0x00000040)
- #define BAUD_1800 ((DWORD)0x00000080)
- #define BAUD_2400 ((DWORD)0x00000100)
- #define BAUD_4800 ((DWORD)0x00000200)
- #define BAUD_7200 ((DWORD)0x00000400)
- #define BAUD_9600 ((DWORD)0x00000800)
- #define BAUD_14400 ((DWORD)0x00001000)
- #define BAUD_19200 ((DWORD)0x00002000)
- #define BAUD_38400 ((DWORD)0x00004000)
- #define BAUD_56K ((DWORD)0x00008000)
- #define BAUD_128K ((DWORD)0x00010000)
- #define BAUD_115200 ((DWORD)0x00020000)
- #define BAUD_57600 ((DWORD)0x00040000)
- #define BAUD_USER ((DWORD)0x10000000)
- //
- // Settable Data Bits
- //
- #define DATABITS_5 ((WORD)0x0001)
- #define DATABITS_6 ((WORD)0x0002)
- #define DATABITS_7 ((WORD)0x0004)
- #define DATABITS_8 ((WORD)0x0008)
- #define DATABITS_16 ((WORD)0x0010)
- #define DATABITS_16X ((WORD)0x0020)
- //
- // Settable Stop and Parity bits.
- //
- #define STOPBITS_10 ((WORD)0x0001)
- #define STOPBITS_15 ((WORD)0x0002)
- #define STOPBITS_20 ((WORD)0x0004)
- #define PARITY_NONE ((WORD)0x0100)
- #define PARITY_ODD ((WORD)0x0200)
- #define PARITY_EVEN ((WORD)0x0400)
- #define PARITY_MARK ((WORD)0x0800)
- #define PARITY_SPACE ((WORD)0x1000)
- typedef struct _COMMPROP {
- WORD wPacketLength;
- WORD wPacketVersion;
- DWORD dwServiceMask;
- DWORD dwReserved1;
- DWORD dwMaxTxQueue;
- DWORD dwMaxRxQueue;
- DWORD dwMaxBaud;
- DWORD dwProvSubType;
- DWORD dwProvCapabilities;
- DWORD dwSettableParams;
- DWORD dwSettableBaud;
- WORD wSettableData;
- WORD wSettableStopParity;
- DWORD dwCurrentTxQueue;
- DWORD dwCurrentRxQueue;
- DWORD dwProvSpec1;
- DWORD dwProvSpec2;
- WCHAR wcProvChar[1];
- } COMMPROP,*LPCOMMPROP;
- //
- // Set dwProvSpec1 to COMMPROP_INITIALIZED to indicate that wPacketLength
- // is valid before a call to GetCommProperties().
- //
- #define COMMPROP_INITIALIZED ((DWORD)0xE73CF52E)
- typedef struct _COMSTAT {
- DWORD fCtsHold : 1;
- DWORD fDsrHold : 1;
- DWORD fRlsdHold : 1;
- DWORD fXoffHold : 1;
- DWORD fXoffSent : 1;
- DWORD fEof : 1;
- DWORD fTxim : 1;
- DWORD fReserved : 25;
- DWORD cbInQue;
- DWORD cbOutQue;
- } COMSTAT, *LPCOMSTAT;
- //
- // DTR Control Flow Values.
- //
- #define DTR_CONTROL_DISABLE 0x00
- #define DTR_CONTROL_ENABLE 0x01
- #define DTR_CONTROL_HANDSHAKE 0x02
- //
- // RTS Control Flow Values
- //
- #define RTS_CONTROL_DISABLE 0x00
- #define RTS_CONTROL_ENABLE 0x01
- #define RTS_CONTROL_HANDSHAKE 0x02
- #define RTS_CONTROL_TOGGLE 0x03
- typedef struct _DCB {
- DWORD DCBlength; /* sizeof(DCB) */
- DWORD BaudRate; /* Baudrate at which running */
- DWORD fBinary: 1; /* Binary Mode (skip EOF check) */
- DWORD fParity: 1; /* Enable parity checking */
- DWORD fOutxCtsFlow:1; /* CTS handshaking on output */
- DWORD fOutxDsrFlow:1; /* DSR handshaking on output */
- DWORD fDtrControl:2; /* DTR Flow control */
- DWORD fDsrSensitivity:1; /* DSR Sensitivity */
- DWORD fTXContinueOnXoff: 1; /* Continue TX when Xoff sent */
- DWORD fOutX: 1; /* Enable output X-ON/X-OFF */
- DWORD fInX: 1; /* Enable input X-ON/X-OFF */
- DWORD fErrorChar: 1; /* Enable Err Replacement */
- DWORD fNull: 1; /* Enable Null stripping */
- DWORD fRtsControl:2; /* Rts Flow control */
- DWORD fAbortOnError:1; /* Abort all reads and writes on Error */
- DWORD fDummy2:17; /* Reserved */
- WORD wReserved; /* Not currently used */
- WORD XonLim; /* Transmit X-ON threshold */
- WORD XoffLim; /* Transmit X-OFF threshold */
- BYTE ByteSize; /* Number of bits/byte, 4-8 */
- BYTE Parity; /* 0-4=None,Odd,Even,Mark,Space */
- BYTE StopBits; /* 0,1,2 = 1, 1.5, 2 */
- char XonChar; /* Tx and Rx X-ON character */
- char XoffChar; /* Tx and Rx X-OFF character */
- char ErrorChar; /* Error replacement char */
- char EofChar; /* End of Input character */
- char EvtChar; /* Received Event character */
- WORD wReserved1; /* Fill for now. */
- } DCB, *LPDCB;
- typedef struct _COMMTIMEOUTS {
- DWORD ReadIntervalTimeout; /* Maximum time between read chars. */
- DWORD ReadTotalTimeoutMultiplier; /* Multiplier of characters. */
- DWORD ReadTotalTimeoutConstant; /* Constant in milliseconds. */
- DWORD WriteTotalTimeoutMultiplier; /* Multiplier of characters. */
- DWORD WriteTotalTimeoutConstant; /* Constant in milliseconds. */
- } COMMTIMEOUTS,*LPCOMMTIMEOUTS;
- typedef struct _COMMCONFIG {
- DWORD dwSize; /* Size of the entire struct */
- WORD wVersion; /* version of the structure */
- WORD wReserved; /* alignment */
- DCB dcb; /* device control block */
- DWORD dwProviderSubType; /* ordinal value for identifying
- provider-defined data structure format*/
- DWORD dwProviderOffset; /* Specifies the offset of provider specific
- data field in bytes from the start */
- DWORD dwProviderSize; /* size of the provider-specific data field */
- WCHAR wcProviderData[1]; /* provider-specific data */
- } COMMCONFIG,*LPCOMMCONFIG;
- typedef struct _SYSTEM_INFO {
- union {
- DWORD dwOemId; // Obsolete field...do not use
- struct {
- WORD wProcessorArchitecture;
- WORD wReserved;
- };
- };
- DWORD dwPageSize;
- LPVOID lpMinimumApplicationAddress;
- LPVOID lpMaximumApplicationAddress;
- DWORD_PTR dwActiveProcessorMask;
- DWORD dwNumberOfProcessors;
- DWORD dwProcessorType;
- DWORD dwAllocationGranularity;
- WORD wProcessorLevel;
- WORD wProcessorRevision;
- } SYSTEM_INFO, *LPSYSTEM_INFO;
- //
- //
- #define FreeModule(hLibModule) FreeLibrary((hLibModule))
- #define MakeProcInstance(lpProc,hInstance) (lpProc)
- #define FreeProcInstance(lpProc) (lpProc)
- /* Global Memory Flags */
- #define GMEM_FIXED 0x0000
- #define GMEM_MOVEABLE 0x0002
- #define GMEM_NOCOMPACT 0x0010
- #define GMEM_NODISCARD 0x0020
- #define GMEM_ZEROINIT 0x0040
- #define GMEM_MODIFY 0x0080
- #define GMEM_DISCARDABLE 0x0100
- #define GMEM_NOT_BANKED 0x1000
- #define GMEM_SHARE 0x2000
- #define GMEM_DDESHARE 0x2000
- #define GMEM_NOTIFY 0x4000
- #define GMEM_LOWER GMEM_NOT_BANKED
- #define GMEM_VALID_FLAGS 0x7F72
- #define GMEM_INVALID_HANDLE 0x8000
- #define GHND (GMEM_MOVEABLE | GMEM_ZEROINIT)
- #define GPTR (GMEM_FIXED | GMEM_ZEROINIT)
- #define GlobalLRUNewest( h ) ((HANDLE)(h))
- #define GlobalLRUOldest( h ) ((HANDLE)(h))
- #define GlobalDiscard( h ) GlobalReAlloc( (h), 0, GMEM_MOVEABLE )
- /* Flags returned by GlobalFlags (in addition to GMEM_DISCARDABLE) */
- #define GMEM_DISCARDED 0x4000
- #define GMEM_LOCKCOUNT 0x00FF
- typedef struct _MEMORYSTATUS {
- DWORD dwLength;
- DWORD dwMemoryLoad;
- SIZE_T dwTotalPhys;
- SIZE_T dwAvailPhys;
- SIZE_T dwTotalPageFile;
- SIZE_T dwAvailPageFile;
- SIZE_T dwTotalVirtual;
- SIZE_T dwAvailVirtual;
- } MEMORYSTATUS, *LPMEMORYSTATUS;
- /* Local Memory Flags */
- #define LMEM_FIXED 0x0000
- #define LMEM_MOVEABLE 0x0002
- #define LMEM_NOCOMPACT 0x0010
- #define LMEM_NODISCARD 0x0020
- #define LMEM_ZEROINIT 0x0040
- #define LMEM_MODIFY 0x0080
- #define LMEM_DISCARDABLE 0x0F00
- #define LMEM_VALID_FLAGS 0x0F72
- #define LMEM_INVALID_HANDLE 0x8000
- #define LHND (LMEM_MOVEABLE | LMEM_ZEROINIT)
- #define LPTR (LMEM_FIXED | LMEM_ZEROINIT)
- #define NONZEROLHND (LMEM_MOVEABLE)
- #define NONZEROLPTR (LMEM_FIXED)
- #define LocalDiscard( h ) LocalReAlloc( (h), 0, LMEM_MOVEABLE )
- /* Flags returned by LocalFlags (in addition to LMEM_DISCARDABLE) */
- #define LMEM_DISCARDED 0x4000
- #define LMEM_LOCKCOUNT 0x00FF
- //
- // dwCreationFlag values
- //
- #define DEBUG_PROCESS 0x00000001
- #define DEBUG_ONLY_THIS_PROCESS 0x00000002
- #define CREATE_SUSPENDED 0x00000004
- #define DETACHED_PROCESS 0x00000008
- #define CREATE_NEW_CONSOLE 0x00000010
- #define NORMAL_PRIORITY_CLASS 0x00000020
- #define IDLE_PRIORITY_CLASS 0x00000040
- #define HIGH_PRIORITY_CLASS 0x00000080
- #define REALTIME_PRIORITY_CLASS 0x00000100
- #define CREATE_NEW_PROCESS_GROUP 0x00000200
- #define CREATE_UNICODE_ENVIRONMENT 0x00000400
- #define CREATE_SEPARATE_WOW_VDM 0x00000800
- #define CREATE_SHARED_WOW_VDM 0x00001000
- #define CREATE_FORCEDOS 0x00002000
- #define BELOW_NORMAL_PRIORITY_CLASS 0x00004000
- #define ABOVE_NORMAL_PRIORITY_CLASS 0x00008000
- #define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000
- #define CREATE_BREAKAWAY_FROM_JOB 0x01000000
- #define CREATE_PRESERVE_CODE_AUTHZ_LEVEL 0x02000000
- #define CREATE_DEFAULT_ERROR_MODE 0x04000000
- #define CREATE_NO_WINDOW 0x08000000
- #define PROFILE_USER 0x10000000
- #define PROFILE_KERNEL 0x20000000
- #define PROFILE_SERVER 0x40000000
- #define CREATE_IGNORE_SYSTEM_DEFAULT 0x80000000
- #define THREAD_PRIORITY_LOWEST THREAD_BASE_PRIORITY_MIN
- #define THREAD_PRIORITY_BELOW_NORMAL (THREAD_PRIORITY_LOWEST+1)
- #define THREAD_PRIORITY_NORMAL 0
- #define THREAD_PRIORITY_HIGHEST THREAD_BASE_PRIORITY_MAX
- #define THREAD_PRIORITY_ABOVE_NORMAL (THREAD_PRIORITY_HIGHEST-1)
- #define THREAD_PRIORITY_ERROR_RETURN (MAXLONG)
- #define THREAD_PRIORITY_TIME_CRITICAL THREAD_BASE_PRIORITY_LOWRT
- #define THREAD_PRIORITY_IDLE THREAD_BASE_PRIORITY_IDLE
- //
- // Debug APIs
- //
- #define EXCEPTION_DEBUG_EVENT 1
- #define CREATE_THREAD_DEBUG_EVENT 2
- #define CREATE_PROCESS_DEBUG_EVENT 3
- #define EXIT_THREAD_DEBUG_EVENT 4
- #define EXIT_PROCESS_DEBUG_EVENT 5
- #define LOAD_DLL_DEBUG_EVENT 6
- #define UNLOAD_DLL_DEBUG_EVENT 7
- #define OUTPUT_DEBUG_STRING_EVENT 8
- #define RIP_EVENT 9
- typedef struct _EXCEPTION_DEBUG_INFO {
- EXCEPTION_RECORD ExceptionRecord;
- DWORD dwFirstChance;
- } EXCEPTION_DEBUG_INFO, *LPEXCEPTION_DEBUG_INFO;
- typedef struct _CREATE_THREAD_DEBUG_INFO {
- HANDLE hThread;
- LPVOID lpThreadLocalBase;
- LPTHREAD_START_ROUTINE lpStartAddress;
- } CREATE_THREAD_DEBUG_INFO, *LPCREATE_THREAD_DEBUG_INFO;
- typedef struct _CREATE_PROCESS_DEBUG_INFO {
- HANDLE hFile;
- HANDLE hProcess;
- HANDLE hThread;
- LPVOID lpBaseOfImage;
- DWORD dwDebugInfoFileOffset;
- DWORD nDebugInfoSize;
- LPVOID lpThreadLocalBase;
- LPTHREAD_START_ROUTINE lpStartAddress;
- LPVOID lpImageName;
- WORD fUnicode;
- } CREATE_PROCESS_DEBUG_INFO, *LPCREATE_PROCESS_DEBUG_INFO;
- typedef struct _EXIT_THREAD_DEBUG_INFO {
- DWORD dwExitCode;
- } EXIT_THREAD_DEBUG_INFO, *LPEXIT_THREAD_DEBUG_INFO;
- typedef struct _EXIT_PROCESS_DEBUG_INFO {
- DWORD dwExitCode;
- } EXIT_PROCESS_DEBUG_INFO, *LPEXIT_PROCESS_DEBUG_INFO;
- typedef struct _LOAD_DLL_DEBUG_INFO {
- HANDLE hFile;
- LPVOID lpBaseOfDll;
- DWORD dwDebugInfoFileOffset;
- DWORD nDebugInfoSize;
- LPVOID lpImageName;
- WORD fUnicode;
- } LOAD_DLL_DEBUG_INFO, *LPLOAD_DLL_DEBUG_INFO;
- typedef struct _UNLOAD_DLL_DEBUG_INFO {
- LPVOID lpBaseOfDll;
- } UNLOAD_DLL_DEBUG_INFO, *LPUNLOAD_DLL_DEBUG_INFO;
- typedef struct _OUTPUT_DEBUG_STRING_INFO {
- LPSTR lpDebugStringData;
- WORD fUnicode;
- WORD nDebugStringLength;
- } OUTPUT_DEBUG_STRING_INFO, *LPOUTPUT_DEBUG_STRING_INFO;
- typedef struct _RIP_INFO {
- DWORD dwError;
- DWORD dwType;
- } RIP_INFO, *LPRIP_INFO;
- typedef struct _DEBUG_EVENT {
- DWORD dwDebugEventCode;
- DWORD dwProcessId;
- DWORD dwThreadId;
- union {
- EXCEPTION_DEBUG_INFO Exception;
- CREATE_THREAD_DEBUG_INFO CreateThread;
- CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
- EXIT_THREAD_DEBUG_INFO ExitThread;
- EXIT_PROCESS_DEBUG_INFO ExitProcess;
- LOAD_DLL_DEBUG_INFO LoadDll;
- UNLOAD_DLL_DEBUG_INFO UnloadDll;
- OUTPUT_DEBUG_STRING_INFO DebugString;
- RIP_INFO RipInfo;
- } u;
- } DEBUG_EVENT, *LPDEBUG_EVENT;
- #if !defined(MIDL_PASS)
- typedef PCONTEXT LPCONTEXT;
- typedef PEXCEPTION_RECORD LPEXCEPTION_RECORD;
- typedef PEXCEPTION_POINTERS LPEXCEPTION_POINTERS;
- #endif
- #define DRIVE_UNKNOWN 0
- #define DRIVE_NO_ROOT_DIR 1
- #define DRIVE_REMOVABLE 2
- #define DRIVE_FIXED 3
- #define DRIVE_REMOTE 4
- #define DRIVE_CDROM 5
- #define DRIVE_RAMDISK 6
- #ifndef _MAC
- #define GetFreeSpace(w) (0x100000L)
- #else
- WINBASEAPI DWORD WINAPI GetFreeSpace(UINT);
- #endif
- #define FILE_TYPE_UNKNOWN 0x0000
- #define FILE_TYPE_DISK 0x0001
- #define FILE_TYPE_CHAR 0x0002
- #define FILE_TYPE_PIPE 0x0003
- #define FILE_TYPE_REMOTE 0x8000
- #define STD_INPUT_HANDLE ((DWORD)-10)
- #define STD_OUTPUT_HANDLE ((DWORD)-11)
- #define STD_ERROR_HANDLE ((DWORD)-12)
- #define NOPARITY 0
- #define ODDPARITY 1
- #define EVENPARITY 2
- #define MARKPARITY 3
- #define SPACEPARITY 4
- #define ONESTOPBIT 0
- #define ONE5STOPBITS 1
- #define TWOSTOPBITS 2
- #define IGNORE 0 // Ignore signal
- #define INFINITE 0xFFFFFFFF // Infinite timeout
- //
- // Baud rates at which the communication device operates
- //
- #define CBR_110 110
- #define CBR_300 300
- #define CBR_600 600
- #define CBR_1200 1200
- #define CBR_2400 2400
- #define CBR_4800 4800
- #define CBR_9600 9600
- #define CBR_14400 14400
- #define CBR_19200 19200
- #define CBR_38400 38400
- #define CBR_56000 56000
- #define CBR_57600 57600
- #define CBR_115200 115200
- #define CBR_128000 128000
- #define CBR_256000 256000
- //
- // Error Flags
- //
- #define CE_RXOVER 0x0001 // Receive Queue overflow
- #define CE_OVERRUN 0x0002 // Receive Overrun Error
- #define CE_RXPARITY 0x0004 // Receive Parity Error
- #define CE_FRAME 0x0008 // Receive Framing error
- #define CE_BREAK 0x0010 // Break Detected
- #define CE_TXFULL 0x0100 // TX Queue is full
- #define CE_PTO 0x0200 // LPTx Timeout
- #define CE_IOE 0x0400 // LPTx I/O Error
- #define CE_DNS 0x0800 // LPTx Device not selected
- #define CE_OOP 0x1000 // LPTx Out-Of-Paper
- #define CE_MODE 0x8000 // Requested mode unsupported
- #define IE_BADID (-1) // Invalid or unsupported id
- #define IE_OPEN (-2) // Device Already Open
- #define IE_NOPEN (-3) // Device Not Open
- #define IE_MEMORY (-4) // Unable to allocate queues
- #define IE_DEFAULT (-5) // Error in default parameters
- #define IE_HARDWARE (-10) // Hardware Not Present
- #define IE_BYTESIZE (-11) // Illegal Byte Size
- #define IE_BAUDRATE (-12) // Unsupported BaudRate
- //
- // Events
- //
- #define EV_RXCHAR 0x0001 // Any Character received
- #define EV_RXFLAG 0x0002 // Received certain character
- #define EV_TXEMPTY 0x0004 // Transmitt Queue Empty
- #define EV_CTS 0x0008 // CTS changed state
- #define EV_DSR 0x0010 // DSR changed state
- #define EV_RLSD 0x0020 // RLSD changed state
- #define EV_BREAK 0x0040 // BREAK received
- #define EV_ERR 0x0080 // Line status error occurred
- #define EV_RING 0x0100 // Ring signal detected
- #define EV_PERR 0x0200 // Printer error occured
- #define EV_RX80FULL 0x0400 // Receive buffer is 80 percent full
- #define EV_EVENT1 0x0800 // Provider specific event 1
- #define EV_EVENT2 0x1000 // Provider specific event 2
- //
- // Escape Functions
- //
- #define SETXOFF 1 // Simulate XOFF received
- #define SETXON 2 // Simulate XON received
- #define SETRTS 3 // Set RTS high
- #define CLRRTS 4 // Set RTS low
- #define SETDTR 5 // Set DTR high
- #define CLRDTR 6 // Set DTR low
- #define RESETDEV 7 // Reset device if possible
- #define SETBREAK 8 // Set the device break line.
- #define CLRBREAK 9 // Clear the device break line.
- //
- // PURGE function flags.
- //
- #define PURGE_TXABORT 0x0001 // Kill the pending/current writes to the comm port.
- #define PURGE_RXABORT 0x0002 // Kill the pending/current reads to the comm port.
- #define PURGE_TXCLEAR 0x0004 // Kill the transmit queue if there.
- #define PURGE_RXCLEAR 0x0008 // Kill the typeahead buffer if there.
- #define LPTx 0x80 // Set if ID is for LPT device
- //
- // Modem Status Flags
- //
- #define MS_CTS_ON ((DWORD)0x0010)
- #define MS_DSR_ON ((DWORD)0x0020)
- #define MS_RING_ON ((DWORD)0x0040)
- #define MS_RLSD_ON ((DWORD)0x0080)
- //
- // WaitSoundState() Constants
- //
- #define S_QUEUEEMPTY 0
- #define S_THRESHOLD 1
- #define S_ALLTHRESHOLD 2
- //
- // Accent Modes
- //
- #define S_NORMAL 0
- #define S_LEGATO 1
- #define S_STACCATO 2
- //
- // SetSoundNoise() Sources
- //
- #define S_PERIOD512 0 // Freq = N/512 high pitch, less coarse hiss
- #define S_PERIOD1024 1 // Freq = N/1024
- #define S_PERIOD2048 2 // Freq = N/2048 low pitch, more coarse hiss
- #define S_PERIODVOICE 3 // Source is frequency from voice channel (3)
- #define S_WHITE512 4 // Freq = N/512 high pitch, less coarse hiss
- #define S_WHITE1024 5 // Freq = N/1024
- #define S_WHITE2048 6 // Freq = N/2048 low pitch, more coarse hiss
- #define S_WHITEVOICE 7 // Source is frequency from voice channel (3)
- #define S_SERDVNA (-1) // Device not available
- #define S_SEROFM (-2) // Out of memory
- #define S_SERMACT (-3) // Music active
- #define S_SERQFUL (-4) // Queue full
- #define S_SERBDNT (-5) // Invalid note
- #define S_SERDLN (-6) // Invalid note length
- #define S_SERDCC (-7) // Invalid note count
- #define S_SERDTP (-8) // Invalid tempo
- #define S_SERDVL (-9) // Invalid volume
- #define S_SERDMD (-10) // Invalid mode
- #define S_SERDSH (-11) // Invalid shape
- #define S_SERDPT (-12) // Invalid pitch
- #define S_SERDFQ (-13) // Invalid frequency
- #define S_SERDDR (-14) // Invalid duration
- #define S_SERDSR (-15) // Invalid source
- #define S_SERDST (-16) // Invalid state
- #define NMPWAIT_WAIT_FOREVER 0xffffffff
- #define NMPWAIT_NOWAIT 0x00000001
- #define NMPWAIT_USE_DEFAULT_WAIT 0x00000000
- #define FS_CASE_IS_PRESERVED FILE_CASE_PRESERVED_NAMES
- #define FS_CASE_SENSITIVE FILE_CASE_SENSITIVE_SEARCH
- #define FS_UNICODE_STORED_ON_DISK FILE_UNICODE_ON_DISK
- #define FS_PERSISTENT_ACLS FILE_PERSISTENT_ACLS
- #define FS_VOL_IS_COMPRESSED FILE_VOLUME_IS_COMPRESSED
- #define FS_FILE_COMPRESSION FILE_FILE_COMPRESSION
- #define FS_FILE_ENCRYPTION FILE_SUPPORTS_ENCRYPTION
- #define FILE_MAP_COPY SECTION_QUERY
- #define FILE_MAP_WRITE SECTION_MAP_WRITE
- #define FILE_MAP_READ SECTION_MAP_READ
- #define FILE_MAP_ALL_ACCESS SECTION_ALL_ACCESS
- #define FILE_MAP_EXECUTE SECTION_MAP_EXECUTE_EXPLICIT // not included in FILE_MAP_ALL_ACCESS
- #define OF_READ 0x00000000
- #define OF_WRITE 0x00000001
- #define OF_READWRITE 0x00000002
- #define OF_SHARE_COMPAT 0x00000000
- #define OF_SHARE_EXCLUSIVE 0x00000010
- #define OF_SHARE_DENY_WRITE 0x00000020
- #define OF_SHARE_DENY_READ 0x00000030
- #define OF_SHARE_DENY_NONE 0x00000040
- #define OF_PARSE 0x00000100
- #define OF_DELETE 0x00000200
- #define OF_VERIFY 0x00000400
- #define OF_CANCEL 0x00000800
- #define OF_CREATE 0x00001000
- #define OF_PROMPT 0x00002000
- #define OF_EXIST 0x00004000
- #define OF_REOPEN 0x00008000
- #define OFS_MAXPATHNAME 128
- typedef struct _OFSTRUCT {
- BYTE cBytes;
- BYTE fFixedDisk;
- WORD nErrCode;
- WORD Reserved1;
- WORD Reserved2;
- CHAR szPathName[OFS_MAXPATHNAME];
- } OFSTRUCT, *LPOFSTRUCT, *POFSTRUCT;
- //
- // The Risc compilers support intrinsic functions for interlocked
- // increment, decrement, and exchange.
- //
- #ifndef NOWINBASEINTERLOCK
- #ifndef _NTOS_
- #if defined(_M_IA64) && !defined(RC_INVOKED)
- #define InterlockedIncrement _InterlockedIncrement
- #define InterlockedDecrement _InterlockedDecrement
- #define InterlockedExchange _InterlockedExchange
- #define InterlockedExchangeAdd _InterlockedExchangeAdd
- #define InterlockedCompareExchange _InterlockedCompareExchange
- #define InterlockedExchangePointer _InterlockedExchangePointer
- #define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer
- LONG
- __cdecl
- InterlockedIncrement(
- IN OUT LONG volatile *lpAddend
- );
- LONG
- __cdecl
- InterlockedDecrement(
- IN OUT LONG volatile *lpAddend
- );
- LONG
- __cdecl
- InterlockedExchange(
- IN OUT LONG volatile *Target,
- IN LONG Value
- );
- LONG
- __cdecl
- InterlockedExchangeAdd(
- IN OUT LONG volatile *Addend,
- IN LONG Value
- );
- LONG
- __cdecl
- InterlockedCompareExchange (
- IN OUT LONG volatile *Destination,
- IN LONG ExChange,
- IN LONG Comperand
- );
- PVOID
- __cdecl
- InterlockedExchangePointer(
- IN OUT PVOID volatile *Target,
- IN PVOID Value
- );
- PVOID
- __cdecl
- InterlockedCompareExchangePointer (
- IN OUT PVOID volatile *Destination,
- IN PVOID ExChange,
- IN PVOID Comperand
- );
- #pragma intrinsic(_InterlockedIncrement)
- #pragma intrinsic(_InterlockedDecrement)
- #pragma intrinsic(_InterlockedExchange)
- #pragma intrinsic(_InterlockedExchangeAdd)
- #pragma intrinsic(_InterlockedCompareExchange)
- #pragma intrinsic(_InterlockedExchangePointer)
- #pragma intrinsic(_InterlockedCompareExchangePointer)
- #elif defined(_M_AMD64) && !defined(RC_INVOKED)
- #define InterlockedIncrement _InterlockedIncrement
- #define InterlockedDecrement _InterlockedDecrement
- #define InterlockedExchange _InterlockedExchange
- #define InterlockedExchangeAdd _InterlockedExchangeAdd
- #define InterlockedCompareExchange _InterlockedCompareExchange
- #define InterlockedExchangePointer _InterlockedExchangePointer
- #define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer
- LONG
- InterlockedIncrement(
- IN OUT LONG volatile *Addend
- );
- LONG
- InterlockedDecrement(
- IN OUT LONG volatile *Addend
- );
- LONG
- InterlockedExchange(
- IN OUT LONG volatile *Target,
- IN LONG Value
- );
- LONG
- InterlockedExchangeAdd(
- IN OUT LONG volatile *Addend,
- IN LONG Value
- );
- LONG
- InterlockedCompareExchange (
- IN OUT LONG volatile *Destination,
- IN LONG ExChange,
- IN LONG Comperand
- );
- PVOID
- InterlockedCompareExchangePointer (
- IN OUT PVOID volatile *Destination,
- IN PVOID Exchange,
- IN PVOID Comperand
- );
- PVOID
- InterlockedExchangePointer(
- IN OUT PVOID volatile *Target,
- IN PVOID Value
- );
- #pragma intrinsic(_InterlockedIncrement)
- #pragma intrinsic(_InterlockedDecrement)
- #pragma intrinsic(_InterlockedExchange)
- #pragma intrinsic(_InterlockedExchangeAdd)
- #pragma intrinsic(_InterlockedCompareExchange)
- #pragma intrinsic(_InterlockedExchangePointer)
- #pragma intrinsic(_InterlockedCompareExchangePointer)
- #else // X86 interlocked definitions
- WINBASEAPI
- LONG
- WINAPI
- InterlockedIncrement(
- IN OUT LONG volatile *lpAddend
- );
- WINBASEAPI
- LONG
- WINAPI
- InterlockedDecrement(
- IN OUT LONG volatile *lpAddend
- );
- WINBASEAPI
- LONG
- WINAPI
- InterlockedExchange(
- IN OUT LONG volatile *Target,
- IN LONG Value
- );
- #define InterlockedExchangePointer(Target, Value) \
- (PVOID)InterlockedExchange((PLONG)(Target), (LONG)(Value))
- WINBASEAPI
- LONG
- WINAPI
- InterlockedExchangeAdd(
- IN OUT LONG volatile *Addend,
- IN LONG Value
- );
- WINBASEAPI
- LONG
- WINAPI
- InterlockedCompareExchange (
- IN OUT LONG volatile *Destination,
- IN LONG Exchange,
- IN LONG Comperand
- );
- //
- // Use a function for C++ so X86 will generate the same errors as RISC.
- //
- #ifdef __cplusplus
- FORCEINLINE
- PVOID
- __cdecl
- __InlineInterlockedCompareExchangePointer (
- IN OUT PVOID volatile *Destination,
- IN PVOID ExChange,
- IN PVOID Comperand
- )
- {
- return((PVOID)(LONG_PTR)InterlockedCompareExchange((LONG volatile *)Destination, (LONG)(LONG_PTR)ExChange, (LONG)(LONG_PTR)Comperand));
- }
- #define InterlockedCompareExchangePointer __InlineInterlockedCompareExchangePointer
- #else
- #define InterlockedCompareExchangePointer(Destination, ExChange, Comperand) \
- (PVOID)(LONG_PTR)InterlockedCompareExchange((LONG volatile *)(Destination), (LONG)(LONG_PTR)(ExChange), (LONG)(LONG_PTR)(Comperand))
- #endif /* __cplusplus */
- #endif /* X86 | IA64 */
- #if defined(_SLIST_HEADER_) && !defined(_NTOSP_)
- WINBASEAPI
- VOID
- WINAPI
- InitializeSListHead (
- IN PSLIST_HEADER ListHead
- );
- WINBASEAPI
- PSINGLE_LIST_ENTRY
- WINAPI
- InterlockedPopEntrySList (
- IN PSLIST_HEADER ListHead
- );
- WINBASEAPI
- PSINGLE_LIST_ENTRY
- WINAPI
- InterlockedPushEntrySList (
- IN PSLIST_HEADER ListHead,
- IN PSINGLE_LIST_ENTRY ListEntry
- );
- WINBASEAPI
- PSINGLE_LIST_ENTRY
- WINAPI
- InterlockedFlushSList (
- IN PSLIST_HEADER ListHead
- );
- WINBASEAPI
- USHORT
- WINAPI
- QueryDepthSList (
- IN PSLIST_HEADER ListHead
- );
- #endif /* _SLIST_HEADER_ */
- #endif /* _NTOS_ */
- #endif /* NOWINBASEINTERLOCK */
- WINBASEAPI
- BOOL
- WINAPI
- FreeResource(
- IN HGLOBAL hResData
- );
- WINBASEAPI
- LPVOID
- WINAPI
- LockResource(
- IN HGLOBAL hResData
- );
- #define UnlockResource(hResData) ((hResData), 0)
- #define MAXINTATOM 0xC000
- #define MAKEINTATOM(i) (LPTSTR)((ULONG_PTR)((WORD)(i)))
- #define INVALID_ATOM ((ATOM)0)
- #ifndef _MAC
- int
- WINAPI
- #else
- int
- CALLBACK
- #endif
- WinMain(
- IN HINSTANCE hInstance,
- IN HINSTANCE hPrevInstance,
- IN LPSTR lpCmdLine,
- IN int nShowCmd
- );
- WINBASEAPI
- BOOL
- WINAPI
- FreeLibrary(
- IN OUT HMODULE hLibModule
- );
- WINBASEAPI
- DECLSPEC_NORETURN
- VOID
- WINAPI
- FreeLibraryAndExitThread(
- IN HMODULE hLibModule,
- IN DWORD dwExitCode
- );
- WINBASEAPI
- BOOL
- WINAPI
- DisableThreadLibraryCalls(
- IN HMODULE hLibModule
- );
- WINBASEAPI
- FARPROC
- WINAPI
- GetProcAddress(
- IN HMODULE hModule,
- IN LPCSTR lpProcName
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetVersion( VOID );
- WINBASEAPI
- HGLOBAL
- WINAPI
- GlobalAlloc(
- IN UINT uFlags,
- IN SIZE_T dwBytes
- );
- WINBASEAPI
- HGLOBAL
- WINAPI
- GlobalReAlloc(
- IN HGLOBAL hMem,
- IN SIZE_T dwBytes,
- IN UINT uFlags
- );
- WINBASEAPI
- SIZE_T
- WINAPI
- GlobalSize(
- IN HGLOBAL hMem
- );
- WINBASEAPI
- UINT
- WINAPI
- GlobalFlags(
- IN HGLOBAL hMem
- );
- WINBASEAPI
- LPVOID
- WINAPI
- GlobalLock(
- IN HGLOBAL hMem
- );
- //!!!MWH My version win31 = DWORD WINAPI GlobalHandle(UINT)
- WINBASEAPI
- HGLOBAL
- WINAPI
- GlobalHandle(
- IN LPCVOID pMem
- );
- WINBASEAPI
- BOOL
- WINAPI
- GlobalUnlock(
- IN HGLOBAL hMem
- );
- WINBASEAPI
- HGLOBAL
- WINAPI
- GlobalFree(
- IN HGLOBAL hMem
- );
- WINBASEAPI
- SIZE_T
- WINAPI
- GlobalCompact(
- IN DWORD dwMinFree
- );
- WINBASEAPI
- VOID
- WINAPI
- GlobalFix(
- IN HGLOBAL hMem
- );
- WINBASEAPI
- VOID
- WINAPI
- GlobalUnfix(
- IN HGLOBAL hMem
- );
- WINBASEAPI
- LPVOID
- WINAPI
- GlobalWire(
- IN HGLOBAL hMem
- );
- WINBASEAPI
- BOOL
- WINAPI
- GlobalUnWire(
- IN HGLOBAL hMem
- );
- WINBASEAPI
- VOID
- WINAPI
- GlobalMemoryStatus(
- IN OUT LPMEMORYSTATUS lpBuffer
- );
- typedef struct _MEMORYSTATUSEX {
- DWORD dwLength;
- DWORD dwMemoryLoad;
- DWORDLONG ullTotalPhys;
- DWORDLONG ullAvailPhys;
- DWORDLONG ullTotalPageFile;
- DWORDLONG ullAvailPageFile;
- DWORDLONG ullTotalVirtual;
- DWORDLONG ullAvailVirtual;
- DWORDLONG ullAvailExtendedVirtual;
- } MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
- WINBASEAPI
- BOOL
- WINAPI
- GlobalMemoryStatusEx(
- IN OUT LPMEMORYSTATUSEX lpBuffer
- );
- WINBASEAPI
- HLOCAL
- WINAPI
- LocalAlloc(
- IN UINT uFlags,
- IN SIZE_T uBytes
- );
- WINBASEAPI
- HLOCAL
- WINAPI
- LocalReAlloc(
- IN HLOCAL hMem,
- IN SIZE_T uBytes,
- IN UINT uFlags
- );
- WINBASEAPI
- LPVOID
- WINAPI
- LocalLock(
- IN HLOCAL hMem
- );
- WINBASEAPI
- HLOCAL
- WINAPI
- LocalHandle(
- IN LPCVOID pMem
- );
- WINBASEAPI
- BOOL
- WINAPI
- LocalUnlock(
- IN HLOCAL hMem
- );
- WINBASEAPI
- SIZE_T
- WINAPI
- LocalSize(
- IN HLOCAL hMem
- );
- WINBASEAPI
- UINT
- WINAPI
- LocalFlags(
- IN HLOCAL hMem
- );
- WINBASEAPI
- HLOCAL
- WINAPI
- LocalFree(
- IN HLOCAL hMem
- );
- WINBASEAPI
- SIZE_T
- WINAPI
- LocalShrink(
- IN HLOCAL hMem,
- IN UINT cbNewSize
- );
- WINBASEAPI
- SIZE_T
- WINAPI
- LocalCompact(
- IN UINT uMinFree
- );
- WINBASEAPI
- BOOL
- WINAPI
- FlushInstructionCache(
- IN HANDLE hProcess,
- IN LPCVOID lpBaseAddress,
- IN SIZE_T dwSize
- );
- WINBASEAPI
- LPVOID
- WINAPI
- VirtualAlloc(
- IN LPVOID lpAddress,
- IN SIZE_T dwSize,
- IN DWORD flAllocationType,
- IN DWORD flProtect
- );
- WINBASEAPI
- BOOL
- WINAPI
- VirtualFree(
- IN LPVOID lpAddress,
- IN SIZE_T dwSize,
- IN DWORD dwFreeType
- );
- WINBASEAPI
- BOOL
- WINAPI
- VirtualProtect(
- IN LPVOID lpAddress,
- IN SIZE_T dwSize,
- IN DWORD flNewProtect,
- OUT PDWORD lpflOldProtect
- );
- WINBASEAPI
- SIZE_T
- WINAPI
- VirtualQuery(
- IN LPCVOID lpAddress,
- OUT PMEMORY_BASIC_INFORMATION lpBuffer,
- IN SIZE_T dwLength
- );
- WINBASEAPI
- LPVOID
- WINAPI
- VirtualAllocEx(
- IN HANDLE hProcess,
- IN LPVOID lpAddress,
- IN SIZE_T dwSize,
- IN DWORD flAllocationType,
- IN DWORD flProtect
- );
- WINBASEAPI
- UINT
- WINAPI
- GetWriteWatch(
- IN DWORD dwFlags,
- IN PVOID lpBaseAddress,
- IN SIZE_T dwRegionSize,
- IN OUT PVOID *lpAddresses,
- IN OUT PULONG_PTR lpdwCount,
- OUT PULONG lpdwGranularity
- );
- WINBASEAPI
- UINT
- WINAPI
- ResetWriteWatch(
- IN LPVOID lpBaseAddress,
- IN SIZE_T dwRegionSize
- );
- WINBASEAPI
- BOOL
- WINAPI
- VirtualFreeEx(
- IN HANDLE hProcess,
- IN LPVOID lpAddress,
- IN SIZE_T dwSize,
- IN DWORD dwFreeType
- );
- WINBASEAPI
- BOOL
- WINAPI
- VirtualProtectEx(
- IN HANDLE hProcess,
- IN LPVOID lpAddress,
- IN SIZE_T dwSize,
- IN DWORD flNewProtect,
- OUT PDWORD lpflOldProtect
- );
- WINBASEAPI
- SIZE_T
- WINAPI
- VirtualQueryEx(
- IN HANDLE hProcess,
- IN LPCVOID lpAddress,
- OUT PMEMORY_BASIC_INFORMATION lpBuffer,
- IN SIZE_T dwLength
- );
- WINBASEAPI
- HANDLE
- WINAPI
- HeapCreate(
- IN DWORD flOptions,
- IN SIZE_T dwInitialSize,
- IN SIZE_T dwMaximumSize
- );
- WINBASEAPI
- BOOL
- WINAPI
- HeapDestroy(
- IN OUT HANDLE hHeap
- );
- WINBASEAPI
- LPVOID
- WINAPI
- HeapAlloc(
- IN HANDLE hHeap,
- IN DWORD dwFlags,
- IN SIZE_T dwBytes
- );
- WINBASEAPI
- LPVOID
- WINAPI
- HeapReAlloc(
- IN HANDLE hHeap,
- IN DWORD dwFlags,
- IN LPVOID lpMem,
- IN SIZE_T dwBytes
- );
- WINBASEAPI
- BOOL
- WINAPI
- HeapFree(
- IN HANDLE hHeap,
- IN DWORD dwFlags,
- IN LPVOID lpMem
- );
- WINBASEAPI
- SIZE_T
- WINAPI
- HeapSize(
- IN HANDLE hHeap,
- IN DWORD dwFlags,
- IN LPCVOID lpMem
- );
- WINBASEAPI
- BOOL
- WINAPI
- HeapValidate(
- IN HANDLE hHeap,
- IN DWORD dwFlags,
- IN LPCVOID lpMem
- );
- WINBASEAPI
- SIZE_T
- WINAPI
- HeapCompact(
- IN HANDLE hHeap,
- IN DWORD dwFlags
- );
- WINBASEAPI
- HANDLE
- WINAPI
- GetProcessHeap( VOID );
- WINBASEAPI
- DWORD
- WINAPI
- GetProcessHeaps(
- IN DWORD NumberOfHeaps,
- OUT PHANDLE ProcessHeaps
- );
- typedef struct _PROCESS_HEAP_ENTRY {
- PVOID lpData;
- DWORD cbData;
- BYTE cbOverhead;
- BYTE iRegionIndex;
- WORD wFlags;
- union {
- struct {
- HANDLE hMem;
- DWORD dwReserved[ 3 ];
- } Block;
- struct {
- DWORD dwCommittedSize;
- DWORD dwUnCommittedSize;
- LPVOID lpFirstBlock;
- LPVOID lpLastBlock;
- } Region;
- };
- } PROCESS_HEAP_ENTRY, *LPPROCESS_HEAP_ENTRY, *PPROCESS_HEAP_ENTRY;
- #define PROCESS_HEAP_REGION 0x0001
- #define PROCESS_HEAP_UNCOMMITTED_RANGE 0x0002
- #define PROCESS_HEAP_ENTRY_BUSY 0x0004
- #define PROCESS_HEAP_ENTRY_MOVEABLE 0x0010
- #define PROCESS_HEAP_ENTRY_DDESHARE 0x0020
- WINBASEAPI
- BOOL
- WINAPI
- HeapLock(
- IN HANDLE hHeap
- );
- WINBASEAPI
- BOOL
- WINAPI
- HeapUnlock(
- IN HANDLE hHeap
- );
- WINBASEAPI
- BOOL
- WINAPI
- HeapWalk(
- IN HANDLE hHeap,
- IN OUT LPPROCESS_HEAP_ENTRY lpEntry
- );
- WINBASEAPI
- BOOL
- WINAPI
- HeapSetInformation (
- IN PVOID HeapHandle,
- IN HEAP_INFORMATION_CLASS HeapInformationClass,
- IN PVOID HeapInformation OPTIONAL,
- IN SIZE_T HeapInformationLength OPTIONAL
- );
- WINBASEAPI
- BOOL
- WINAPI
- HeapQueryInformation (
- IN PVOID HeapHandle,
- IN HEAP_INFORMATION_CLASS HeapInformationClass,
- OUT PVOID HeapInformation OPTIONAL,
- IN SIZE_T HeapInformationLength OPTIONAL,
- OUT PSIZE_T ReturnLength OPTIONAL
- );
- // GetBinaryType return values.
- #define SCS_32BIT_BINARY 0
- #define SCS_DOS_BINARY 1
- #define SCS_WOW_BINARY 2
- #define SCS_PIF_BINARY 3
- #define SCS_POSIX_BINARY 4
- #define SCS_OS216_BINARY 5
- #define SCS_64BIT_BINARY 6
- #if defined(_WIN64)
- # define SCS_THIS_PLATFORM_BINARY SCS_64BIT_BINARY
- #else
- # define SCS_THIS_PLATFORM_BINARY SCS_32BIT_BINARY
- #endif
- WINBASEAPI
- BOOL
- WINAPI
- GetBinaryTypeA(
- IN LPCSTR lpApplicationName,
- OUT LPDWORD lpBinaryType
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetBinaryTypeW(
- IN LPCWSTR lpApplicationName,
- OUT LPDWORD lpBinaryType
- );
- #ifdef UNICODE
- #define GetBinaryType GetBinaryTypeW
- #else
- #define GetBinaryType GetBinaryTypeA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- GetShortPathNameA(
- IN LPCSTR lpszLongPath,
- OUT LPSTR lpszShortPath,
- IN DWORD cchBuffer
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetShortPathNameW(
- IN LPCWSTR lpszLongPath,
- OUT LPWSTR lpszShortPath,
- IN DWORD cchBuffer
- );
- #ifdef UNICODE
- #define GetShortPathName GetShortPathNameW
- #else
- #define GetShortPathName GetShortPathNameA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- GetLongPathNameA(
- IN LPCSTR lpszShortPath,
- OUT LPSTR lpszLongPath,
- IN DWORD cchBuffer
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetLongPathNameW(
- IN LPCWSTR lpszShortPath,
- OUT LPWSTR lpszLongPath,
- IN DWORD cchBuffer
- );
- #ifdef UNICODE
- #define GetLongPathName GetLongPathNameW
- #else
- #define GetLongPathName GetLongPathNameA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- GetProcessAffinityMask(
- IN HANDLE hProcess,
- OUT PDWORD_PTR lpProcessAffinityMask,
- OUT PDWORD_PTR lpSystemAffinityMask
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetProcessAffinityMask(
- IN HANDLE hProcess,
- IN DWORD_PTR dwProcessAffinityMask
- );
- #if _WIN32_WINNT >= 0x0501
- WINBASEAPI
- BOOL
- WINAPI
- GetProcessHandleCount(
- IN HANDLE hProcess,
- OUT PDWORD pdwHandleCount
- );
- #endif // (_WIN32_WINNT >= 0x0501)
- WINBASEAPI
- BOOL
- WINAPI
- GetProcessTimes(
- IN HANDLE hProcess,
- OUT LPFILETIME lpCreationTime,
- OUT LPFILETIME lpExitTime,
- OUT LPFILETIME lpKernelTime,
- OUT LPFILETIME lpUserTime
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetProcessIoCounters(
- IN HANDLE hProcess,
- OUT PIO_COUNTERS lpIoCounters
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetProcessWorkingSetSize(
- IN HANDLE hProcess,
- OUT PSIZE_T lpMinimumWorkingSetSize,
- OUT PSIZE_T lpMaximumWorkingSetSize
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetProcessWorkingSetSize(
- IN HANDLE hProcess,
- IN SIZE_T dwMinimumWorkingSetSize,
- IN SIZE_T dwMaximumWorkingSetSize
- );
- WINBASEAPI
- HANDLE
- WINAPI
- OpenProcess(
- IN DWORD dwDesiredAccess,
- IN BOOL bInheritHandle,
- IN DWORD dwProcessId
- );
- WINBASEAPI
- HANDLE
- WINAPI
- GetCurrentProcess(
- VOID
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetCurrentProcessId(
- VOID
- );
- #if _WIN32_WINNT >= 0x0501
- WINBASEAPI
- DWORD
- WINAPI
- GetProcessId(
- HANDLE Process
- );
- #endif // (_WIN32_WINNT >= 0x0501)
- WINBASEAPI
- DECLSPEC_NORETURN
- VOID
- WINAPI
- ExitProcess(
- IN UINT uExitCode
- );
- WINBASEAPI
- BOOL
- WINAPI
- TerminateProcess(
- IN HANDLE hProcess,
- IN UINT uExitCode
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetExitCodeProcess(
- IN HANDLE hProcess,
- OUT LPDWORD lpExitCode
- );
- WINBASEAPI
- VOID
- WINAPI
- FatalExit(
- IN int ExitCode
- );
- WINBASEAPI
- LPSTR
- WINAPI
- GetEnvironmentStrings(
- VOID
- );
- WINBASEAPI
- LPWSTR
- WINAPI
- GetEnvironmentStringsW(
- VOID
- );
- #ifdef UNICODE
- #define GetEnvironmentStrings GetEnvironmentStringsW
- #else
- #define GetEnvironmentStringsA GetEnvironmentStrings
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- FreeEnvironmentStringsA(
- IN LPSTR
- );
- WINBASEAPI
- BOOL
- WINAPI
- FreeEnvironmentStringsW(
- IN LPWSTR
- );
- #ifdef UNICODE
- #define FreeEnvironmentStrings FreeEnvironmentStringsW
- #else
- #define FreeEnvironmentStrings FreeEnvironmentStringsA
- #endif // !UNICODE
- WINBASEAPI
- VOID
- WINAPI
- RaiseException(
- IN DWORD dwExceptionCode,
- IN DWORD dwExceptionFlags,
- IN DWORD nNumberOfArguments,
- IN CONST ULONG_PTR *lpArguments
- );
- WINBASEAPI
- LONG
- WINAPI
- UnhandledExceptionFilter(
- IN struct _EXCEPTION_POINTERS *ExceptionInfo
- );
- typedef LONG (WINAPI *PTOP_LEVEL_EXCEPTION_FILTER)(
- struct _EXCEPTION_POINTERS *ExceptionInfo
- );
- typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
- WINBASEAPI
- LPTOP_LEVEL_EXCEPTION_FILTER
- WINAPI
- SetUnhandledExceptionFilter(
- IN LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter
- );
- #if(_WIN32_WINNT >= 0x0400)
- WINBASEAPI
- LPVOID
- WINAPI
- CreateFiber(
- IN SIZE_T dwStackSize,
- IN LPFIBER_START_ROUTINE lpStartAddress,
- IN LPVOID lpParameter
- );
- WINBASEAPI
- LPVOID
- WINAPI
- CreateFiberEx(
- SIZE_T dwStackCommitSize,
- SIZE_T dwStackReserveSize,
- DWORD dwFlags,
- LPFIBER_START_ROUTINE lpStartAddress,
- LPVOID lpParameter
- );
- WINBASEAPI
- VOID
- WINAPI
- DeleteFiber(
- IN LPVOID lpFiber
- );
- WINBASEAPI
- LPVOID
- WINAPI
- ConvertThreadToFiber(
- IN LPVOID lpParameter
- );
- WINBASEAPI
- BOOL
- WINAPI
- ConvertFiberToThread(
- VOID
- );
- WINBASEAPI
- VOID
- WINAPI
- SwitchToFiber(
- IN LPVOID lpFiber
- );
- WINBASEAPI
- BOOL
- WINAPI
- SwitchToThread(
- VOID
- );
- #endif /* _WIN32_WINNT >= 0x0400 */
- WINBASEAPI
- HANDLE
- WINAPI
- CreateThread(
- IN LPSECURITY_ATTRIBUTES lpThreadAttributes,
- IN SIZE_T dwStackSize,
- IN LPTHREAD_START_ROUTINE lpStartAddress,
- IN LPVOID lpParameter,
- IN DWORD dwCreationFlags,
- OUT LPDWORD lpThreadId
- );
- WINBASEAPI
- HANDLE
- WINAPI
- CreateRemoteThread(
- IN HANDLE hProcess,
- IN LPSECURITY_ATTRIBUTES lpThreadAttributes,
- IN SIZE_T dwStackSize,
- IN LPTHREAD_START_ROUTINE lpStartAddress,
- IN LPVOID lpParameter,
- IN DWORD dwCreationFlags,
- OUT LPDWORD lpThreadId
- );
- WINBASEAPI
- HANDLE
- WINAPI
- GetCurrentThread(
- VOID
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetCurrentThreadId(
- VOID
- );
- WINBASEAPI
- DWORD_PTR
- WINAPI
- SetThreadAffinityMask(
- IN HANDLE hThread,
- IN DWORD_PTR dwThreadAffinityMask
- );
- #if(_WIN32_WINNT >= 0x0400)
- WINBASEAPI
- DWORD
- WINAPI
- SetThreadIdealProcessor(
- IN HANDLE hThread,
- IN DWORD dwIdealProcessor
- );
- #endif /* _WIN32_WINNT >= 0x0400 */
- WINBASEAPI
- BOOL
- WINAPI
- SetProcessPriorityBoost(
- IN HANDLE hProcess,
- IN BOOL bDisablePriorityBoost
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetProcessPriorityBoost(
- IN HANDLE hProcess,
- OUT PBOOL pDisablePriorityBoost
- );
- WINBASEAPI
- BOOL
- WINAPI
- RequestWakeupLatency(
- IN LATENCY_TIME latency
- );
- WINBASEAPI
- BOOL
- WINAPI
- IsSystemResumeAutomatic(
- VOID
- );
- WINBASEAPI
- HANDLE
- WINAPI
- OpenThread(
- DWORD dwDesiredAccess,
- BOOL bInheritHandle,
- DWORD dwThreadId
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetThreadPriority(
- IN HANDLE hThread,
- IN int nPriority
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetThreadPriorityBoost(
- IN HANDLE hThread,
- IN BOOL bDisablePriorityBoost
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetThreadPriorityBoost(
- IN HANDLE hThread,
- OUT PBOOL pDisablePriorityBoost
- );
- WINBASEAPI
- int
- WINAPI
- GetThreadPriority(
- IN HANDLE hThread
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetThreadTimes(
- IN HANDLE hThread,
- OUT LPFILETIME lpCreationTime,
- OUT LPFILETIME lpExitTime,
- OUT LPFILETIME lpKernelTime,
- OUT LPFILETIME lpUserTime
- );
- #if _WIN32_WINNT >= 0x0501
- WINBASEAPI
- BOOL
- WINAPI
- GetThreadIOPendingFlag(
- IN HANDLE hThread,
- OUT PBOOL lpIOIsPending
- );
- #endif // (_WIN32_WINNT >= 0x0501)
- WINBASEAPI
- DECLSPEC_NORETURN
- VOID
- WINAPI
- ExitThread(
- IN DWORD dwExitCode
- );
- WINBASEAPI
- BOOL
- WINAPI
- TerminateThread(
- IN OUT HANDLE hThread,
- IN DWORD dwExitCode
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetExitCodeThread(
- IN HANDLE hThread,
- OUT LPDWORD lpExitCode
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetThreadSelectorEntry(
- IN HANDLE hThread,
- IN DWORD dwSelector,
- OUT LPLDT_ENTRY lpSelectorEntry
- );
- WINBASEAPI
- EXECUTION_STATE
- WINAPI
- SetThreadExecutionState(
- IN EXECUTION_STATE esFlags
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetLastError(
- VOID
- );
- WINBASEAPI
- VOID
- WINAPI
- SetLastError(
- IN DWORD dwErrCode
- );
- #if !defined(RC_INVOKED) // RC warns because "WINBASE_DECLARE_RESTORE_LAST_ERROR" is a bit long.
- //#if _WIN32_WINNT >= 0x0501 || defined(WINBASE_DECLARE_RESTORE_LAST_ERROR)
- #if defined(WINBASE_DECLARE_RESTORE_LAST_ERROR)
- WINBASEAPI
- VOID
- WINAPI
- RestoreLastError(
- IN DWORD dwErrCode
- );
- typedef VOID (WINAPI* PRESTORE_LAST_ERROR)(DWORD);
- #define RESTORE_LAST_ERROR_NAME_A "RestoreLastError"
- #define RESTORE_LAST_ERROR_NAME_W L"RestoreLastError"
- #define RESTORE_LAST_ERROR_NAME TEXT("RestoreLastError")
- #endif
- #endif
- #define HasOverlappedIoCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING)
- WINBASEAPI
- BOOL
- WINAPI
- GetOverlappedResult(
- IN HANDLE hFile,
- IN LPOVERLAPPED lpOverlapped,
- OUT LPDWORD lpNumberOfBytesTransferred,
- IN BOOL bWait
- );
- WINBASEAPI
- HANDLE
- WINAPI
- CreateIoCompletionPort(
- IN HANDLE FileHandle,
- IN HANDLE ExistingCompletionPort,
- IN ULONG_PTR CompletionKey,
- IN DWORD NumberOfConcurrentThreads
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetQueuedCompletionStatus(
- IN HANDLE CompletionPort,
- OUT LPDWORD lpNumberOfBytesTransferred,
- OUT PULONG_PTR lpCompletionKey,
- OUT LPOVERLAPPED *lpOverlapped,
- IN DWORD dwMilliseconds
- );
- WINBASEAPI
- BOOL
- WINAPI
- PostQueuedCompletionStatus(
- IN HANDLE CompletionPort,
- IN DWORD dwNumberOfBytesTransferred,
- IN ULONG_PTR dwCompletionKey,
- IN LPOVERLAPPED lpOverlapped
- );
- #define SEM_FAILCRITICALERRORS 0x0001
- #define SEM_NOGPFAULTERRORBOX 0x0002
- #define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
- #define SEM_NOOPENFILEERRORBOX 0x8000
- WINBASEAPI
- UINT
- WINAPI
- SetErrorMode(
- IN UINT uMode
- );
- WINBASEAPI
- BOOL
- WINAPI
- ReadProcessMemory(
- IN HANDLE hProcess,
- IN LPCVOID lpBaseAddress,
- OUT LPVOID lpBuffer,
- IN SIZE_T nSize,
- OUT SIZE_T * lpNumberOfBytesRead
- );
- WINBASEAPI
- BOOL
- WINAPI
- WriteProcessMemory(
- IN HANDLE hProcess,
- IN LPVOID lpBaseAddress,
- IN LPCVOID lpBuffer,
- IN SIZE_T nSize,
- OUT SIZE_T * lpNumberOfBytesWritten
- );
- #if !defined(MIDL_PASS)
- WINBASEAPI
- BOOL
- WINAPI
- GetThreadContext(
- IN HANDLE hThread,
- IN OUT LPCONTEXT lpContext
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetThreadContext(
- IN HANDLE hThread,
- IN CONST CONTEXT *lpContext
- );
- #endif
- WINBASEAPI
- DWORD
- WINAPI
- SuspendThread(
- IN HANDLE hThread
- );
- WINBASEAPI
- DWORD
- WINAPI
- ResumeThread(
- IN HANDLE hThread
- );
- #if(_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
- typedef
- VOID
- (APIENTRY *PAPCFUNC)(
- ULONG_PTR dwParam
- );
- WINBASEAPI
- DWORD
- WINAPI
- QueueUserAPC(
- IN PAPCFUNC pfnAPC,
- IN HANDLE hThread,
- IN ULONG_PTR dwData
- );
- #endif /* _WIN32_WINNT >= 0x0400 || _WIN32_WINDOWS > 0x0400 */
- #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
- WINBASEAPI
- BOOL
- WINAPI
- IsDebuggerPresent(
- VOID
- );
- #endif
- #if _WIN32_WINNT >= 0x0501
- WINBASEAPI
- BOOL
- WINAPI
- CheckRemoteDebuggerPresent(
- IN HANDLE hProcess,
- OUT PBOOL pbDebuggerPresent
- );
- #endif // (_WIN32_WINNT >= 0x0501)
- WINBASEAPI
- VOID
- WINAPI
- DebugBreak(
- VOID
- );
- WINBASEAPI
- BOOL
- WINAPI
- WaitForDebugEvent(
- IN LPDEBUG_EVENT lpDebugEvent,
- IN DWORD dwMilliseconds
- );
- WINBASEAPI
- BOOL
- WINAPI
- ContinueDebugEvent(
- IN DWORD dwProcessId,
- IN DWORD dwThreadId,
- IN DWORD dwContinueStatus
- );
- WINBASEAPI
- BOOL
- WINAPI
- DebugActiveProcess(
- IN DWORD dwProcessId
- );
- WINBASEAPI
- BOOL
- WINAPI
- DebugActiveProcessStop(
- IN DWORD dwProcessId
- );
- WINBASEAPI
- BOOL
- WINAPI
- DebugSetProcessKillOnExit(
- IN BOOL KillOnExit
- );
- WINBASEAPI
- BOOL
- WINAPI
- DebugBreakProcess (
- IN HANDLE Process
- );
- WINBASEAPI
- VOID
- WINAPI
- InitializeCriticalSection(
- OUT LPCRITICAL_SECTION lpCriticalSection
- );
- WINBASEAPI
- VOID
- WINAPI
- EnterCriticalSection(
- IN OUT LPCRITICAL_SECTION lpCriticalSection
- );
- WINBASEAPI
- VOID
- WINAPI
- LeaveCriticalSection(
- IN OUT LPCRITICAL_SECTION lpCriticalSection
- );
- #if (_WIN32_WINNT >= 0x0403)
- WINBASEAPI
- BOOL
- WINAPI
- InitializeCriticalSectionAndSpinCount(
- IN OUT LPCRITICAL_SECTION lpCriticalSection,
- IN DWORD dwSpinCount
- );
- WINBASEAPI
- DWORD
- WINAPI
- SetCriticalSectionSpinCount(
- IN OUT LPCRITICAL_SECTION lpCriticalSection,
- IN DWORD dwSpinCount
- );
- #endif
- #if(_WIN32_WINNT >= 0x0400)
- WINBASEAPI
- BOOL
- WINAPI
- TryEnterCriticalSection(
- IN OUT LPCRITICAL_SECTION lpCriticalSection
- );
- #endif /* _WIN32_WINNT >= 0x0400 */
- WINBASEAPI
- VOID
- WINAPI
- DeleteCriticalSection(
- IN OUT LPCRITICAL_SECTION lpCriticalSection
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetEvent(
- IN HANDLE hEvent
- );
- WINBASEAPI
- BOOL
- WINAPI
- ResetEvent(
- IN HANDLE hEvent
- );
- WINBASEAPI
- BOOL
- WINAPI
- PulseEvent(
- IN HANDLE hEvent
- );
- WINBASEAPI
- BOOL
- WINAPI
- ReleaseSemaphore(
- IN HANDLE hSemaphore,
- IN LONG lReleaseCount,
- OUT LPLONG lpPreviousCount
- );
- WINBASEAPI
- BOOL
- WINAPI
- ReleaseMutex(
- IN HANDLE hMutex
- );
- WINBASEAPI
- DWORD
- WINAPI
- WaitForSingleObject(
- IN HANDLE hHandle,
- IN DWORD dwMilliseconds
- );
- WINBASEAPI
- DWORD
- WINAPI
- WaitForMultipleObjects(
- IN DWORD nCount,
- IN CONST HANDLE *lpHandles,
- IN BOOL bWaitAll,
- IN DWORD dwMilliseconds
- );
- WINBASEAPI
- VOID
- WINAPI
- Sleep(
- IN DWORD dwMilliseconds
- );
- WINBASEAPI
- HGLOBAL
- WINAPI
- LoadResource(
- IN HMODULE hModule,
- IN HRSRC hResInfo
- );
- WINBASEAPI
- DWORD
- WINAPI
- SizeofResource(
- IN HMODULE hModule,
- IN HRSRC hResInfo
- );
- WINBASEAPI
- ATOM
- WINAPI
- GlobalDeleteAtom(
- IN ATOM nAtom
- );
- WINBASEAPI
- BOOL
- WINAPI
- InitAtomTable(
- IN DWORD nSize
- );
- WINBASEAPI
- ATOM
- WINAPI
- DeleteAtom(
- IN ATOM nAtom
- );
- WINBASEAPI
- UINT
- WINAPI
- SetHandleCount(
- IN UINT uNumber
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetLogicalDrives(
- VOID
- );
- WINBASEAPI
- BOOL
- WINAPI
- LockFile(
- IN HANDLE hFile,
- IN DWORD dwFileOffsetLow,
- IN DWORD dwFileOffsetHigh,
- IN DWORD nNumberOfBytesToLockLow,
- IN DWORD nNumberOfBytesToLockHigh
- );
- WINBASEAPI
- BOOL
- WINAPI
- UnlockFile(
- IN HANDLE hFile,
- IN DWORD dwFileOffsetLow,
- IN DWORD dwFileOffsetHigh,
- IN DWORD nNumberOfBytesToUnlockLow,
- IN DWORD nNumberOfBytesToUnlockHigh
- );
- WINBASEAPI
- BOOL
- WINAPI
- LockFileEx(
- IN HANDLE hFile,
- IN DWORD dwFlags,
- IN DWORD dwReserved,
- IN DWORD nNumberOfBytesToLockLow,
- IN DWORD nNumberOfBytesToLockHigh,
- IN LPOVERLAPPED lpOverlapped
- );
- #define LOCKFILE_FAIL_IMMEDIATELY 0x00000001
- #define LOCKFILE_EXCLUSIVE_LOCK 0x00000002
- WINBASEAPI
- BOOL
- WINAPI
- UnlockFileEx(
- IN HANDLE hFile,
- IN DWORD dwReserved,
- IN DWORD nNumberOfBytesToUnlockLow,
- IN DWORD nNumberOfBytesToUnlockHigh,
- IN LPOVERLAPPED lpOverlapped
- );
- typedef struct _BY_HANDLE_FILE_INFORMATION {
- DWORD dwFileAttributes;
- FILETIME ftCreationTime;
- FILETIME ftLastAccessTime;
- FILETIME ftLastWriteTime;
- DWORD dwVolumeSerialNumber;
- DWORD nFileSizeHigh;
- DWORD nFileSizeLow;
- DWORD nNumberOfLinks;
- DWORD nFileIndexHigh;
- DWORD nFileIndexLow;
- } BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION;
- WINBASEAPI
- BOOL
- WINAPI
- GetFileInformationByHandle(
- IN HANDLE hFile,
- OUT LPBY_HANDLE_FILE_INFORMATION lpFileInformation
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetFileType(
- IN HANDLE hFile
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetFileSize(
- IN HANDLE hFile,
- OUT LPDWORD lpFileSizeHigh
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetFileSizeEx(
- HANDLE hFile,
- PLARGE_INTEGER lpFileSize
- );
- WINBASEAPI
- HANDLE
- WINAPI
- GetStdHandle(
- IN DWORD nStdHandle
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetStdHandle(
- IN DWORD nStdHandle,
- IN HANDLE hHandle
- );
- WINBASEAPI
- BOOL
- WINAPI
- WriteFile(
- IN HANDLE hFile,
- IN LPCVOID lpBuffer,
- IN DWORD nNumberOfBytesToWrite,
- OUT LPDWORD lpNumberOfBytesWritten,
- IN LPOVERLAPPED lpOverlapped
- );
- WINBASEAPI
- BOOL
- WINAPI
- ReadFile(
- IN HANDLE hFile,
- OUT LPVOID lpBuffer,
- IN DWORD nNumberOfBytesToRead,
- OUT LPDWORD lpNumberOfBytesRead,
- IN LPOVERLAPPED lpOverlapped
- );
- WINBASEAPI
- BOOL
- WINAPI
- FlushFileBuffers(
- IN HANDLE hFile
- );
- WINBASEAPI
- BOOL
- WINAPI
- DeviceIoControl(
- IN HANDLE hDevice,
- IN DWORD dwIoControlCode,
- IN LPVOID lpInBuffer,
- IN DWORD nInBufferSize,
- OUT LPVOID lpOutBuffer,
- IN DWORD nOutBufferSize,
- OUT LPDWORD lpBytesReturned,
- IN LPOVERLAPPED lpOverlapped
- );
- WINBASEAPI
- BOOL
- WINAPI
- RequestDeviceWakeup(
- IN HANDLE hDevice
- );
- WINBASEAPI
- BOOL
- WINAPI
- CancelDeviceWakeupRequest(
- IN HANDLE hDevice
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetDevicePowerState(
- IN HANDLE hDevice,
- OUT BOOL *pfOn
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetMessageWaitingIndicator(
- IN HANDLE hMsgIndicator,
- IN ULONG ulMsgCount
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetEndOfFile(
- IN HANDLE hFile
- );
- WINBASEAPI
- DWORD
- WINAPI
- SetFilePointer(
- IN HANDLE hFile,
- IN LONG lDistanceToMove,
- IN PLONG lpDistanceToMoveHigh,
- IN DWORD dwMoveMethod
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetFilePointerEx(
- HANDLE hFile,
- LARGE_INTEGER liDistanceToMove,
- PLARGE_INTEGER lpNewFilePointer,
- DWORD dwMoveMethod
- );
- WINBASEAPI
- BOOL
- WINAPI
- FindClose(
- IN OUT HANDLE hFindFile
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetFileTime(
- IN HANDLE hFile,
- OUT LPFILETIME lpCreationTime,
- OUT LPFILETIME lpLastAccessTime,
- OUT LPFILETIME lpLastWriteTime
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetFileTime(
- IN HANDLE hFile,
- IN CONST FILETIME *lpCreationTime,
- IN CONST FILETIME *lpLastAccessTime,
- IN CONST FILETIME *lpLastWriteTime
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetFileValidData(
- IN HANDLE hFile,
- IN LONGLONG ValidDataLength
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetFileShortNameA(
- IN HANDLE hFile,
- IN LPCSTR lpShortName
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetFileShortNameW(
- IN HANDLE hFile,
- IN LPCWSTR lpShortName
- );
- #ifdef UNICODE
- #define SetFileShortName SetFileShortNameW
- #else
- #define SetFileShortName SetFileShortNameA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- CloseHandle(
- IN OUT HANDLE hObject
- );
- WINBASEAPI
- BOOL
- WINAPI
- DuplicateHandle(
- IN HANDLE hSourceProcessHandle,
- IN HANDLE hSourceHandle,
- IN HANDLE hTargetProcessHandle,
- OUT LPHANDLE lpTargetHandle,
- IN DWORD dwDesiredAccess,
- IN BOOL bInheritHandle,
- IN DWORD dwOptions
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetHandleInformation(
- IN HANDLE hObject,
- OUT LPDWORD lpdwFlags
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetHandleInformation(
- IN HANDLE hObject,
- IN DWORD dwMask,
- IN DWORD dwFlags
- );
- #define HANDLE_FLAG_INHERIT 0x00000001
- #define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x00000002
- #define HINSTANCE_ERROR 32
- WINBASEAPI
- DWORD
- WINAPI
- LoadModule(
- IN LPCSTR lpModuleName,
- IN LPVOID lpParameterBlock
- );
- WINBASEAPI
- UINT
- WINAPI
- WinExec(
- IN LPCSTR lpCmdLine,
- IN UINT uCmdShow
- );
- WINBASEAPI
- BOOL
- WINAPI
- ClearCommBreak(
- IN HANDLE hFile
- );
- WINBASEAPI
- BOOL
- WINAPI
- ClearCommError(
- IN HANDLE hFile,
- OUT LPDWORD lpErrors,
- OUT LPCOMSTAT lpStat
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetupComm(
- IN HANDLE hFile,
- IN DWORD dwInQueue,
- IN DWORD dwOutQueue
- );
- WINBASEAPI
- BOOL
- WINAPI
- EscapeCommFunction(
- IN HANDLE hFile,
- IN DWORD dwFunc
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetCommConfig(
- IN HANDLE hCommDev,
- OUT LPCOMMCONFIG lpCC,
- IN OUT LPDWORD lpdwSize
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetCommMask(
- IN HANDLE hFile,
- OUT LPDWORD lpEvtMask
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetCommProperties(
- IN HANDLE hFile,
- OUT LPCOMMPROP lpCommProp
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetCommModemStatus(
- IN HANDLE hFile,
- OUT LPDWORD lpModemStat
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetCommState(
- IN HANDLE hFile,
- OUT LPDCB lpDCB
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetCommTimeouts(
- IN HANDLE hFile,
- OUT LPCOMMTIMEOUTS lpCommTimeouts
- );
- WINBASEAPI
- BOOL
- WINAPI
- PurgeComm(
- IN HANDLE hFile,
- IN DWORD dwFlags
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetCommBreak(
- IN HANDLE hFile
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetCommConfig(
- IN HANDLE hCommDev,
- IN LPCOMMCONFIG lpCC,
- IN DWORD dwSize
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetCommMask(
- IN HANDLE hFile,
- IN DWORD dwEvtMask
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetCommState(
- IN HANDLE hFile,
- IN LPDCB lpDCB
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetCommTimeouts(
- IN HANDLE hFile,
- IN LPCOMMTIMEOUTS lpCommTimeouts
- );
- WINBASEAPI
- BOOL
- WINAPI
- TransmitCommChar(
- IN HANDLE hFile,
- IN char cChar
- );
- WINBASEAPI
- BOOL
- WINAPI
- WaitCommEvent(
- IN HANDLE hFile,
- OUT LPDWORD lpEvtMask,
- IN LPOVERLAPPED lpOverlapped
- );
- WINBASEAPI
- DWORD
- WINAPI
- SetTapePosition(
- IN HANDLE hDevice,
- IN DWORD dwPositionMethod,
- IN DWORD dwPartition,
- IN DWORD dwOffsetLow,
- IN DWORD dwOffsetHigh,
- IN BOOL bImmediate
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetTapePosition(
- IN HANDLE hDevice,
- IN DWORD dwPositionType,
- OUT LPDWORD lpdwPartition,
- OUT LPDWORD lpdwOffsetLow,
- OUT LPDWORD lpdwOffsetHigh
- );
- WINBASEAPI
- DWORD
- WINAPI
- PrepareTape(
- IN HANDLE hDevice,
- IN DWORD dwOperation,
- IN BOOL bImmediate
- );
- WINBASEAPI
- DWORD
- WINAPI
- EraseTape(
- IN HANDLE hDevice,
- IN DWORD dwEraseType,
- IN BOOL bImmediate
- );
- WINBASEAPI
- DWORD
- WINAPI
- CreateTapePartition(
- IN HANDLE hDevice,
- IN DWORD dwPartitionMethod,
- IN DWORD dwCount,
- IN DWORD dwSize
- );
- WINBASEAPI
- DWORD
- WINAPI
- WriteTapemark(
- IN HANDLE hDevice,
- IN DWORD dwTapemarkType,
- IN DWORD dwTapemarkCount,
- IN BOOL bImmediate
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetTapeStatus(
- IN HANDLE hDevice
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetTapeParameters(
- IN HANDLE hDevice,
- IN DWORD dwOperation,
- OUT LPDWORD lpdwSize,
- OUT LPVOID lpTapeInformation
- );
- #define GET_TAPE_MEDIA_INFORMATION 0
- #define GET_TAPE_DRIVE_INFORMATION 1
- WINBASEAPI
- DWORD
- WINAPI
- SetTapeParameters(
- IN HANDLE hDevice,
- IN DWORD dwOperation,
- IN LPVOID lpTapeInformation
- );
- #define SET_TAPE_MEDIA_INFORMATION 0
- #define SET_TAPE_DRIVE_INFORMATION 1
- WINBASEAPI
- BOOL
- WINAPI
- Beep(
- IN DWORD dwFreq,
- IN DWORD dwDuration
- );
- WINBASEAPI
- int
- WINAPI
- MulDiv(
- IN int nNumber,
- IN int nNumerator,
- IN int nDenominator
- );
- WINBASEAPI
- VOID
- WINAPI
- GetSystemTime(
- OUT LPSYSTEMTIME lpSystemTime
- );
- WINBASEAPI
- VOID
- WINAPI
- GetSystemTimeAsFileTime(
- OUT LPFILETIME lpSystemTimeAsFileTime
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetSystemTime(
- IN CONST SYSTEMTIME *lpSystemTime
- );
- WINBASEAPI
- VOID
- WINAPI
- GetLocalTime(
- OUT LPSYSTEMTIME lpSystemTime
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetLocalTime(
- IN CONST SYSTEMTIME *lpSystemTime
- );
- WINBASEAPI
- VOID
- WINAPI
- GetSystemInfo(
- OUT LPSYSTEM_INFO lpSystemInfo
- );
- #if _WIN32_WINNT >= 0x0501
- WINBASEAPI
- BOOL
- WINAPI
- GetSystemRegistryQuota(
- OUT PDWORD pdwQuotaAllowed,
- OUT PDWORD pdwQuotaUsed
- );
- BOOL
- WINAPI
- GetSystemTimes(
- LPFILETIME lpIdleTime,
- LPFILETIME lpKernelTime,
- LPFILETIME lpUserTime
- );
- #endif // (_WIN32_WINNT >= 0x0501)
- #if _WIN32_WINNT >= 0x0501
- WINBASEAPI
- VOID
- WINAPI
- GetNativeSystemInfo(
- OUT LPSYSTEM_INFO lpSystemInfo
- );
- #endif
- WINBASEAPI
- BOOL
- WINAPI
- IsProcessorFeaturePresent(
- IN DWORD ProcessorFeature
- );
- typedef struct _TIME_ZONE_INFORMATION {
- LONG Bias;
- WCHAR StandardName[ 32 ];
- SYSTEMTIME StandardDate;
- LONG StandardBias;
- WCHAR DaylightName[ 32 ];
- SYSTEMTIME DaylightDate;
- LONG DaylightBias;
- } TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
- WINBASEAPI
- BOOL
- WINAPI
- SystemTimeToTzSpecificLocalTime(
- IN LPTIME_ZONE_INFORMATION lpTimeZoneInformation,
- IN LPSYSTEMTIME lpUniversalTime,
- OUT LPSYSTEMTIME lpLocalTime
- );
- WINBASEAPI
- BOOL
- WINAPI
- TzSpecificLocalTimeToSystemTime(
- IN LPTIME_ZONE_INFORMATION lpTimeZoneInformation,
- IN LPSYSTEMTIME lpLocalTime,
- OUT LPSYSTEMTIME lpUniversalTime
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetTimeZoneInformation(
- OUT LPTIME_ZONE_INFORMATION lpTimeZoneInformation
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetTimeZoneInformation(
- IN CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation
- );
- //
- // Routines to convert back and forth between system time and file time
- //
- WINBASEAPI
- BOOL
- WINAPI
- SystemTimeToFileTime(
- IN CONST SYSTEMTIME *lpSystemTime,
- OUT LPFILETIME lpFileTime
- );
- WINBASEAPI
- BOOL
- WINAPI
- FileTimeToLocalFileTime(
- IN CONST FILETIME *lpFileTime,
- OUT LPFILETIME lpLocalFileTime
- );
- WINBASEAPI
- BOOL
- WINAPI
- LocalFileTimeToFileTime(
- IN CONST FILETIME *lpLocalFileTime,
- OUT LPFILETIME lpFileTime
- );
- WINBASEAPI
- BOOL
- WINAPI
- FileTimeToSystemTime(
- IN CONST FILETIME *lpFileTime,
- OUT LPSYSTEMTIME lpSystemTime
- );
- WINBASEAPI
- LONG
- WINAPI
- CompareFileTime(
- IN CONST FILETIME *lpFileTime1,
- IN CONST FILETIME *lpFileTime2
- );
- WINBASEAPI
- BOOL
- WINAPI
- FileTimeToDosDateTime(
- IN CONST FILETIME *lpFileTime,
- OUT LPWORD lpFatDate,
- OUT LPWORD lpFatTime
- );
- WINBASEAPI
- BOOL
- WINAPI
- DosDateTimeToFileTime(
- IN WORD wFatDate,
- IN WORD wFatTime,
- OUT LPFILETIME lpFileTime
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetTickCount(
- VOID
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetSystemTimeAdjustment(
- IN DWORD dwTimeAdjustment,
- IN BOOL bTimeAdjustmentDisabled
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetSystemTimeAdjustment(
- OUT PDWORD lpTimeAdjustment,
- OUT PDWORD lpTimeIncrement,
- OUT PBOOL lpTimeAdjustmentDisabled
- );
- #if !defined(MIDL_PASS)
- WINBASEAPI
- DWORD
- WINAPI
- FormatMessageA(
- IN DWORD dwFlags,
- IN LPCVOID lpSource,
- IN DWORD dwMessageId,
- IN DWORD dwLanguageId,
- OUT LPSTR lpBuffer,
- IN DWORD nSize,
- IN va_list *Arguments
- );
- WINBASEAPI
- DWORD
- WINAPI
- FormatMessageW(
- IN DWORD dwFlags,
- IN LPCVOID lpSource,
- IN DWORD dwMessageId,
- IN DWORD dwLanguageId,
- OUT LPWSTR lpBuffer,
- IN DWORD nSize,
- IN va_list *Arguments
- );
- #ifdef UNICODE
- #define FormatMessage FormatMessageW
- #else
- #define FormatMessage FormatMessageA
- #endif // !UNICODE
- #endif
- #define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100
- #define FORMAT_MESSAGE_IGNORE_INSERTS 0x00000200
- #define FORMAT_MESSAGE_FROM_STRING 0x00000400
- #define FORMAT_MESSAGE_FROM_HMODULE 0x00000800
- #define FORMAT_MESSAGE_FROM_SYSTEM 0x00001000
- #define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x00002000
- #define FORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000FF
- WINBASEAPI
- BOOL
- WINAPI
- CreatePipe(
- OUT PHANDLE hReadPipe,
- OUT PHANDLE hWritePipe,
- IN LPSECURITY_ATTRIBUTES lpPipeAttributes,
- IN DWORD nSize
- );
- WINBASEAPI
- BOOL
- WINAPI
- ConnectNamedPipe(
- IN HANDLE hNamedPipe,
- IN LPOVERLAPPED lpOverlapped
- );
- WINBASEAPI
- BOOL
- WINAPI
- DisconnectNamedPipe(
- IN HANDLE hNamedPipe
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetNamedPipeHandleState(
- IN HANDLE hNamedPipe,
- IN LPDWORD lpMode,
- IN LPDWORD lpMaxCollectionCount,
- IN LPDWORD lpCollectDataTimeout
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetNamedPipeInfo(
- IN HANDLE hNamedPipe,
- IN LPDWORD lpFlags,
- OUT LPDWORD lpOutBufferSize,
- OUT LPDWORD lpInBufferSize,
- OUT LPDWORD lpMaxInstances
- );
- WINBASEAPI
- BOOL
- WINAPI
- PeekNamedPipe(
- IN HANDLE hNamedPipe,
- OUT LPVOID lpBuffer,
- IN DWORD nBufferSize,
- OUT LPDWORD lpBytesRead,
- OUT LPDWORD lpTotalBytesAvail,
- OUT LPDWORD lpBytesLeftThisMessage
- );
- WINBASEAPI
- BOOL
- WINAPI
- TransactNamedPipe(
- IN HANDLE hNamedPipe,
- IN LPVOID lpInBuffer,
- IN DWORD nInBufferSize,
- OUT LPVOID lpOutBuffer,
- IN DWORD nOutBufferSize,
- OUT LPDWORD lpBytesRead,
- IN LPOVERLAPPED lpOverlapped
- );
- WINBASEAPI
- HANDLE
- WINAPI
- CreateMailslotA(
- IN LPCSTR lpName,
- IN DWORD nMaxMessageSize,
- IN DWORD lReadTimeout,
- IN LPSECURITY_ATTRIBUTES lpSecurityAttributes
- );
- WINBASEAPI
- HANDLE
- WINAPI
- CreateMailslotW(
- IN LPCWSTR lpName,
- IN DWORD nMaxMessageSize,
- IN DWORD lReadTimeout,
- IN LPSECURITY_ATTRIBUTES lpSecurityAttributes
- );
- #ifdef UNICODE
- #define CreateMailslot CreateMailslotW
- #else
- #define CreateMailslot CreateMailslotA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- GetMailslotInfo(
- IN HANDLE hMailslot,
- IN LPDWORD lpMaxMessageSize,
- IN LPDWORD lpNextSize,
- IN LPDWORD lpMessageCount,
- IN LPDWORD lpReadTimeout
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetMailslotInfo(
- IN HANDLE hMailslot,
- IN DWORD lReadTimeout
- );
- WINBASEAPI
- LPVOID
- WINAPI
- MapViewOfFile(
- IN HANDLE hFileMappingObject,
- IN DWORD dwDesiredAccess,
- IN DWORD dwFileOffsetHigh,
- IN DWORD dwFileOffsetLow,
- IN SIZE_T dwNumberOfBytesToMap
- );
- WINBASEAPI
- BOOL
- WINAPI
- FlushViewOfFile(
- IN LPCVOID lpBaseAddress,
- IN SIZE_T dwNumberOfBytesToFlush
- );
- WINBASEAPI
- BOOL
- WINAPI
- UnmapViewOfFile(
- IN LPCVOID lpBaseAddress
- );
- //
- // File Encryption API
- //
- WINADVAPI
- BOOL
- WINAPI
- EncryptFileA(
- IN LPCSTR lpFileName
- );
- WINADVAPI
- BOOL
- WINAPI
- EncryptFileW(
- IN LPCWSTR lpFileName
- );
- #ifdef UNICODE
- #define EncryptFile EncryptFileW
- #else
- #define EncryptFile EncryptFileA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- DecryptFileA(
- IN LPCSTR lpFileName,
- IN DWORD dwReserved
- );
- WINADVAPI
- BOOL
- WINAPI
- DecryptFileW(
- IN LPCWSTR lpFileName,
- IN DWORD dwReserved
- );
- #ifdef UNICODE
- #define DecryptFile DecryptFileW
- #else
- #define DecryptFile DecryptFileA
- #endif // !UNICODE
- //
- // Encryption Status Value
- //
- #define FILE_ENCRYPTABLE 0
- #define FILE_IS_ENCRYPTED 1
- #define FILE_SYSTEM_ATTR 2
- #define FILE_ROOT_DIR 3
- #define FILE_SYSTEM_DIR 4
- #define FILE_UNKNOWN 5
- #define FILE_SYSTEM_NOT_SUPPORT 6
- #define FILE_USER_DISALLOWED 7
- #define FILE_READ_ONLY 8
- #define FILE_DIR_DISALLOWED 9
- WINADVAPI
- BOOL
- WINAPI
- FileEncryptionStatusA(
- LPCSTR lpFileName,
- LPDWORD lpStatus
- );
- WINADVAPI
- BOOL
- WINAPI
- FileEncryptionStatusW(
- LPCWSTR lpFileName,
- LPDWORD lpStatus
- );
- #ifdef UNICODE
- #define FileEncryptionStatus FileEncryptionStatusW
- #else
- #define FileEncryptionStatus FileEncryptionStatusA
- #endif // !UNICODE
- //
- // Currently defined recovery flags
- //
- #define EFS_USE_RECOVERY_KEYS (0x1)
- typedef
- DWORD
- (WINAPI *PFE_EXPORT_FUNC)(
- PBYTE pbData,
- PVOID pvCallbackContext,
- ULONG ulLength
- );
- typedef
- DWORD
- (WINAPI *PFE_IMPORT_FUNC)(
- PBYTE pbData,
- PVOID pvCallbackContext,
- PULONG ulLength
- );
- //
- // OpenRaw flag values
- //
- #define CREATE_FOR_IMPORT (1)
- #define CREATE_FOR_DIR (2)
- #define OVERWRITE_HIDDEN (4)
- WINADVAPI
- DWORD
- WINAPI
- OpenEncryptedFileRawA(
- IN LPCSTR lpFileName,
- IN ULONG ulFlags,
- IN PVOID * pvContext
- );
- WINADVAPI
- DWORD
- WINAPI
- OpenEncryptedFileRawW(
- IN LPCWSTR lpFileName,
- IN ULONG ulFlags,
- IN PVOID * pvContext
- );
- #ifdef UNICODE
- #define OpenEncryptedFileRaw OpenEncryptedFileRawW
- #else
- #define OpenEncryptedFileRaw OpenEncryptedFileRawA
- #endif // !UNICODE
- WINADVAPI
- DWORD
- WINAPI
- ReadEncryptedFileRaw(
- IN PFE_EXPORT_FUNC pfExportCallback,
- IN PVOID pvCallbackContext,
- IN PVOID pvContext
- );
- WINADVAPI
- DWORD
- WINAPI
- WriteEncryptedFileRaw(
- IN PFE_IMPORT_FUNC pfImportCallback,
- IN PVOID pvCallbackContext,
- IN PVOID pvContext
- );
- WINADVAPI
- VOID
- WINAPI
- CloseEncryptedFileRaw(
- IN PVOID pvContext
- );
- //
- // _l Compat Functions
- //
- WINBASEAPI
- int
- WINAPI
- lstrcmpA(
- IN LPCSTR lpString1,
- IN LPCSTR lpString2
- );
- WINBASEAPI
- int
- WINAPI
- lstrcmpW(
- IN LPCWSTR lpString1,
- IN LPCWSTR lpString2
- );
- #ifdef UNICODE
- #define lstrcmp lstrcmpW
- #else
- #define lstrcmp lstrcmpA
- #endif // !UNICODE
- WINBASEAPI
- int
- WINAPI
- lstrcmpiA(
- IN LPCSTR lpString1,
- IN LPCSTR lpString2
- );
- WINBASEAPI
- int
- WINAPI
- lstrcmpiW(
- IN LPCWSTR lpString1,
- IN LPCWSTR lpString2
- );
- #ifdef UNICODE
- #define lstrcmpi lstrcmpiW
- #else
- #define lstrcmpi lstrcmpiA
- #endif // !UNICODE
- WINBASEAPI
- LPSTR
- WINAPI
- lstrcpynA(
- OUT LPSTR lpString1,
- IN LPCSTR lpString2,
- IN int iMaxLength
- );
- WINBASEAPI
- LPWSTR
- WINAPI
- lstrcpynW(
- OUT LPWSTR lpString1,
- IN LPCWSTR lpString2,
- IN int iMaxLength
- );
- #ifdef UNICODE
- #define lstrcpyn lstrcpynW
- #else
- #define lstrcpyn lstrcpynA
- #endif // !UNICODE
- WINBASEAPI
- LPSTR
- WINAPI
- lstrcpyA(
- OUT LPSTR lpString1,
- IN LPCSTR lpString2
- );
- WINBASEAPI
- LPWSTR
- WINAPI
- lstrcpyW(
- OUT LPWSTR lpString1,
- IN LPCWSTR lpString2
- );
- #ifdef UNICODE
- #define lstrcpy lstrcpyW
- #else
- #define lstrcpy lstrcpyA
- #endif // !UNICODE
- WINBASEAPI
- LPSTR
- WINAPI
- lstrcatA(
- IN OUT LPSTR lpString1,
- IN LPCSTR lpString2
- );
- WINBASEAPI
- LPWSTR
- WINAPI
- lstrcatW(
- IN OUT LPWSTR lpString1,
- IN LPCWSTR lpString2
- );
- #ifdef UNICODE
- #define lstrcat lstrcatW
- #else
- #define lstrcat lstrcatA
- #endif // !UNICODE
- WINBASEAPI
- int
- WINAPI
- lstrlenA(
- IN LPCSTR lpString
- );
- WINBASEAPI
- int
- WINAPI
- lstrlenW(
- IN LPCWSTR lpString
- );
- #ifdef UNICODE
- #define lstrlen lstrlenW
- #else
- #define lstrlen lstrlenA
- #endif // !UNICODE
- WINBASEAPI
- HFILE
- WINAPI
- OpenFile(
- IN LPCSTR lpFileName,
- OUT LPOFSTRUCT lpReOpenBuff,
- IN UINT uStyle
- );
- WINBASEAPI
- HFILE
- WINAPI
- _lopen(
- IN LPCSTR lpPathName,
- IN int iReadWrite
- );
- WINBASEAPI
- HFILE
- WINAPI
- _lcreat(
- IN LPCSTR lpPathName,
- IN int iAttribute
- );
- WINBASEAPI
- UINT
- WINAPI
- _lread(
- IN HFILE hFile,
- OUT LPVOID lpBuffer,
- IN UINT uBytes
- );
- WINBASEAPI
- UINT
- WINAPI
- _lwrite(
- IN HFILE hFile,
- IN LPCSTR lpBuffer,
- IN UINT uBytes
- );
- WINBASEAPI
- long
- WINAPI
- _hread(
- IN HFILE hFile,
- OUT LPVOID lpBuffer,
- IN long lBytes
- );
- WINBASEAPI
- long
- WINAPI
- _hwrite(
- IN HFILE hFile,
- IN LPCSTR lpBuffer,
- IN long lBytes
- );
- WINBASEAPI
- HFILE
- WINAPI
- _lclose(
- IN OUT HFILE hFile
- );
- WINBASEAPI
- LONG
- WINAPI
- _llseek(
- IN HFILE hFile,
- IN LONG lOffset,
- IN int iOrigin
- );
- WINADVAPI
- BOOL
- WINAPI
- IsTextUnicode(
- IN CONST VOID* lpBuffer,
- IN int cb,
- IN OUT LPINT lpi
- );
- WINBASEAPI
- DWORD
- WINAPI
- TlsAlloc(
- VOID
- );
- #define TLS_OUT_OF_INDEXES ((DWORD)0xFFFFFFFF)
- WINBASEAPI
- LPVOID
- WINAPI
- TlsGetValue(
- IN DWORD dwTlsIndex
- );
- WINBASEAPI
- BOOL
- WINAPI
- TlsSetValue(
- IN DWORD dwTlsIndex,
- IN LPVOID lpTlsValue
- );
- WINBASEAPI
- BOOL
- WINAPI
- TlsFree(
- IN DWORD dwTlsIndex
- );
- typedef
- VOID
- (WINAPI *LPOVERLAPPED_COMPLETION_ROUTINE)(
- DWORD dwErrorCode,
- DWORD dwNumberOfBytesTransfered,
- LPOVERLAPPED lpOverlapped
- );
- WINBASEAPI
- DWORD
- WINAPI
- SleepEx(
- IN DWORD dwMilliseconds,
- IN BOOL bAlertable
- );
- WINBASEAPI
- DWORD
- WINAPI
- WaitForSingleObjectEx(
- IN HANDLE hHandle,
- IN DWORD dwMilliseconds,
- IN BOOL bAlertable
- );
- WINBASEAPI
- DWORD
- WINAPI
- WaitForMultipleObjectsEx(
- IN DWORD nCount,
- IN CONST HANDLE *lpHandles,
- IN BOOL bWaitAll,
- IN DWORD dwMilliseconds,
- IN BOOL bAlertable
- );
- #if(_WIN32_WINNT >= 0x0400)
- WINBASEAPI
- DWORD
- WINAPI
- SignalObjectAndWait(
- IN HANDLE hObjectToSignal,
- IN HANDLE hObjectToWaitOn,
- IN DWORD dwMilliseconds,
- IN BOOL bAlertable
- );
- #endif /* _WIN32_WINNT >= 0x0400 */
- WINBASEAPI
- BOOL
- WINAPI
- ReadFileEx(
- IN HANDLE hFile,
- OUT LPVOID lpBuffer,
- IN DWORD nNumberOfBytesToRead,
- IN LPOVERLAPPED lpOverlapped,
- IN LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
- );
- WINBASEAPI
- BOOL
- WINAPI
- WriteFileEx(
- IN HANDLE hFile,
- IN LPCVOID lpBuffer,
- IN DWORD nNumberOfBytesToWrite,
- IN LPOVERLAPPED lpOverlapped,
- IN LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
- );
- WINBASEAPI
- BOOL
- WINAPI
- BackupRead(
- IN HANDLE hFile,
- OUT LPBYTE lpBuffer,
- IN DWORD nNumberOfBytesToRead,
- OUT LPDWORD lpNumberOfBytesRead,
- IN BOOL bAbort,
- IN BOOL bProcessSecurity,
- OUT LPVOID *lpContext
- );
- WINBASEAPI
- BOOL
- WINAPI
- BackupSeek(
- IN HANDLE hFile,
- IN DWORD dwLowBytesToSeek,
- IN DWORD dwHighBytesToSeek,
- OUT LPDWORD lpdwLowByteSeeked,
- OUT LPDWORD lpdwHighByteSeeked,
- IN LPVOID *lpContext
- );
- WINBASEAPI
- BOOL
- WINAPI
- BackupWrite(
- IN HANDLE hFile,
- IN LPBYTE lpBuffer,
- IN DWORD nNumberOfBytesToWrite,
- OUT LPDWORD lpNumberOfBytesWritten,
- IN BOOL bAbort,
- IN BOOL bProcessSecurity,
- OUT LPVOID *lpContext
- );
- //
- // Stream id structure
- //
- typedef struct _WIN32_STREAM_ID {
- DWORD dwStreamId ;
- DWORD dwStreamAttributes ;
- LARGE_INTEGER Size ;
- DWORD dwStreamNameSize ;
- WCHAR cStreamName[ ANYSIZE_ARRAY ] ;
- } WIN32_STREAM_ID, *LPWIN32_STREAM_ID ;
- //
- // Stream Ids
- //
- #define BACKUP_INVALID 0x00000000
- #define BACKUP_DATA 0x00000001
- #define BACKUP_EA_DATA 0x00000002
- #define BACKUP_SECURITY_DATA 0x00000003
- #define BACKUP_ALTERNATE_DATA 0x00000004
- #define BACKUP_LINK 0x00000005
- #define BACKUP_PROPERTY_DATA 0x00000006
- #define BACKUP_OBJECT_ID 0x00000007
- #define BACKUP_REPARSE_DATA 0x00000008
- #define BACKUP_SPARSE_BLOCK 0x00000009
- //
- // Stream Attributes
- //
- #define STREAM_NORMAL_ATTRIBUTE 0x00000000
- #define STREAM_MODIFIED_WHEN_READ 0x00000001
- #define STREAM_CONTAINS_SECURITY 0x00000002
- #define STREAM_CONTAINS_PROPERTIES 0x00000004
- #define STREAM_SPARSE_ATTRIBUTE 0x00000008
- WINBASEAPI
- BOOL
- WINAPI
- ReadFileScatter(
- IN HANDLE hFile,
- IN FILE_SEGMENT_ELEMENT aSegmentArray[],
- IN DWORD nNumberOfBytesToRead,
- IN LPDWORD lpReserved,
- IN LPOVERLAPPED lpOverlapped
- );
- WINBASEAPI
- BOOL
- WINAPI
- WriteFileGather(
- IN HANDLE hFile,
- OUT FILE_SEGMENT_ELEMENT aSegmentArray[],
- IN DWORD nNumberOfBytesToWrite,
- IN LPDWORD lpReserved,
- IN LPOVERLAPPED lpOverlapped
- );
- //
- // Dual Mode API below this line. Dual Mode Structures also included.
- //
- #define STARTF_USESHOWWINDOW 0x00000001
- #define STARTF_USESIZE 0x00000002
- #define STARTF_USEPOSITION 0x00000004
- #define STARTF_USECOUNTCHARS 0x00000008
- #define STARTF_USEFILLATTRIBUTE 0x00000010
- #define STARTF_RUNFULLSCREEN 0x00000020 // ignored for non-x86 platforms
- #define STARTF_FORCEONFEEDBACK 0x00000040
- #define STARTF_FORCEOFFFEEDBACK 0x00000080
- #define STARTF_USESTDHANDLES 0x00000100
- #if(WINVER >= 0x0400)
- #define STARTF_USEHOTKEY 0x00000200
- #endif /* WINVER >= 0x0400 */
- typedef struct _STARTUPINFOA {
- DWORD cb;
- LPSTR lpReserved;
- LPSTR lpDesktop;
- LPSTR lpTitle;
- DWORD dwX;
- DWORD dwY;
- DWORD dwXSize;
- DWORD dwYSize;
- DWORD dwXCountChars;
- DWORD dwYCountChars;
- DWORD dwFillAttribute;
- DWORD dwFlags;
- WORD wShowWindow;
- WORD cbReserved2;
- LPBYTE lpReserved2;
- HANDLE hStdInput;
- HANDLE hStdOutput;
- HANDLE hStdError;
- } STARTUPINFOA, *LPSTARTUPINFOA;
- typedef struct _STARTUPINFOW {
- DWORD cb;
- LPWSTR lpReserved;
- LPWSTR lpDesktop;
- LPWSTR lpTitle;
- DWORD dwX;
- DWORD dwY;
- DWORD dwXSize;
- DWORD dwYSize;
- DWORD dwXCountChars;
- DWORD dwYCountChars;
- DWORD dwFillAttribute;
- DWORD dwFlags;
- WORD wShowWindow;
- WORD cbReserved2;
- LPBYTE lpReserved2;
- HANDLE hStdInput;
- HANDLE hStdOutput;
- HANDLE hStdError;
- } STARTUPINFOW, *LPSTARTUPINFOW;
- #ifdef UNICODE
- typedef STARTUPINFOW STARTUPINFO;
- typedef LPSTARTUPINFOW LPSTARTUPINFO;
- #else
- typedef STARTUPINFOA STARTUPINFO;
- typedef LPSTARTUPINFOA LPSTARTUPINFO;
- #endif // UNICODE
- #define SHUTDOWN_NORETRY 0x00000001
- typedef struct _WIN32_FIND_DATAA {
- DWORD dwFileAttributes;
- FILETIME ftCreationTime;
- FILETIME ftLastAccessTime;
- FILETIME ftLastWriteTime;
- DWORD nFileSizeHigh;
- DWORD nFileSizeLow;
- DWORD dwReserved0;
- DWORD dwReserved1;
- CHAR cFileName[ MAX_PATH ];
- CHAR cAlternateFileName[ 14 ];
- #ifdef _MAC
- DWORD dwFileType;
- DWORD dwCreatorType;
- WORD wFinderFlags;
- #endif
- } WIN32_FIND_DATAA, *PWIN32_FIND_DATAA, *LPWIN32_FIND_DATAA;
- typedef struct _WIN32_FIND_DATAW {
- DWORD dwFileAttributes;
- FILETIME ftCreationTime;
- FILETIME ftLastAccessTime;
- FILETIME ftLastWriteTime;
- DWORD nFileSizeHigh;
- DWORD nFileSizeLow;
- DWORD dwReserved0;
- DWORD dwReserved1;
- WCHAR cFileName[ MAX_PATH ];
- WCHAR cAlternateFileName[ 14 ];
- #ifdef _MAC
- DWORD dwFileType;
- DWORD dwCreatorType;
- WORD wFinderFlags;
- #endif
- } WIN32_FIND_DATAW, *PWIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;
- #ifdef UNICODE
- typedef WIN32_FIND_DATAW WIN32_FIND_DATA;
- typedef PWIN32_FIND_DATAW PWIN32_FIND_DATA;
- typedef LPWIN32_FIND_DATAW LPWIN32_FIND_DATA;
- #else
- typedef WIN32_FIND_DATAA WIN32_FIND_DATA;
- typedef PWIN32_FIND_DATAA PWIN32_FIND_DATA;
- typedef LPWIN32_FIND_DATAA LPWIN32_FIND_DATA;
- #endif // UNICODE
- typedef struct _WIN32_FILE_ATTRIBUTE_DATA {
- DWORD dwFileAttributes;
- FILETIME ftCreationTime;
- FILETIME ftLastAccessTime;
- FILETIME ftLastWriteTime;
- DWORD nFileSizeHigh;
- DWORD nFileSizeLow;
- } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
- WINBASEAPI
- HANDLE
- WINAPI
- CreateMutexA(
- IN LPSECURITY_ATTRIBUTES lpMutexAttributes,
- IN BOOL bInitialOwner,
- IN LPCSTR lpName
- );
- WINBASEAPI
- HANDLE
- WINAPI
- CreateMutexW(
- IN LPSECURITY_ATTRIBUTES lpMutexAttributes,
- IN BOOL bInitialOwner,
- IN LPCWSTR lpName
- );
- #ifdef UNICODE
- #define CreateMutex CreateMutexW
- #else
- #define CreateMutex CreateMutexA
- #endif // !UNICODE
- WINBASEAPI
- HANDLE
- WINAPI
- OpenMutexA(
- IN DWORD dwDesiredAccess,
- IN BOOL bInheritHandle,
- IN LPCSTR lpName
- );
- WINBASEAPI
- HANDLE
- WINAPI
- OpenMutexW(
- IN DWORD dwDesiredAccess,
- IN BOOL bInheritHandle,
- IN LPCWSTR lpName
- );
- #ifdef UNICODE
- #define OpenMutex OpenMutexW
- #else
- #define OpenMutex OpenMutexA
- #endif // !UNICODE
- WINBASEAPI
- HANDLE
- WINAPI
- CreateEventA(
- IN LPSECURITY_ATTRIBUTES lpEventAttributes,
- IN BOOL bManualReset,
- IN BOOL bInitialState,
- IN LPCSTR lpName
- );
- WINBASEAPI
- HANDLE
- WINAPI
- CreateEventW(
- IN LPSECURITY_ATTRIBUTES lpEventAttributes,
- IN BOOL bManualReset,
- IN BOOL bInitialState,
- IN LPCWSTR lpName
- );
- #ifdef UNICODE
- #define CreateEvent CreateEventW
- #else
- #define CreateEvent CreateEventA
- #endif // !UNICODE
- WINBASEAPI
- HANDLE
- WINAPI
- OpenEventA(
- IN DWORD dwDesiredAccess,
- IN BOOL bInheritHandle,
- IN LPCSTR lpName
- );
- WINBASEAPI
- HANDLE
- WINAPI
- OpenEventW(
- IN DWORD dwDesiredAccess,
- IN BOOL bInheritHandle,
- IN LPCWSTR lpName
- );
- #ifdef UNICODE
- #define OpenEvent OpenEventW
- #else
- #define OpenEvent OpenEventA
- #endif // !UNICODE
- WINBASEAPI
- HANDLE
- WINAPI
- CreateSemaphoreA(
- IN LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
- IN LONG lInitialCount,
- IN LONG lMaximumCount,
- IN LPCSTR lpName
- );
- WINBASEAPI
- HANDLE
- WINAPI
- CreateSemaphoreW(
- IN LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
- IN LONG lInitialCount,
- IN LONG lMaximumCount,
- IN LPCWSTR lpName
- );
- #ifdef UNICODE
- #define CreateSemaphore CreateSemaphoreW
- #else
- #define CreateSemaphore CreateSemaphoreA
- #endif // !UNICODE
- WINBASEAPI
- HANDLE
- WINAPI
- OpenSemaphoreA(
- IN DWORD dwDesiredAccess,
- IN BOOL bInheritHandle,
- IN LPCSTR lpName
- );
- WINBASEAPI
- HANDLE
- WINAPI
- OpenSemaphoreW(
- IN DWORD dwDesiredAccess,
- IN BOOL bInheritHandle,
- IN LPCWSTR lpName
- );
- #ifdef UNICODE
- #define OpenSemaphore OpenSemaphoreW
- #else
- #define OpenSemaphore OpenSemaphoreA
- #endif // !UNICODE
- #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
- typedef
- VOID
- (APIENTRY *PTIMERAPCROUTINE)(
- LPVOID lpArgToCompletionRoutine,
- DWORD dwTimerLowValue,
- DWORD dwTimerHighValue
- );
- WINBASEAPI
- HANDLE
- WINAPI
- CreateWaitableTimerA(
- IN LPSECURITY_ATTRIBUTES lpTimerAttributes,
- IN BOOL bManualReset,
- IN LPCSTR lpTimerName
- );
- WINBASEAPI
- HANDLE
- WINAPI
- CreateWaitableTimerW(
- IN LPSECURITY_ATTRIBUTES lpTimerAttributes,
- IN BOOL bManualReset,
- IN LPCWSTR lpTimerName
- );
- #ifdef UNICODE
- #define CreateWaitableTimer CreateWaitableTimerW
- #else
- #define CreateWaitableTimer CreateWaitableTimerA
- #endif // !UNICODE
- WINBASEAPI
- HANDLE
- WINAPI
- OpenWaitableTimerA(
- IN DWORD dwDesiredAccess,
- IN BOOL bInheritHandle,
- IN LPCSTR lpTimerName
- );
- WINBASEAPI
- HANDLE
- WINAPI
- OpenWaitableTimerW(
- IN DWORD dwDesiredAccess,
- IN BOOL bInheritHandle,
- IN LPCWSTR lpTimerName
- );
- #ifdef UNICODE
- #define OpenWaitableTimer OpenWaitableTimerW
- #else
- #define OpenWaitableTimer OpenWaitableTimerA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- SetWaitableTimer(
- IN HANDLE hTimer,
- IN const LARGE_INTEGER *lpDueTime,
- IN LONG lPeriod,
- IN PTIMERAPCROUTINE pfnCompletionRoutine,
- IN LPVOID lpArgToCompletionRoutine,
- IN BOOL fResume
- );
- WINBASEAPI
- BOOL
- WINAPI
- CancelWaitableTimer(
- IN HANDLE hTimer
- );
- #endif /* (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) */
- WINBASEAPI
- HANDLE
- WINAPI
- CreateFileMappingA(
- IN HANDLE hFile,
- IN LPSECURITY_ATTRIBUTES lpFileMappingAttributes,
- IN DWORD flProtect,
- IN DWORD dwMaximumSizeHigh,
- IN DWORD dwMaximumSizeLow,
- IN LPCSTR lpName
- );
- WINBASEAPI
- HANDLE
- WINAPI
- CreateFileMappingW(
- IN HANDLE hFile,
- IN LPSECURITY_ATTRIBUTES lpFileMappingAttributes,
- IN DWORD flProtect,
- IN DWORD dwMaximumSizeHigh,
- IN DWORD dwMaximumSizeLow,
- IN LPCWSTR lpName
- );
- #ifdef UNICODE
- #define CreateFileMapping CreateFileMappingW
- #else
- #define CreateFileMapping CreateFileMappingA
- #endif // !UNICODE
- WINBASEAPI
- HANDLE
- WINAPI
- OpenFileMappingA(
- IN DWORD dwDesiredAccess,
- IN BOOL bInheritHandle,
- IN LPCSTR lpName
- );
- WINBASEAPI
- HANDLE
- WINAPI
- OpenFileMappingW(
- IN DWORD dwDesiredAccess,
- IN BOOL bInheritHandle,
- IN LPCWSTR lpName
- );
- #ifdef UNICODE
- #define OpenFileMapping OpenFileMappingW
- #else
- #define OpenFileMapping OpenFileMappingA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- GetLogicalDriveStringsA(
- IN DWORD nBufferLength,
- OUT LPSTR lpBuffer
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetLogicalDriveStringsW(
- IN DWORD nBufferLength,
- OUT LPWSTR lpBuffer
- );
- #ifdef UNICODE
- #define GetLogicalDriveStrings GetLogicalDriveStringsW
- #else
- #define GetLogicalDriveStrings GetLogicalDriveStringsA
- #endif // !UNICODE
- #if _WIN32_WINNT >= 0x0501
- typedef enum _MEMORY_RESOURCE_NOTIFICATION_TYPE {
- LowMemoryResourceNotification,
- HighMemoryResourceNotification
- } MEMORY_RESOURCE_NOTIFICATION_TYPE;
- WINBASEAPI
- HANDLE
- WINAPI
- CreateMemoryResourceNotification(
- IN MEMORY_RESOURCE_NOTIFICATION_TYPE NotificationType
- );
- WINBASEAPI
- BOOL
- WINAPI
- QueryMemoryResourceNotification(
- IN HANDLE ResourceNotificationHandle,
- OUT PBOOL ResourceState
- );
- #endif // _WIN32_WINNT >= 0x0501
- WINBASEAPI
- HMODULE
- WINAPI
- LoadLibraryA(
- IN LPCSTR lpLibFileName
- );
- WINBASEAPI
- HMODULE
- WINAPI
- LoadLibraryW(
- IN LPCWSTR lpLibFileName
- );
- #ifdef UNICODE
- #define LoadLibrary LoadLibraryW
- #else
- #define LoadLibrary LoadLibraryA
- #endif // !UNICODE
- WINBASEAPI
- HMODULE
- WINAPI
- LoadLibraryExA(
- IN LPCSTR lpLibFileName,
- IN HANDLE hFile,
- IN DWORD dwFlags
- );
- WINBASEAPI
- HMODULE
- WINAPI
- LoadLibraryExW(
- IN LPCWSTR lpLibFileName,
- IN HANDLE hFile,
- IN DWORD dwFlags
- );
- #ifdef UNICODE
- #define LoadLibraryEx LoadLibraryExW
- #else
- #define LoadLibraryEx LoadLibraryExA
- #endif // !UNICODE
- #define DONT_RESOLVE_DLL_REFERENCES 0x00000001
- #define LOAD_LIBRARY_AS_DATAFILE 0x00000002
- #define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008
- #define LOAD_IGNORE_CODE_AUTHZ_LEVEL 0x00000010
- WINBASEAPI
- DWORD
- WINAPI
- GetModuleFileNameA(
- IN HMODULE hModule,
- OUT LPSTR lpFilename,
- IN DWORD nSize
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetModuleFileNameW(
- IN HMODULE hModule,
- OUT LPWSTR lpFilename,
- IN DWORD nSize
- );
- #ifdef UNICODE
- #define GetModuleFileName GetModuleFileNameW
- #else
- #define GetModuleFileName GetModuleFileNameA
- #endif // !UNICODE
- WINBASEAPI
- HMODULE
- WINAPI
- GetModuleHandleA(
- IN LPCSTR lpModuleName
- );
- WINBASEAPI
- HMODULE
- WINAPI
- GetModuleHandleW(
- IN LPCWSTR lpModuleName
- );
- #ifdef UNICODE
- #define GetModuleHandle GetModuleHandleW
- #else
- #define GetModuleHandle GetModuleHandleA
- #endif // !UNICODE
- #if !defined(RC_INVOKED)
- #if _WIN32_WINNT > 0x0500 || defined(WINBASE_DECLARE_GET_MODULE_HANDLE_EX) || ISOLATION_AWARE_ENABLED
- #define GET_MODULE_HANDLE_EX_FLAG_PIN (0x00000001)
- #define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT (0x00000002)
- #define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS (0x00000004)
- typedef
- BOOL
- (WINAPI*
- PGET_MODULE_HANDLE_EXA)(
- IN DWORD dwFlags,
- IN LPCSTR lpModuleName,
- OUT HMODULE* phModule
- );
- typedef
- BOOL
- (WINAPI*
- PGET_MODULE_HANDLE_EXW)(
- IN DWORD dwFlags,
- IN LPCWSTR lpModuleName,
- OUT HMODULE* phModule
- );
- #ifdef UNICODE
- #define PGET_MODULE_HANDLE_EX PGET_MODULE_HANDLE_EXW
- #else
- #define PGET_MODULE_HANDLE_EX PGET_MODULE_HANDLE_EXA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- GetModuleHandleExA(
- IN DWORD dwFlags,
- IN LPCSTR lpModuleName,
- OUT HMODULE* phModule
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetModuleHandleExW(
- IN DWORD dwFlags,
- IN LPCWSTR lpModuleName,
- OUT HMODULE* phModule
- );
- #ifdef UNICODE
- #define GetModuleHandleEx GetModuleHandleExW
- #else
- #define GetModuleHandleEx GetModuleHandleExA
- #endif // !UNICODE
- #endif
- #endif
- WINBASEAPI
- BOOL
- WINAPI
- CreateProcessA(
- IN LPCSTR lpApplicationName,
- IN LPSTR lpCommandLine,
- IN LPSECURITY_ATTRIBUTES lpProcessAttributes,
- IN LPSECURITY_ATTRIBUTES lpThreadAttributes,
- IN BOOL bInheritHandles,
- IN DWORD dwCreationFlags,
- IN LPVOID lpEnvironment,
- IN LPCSTR lpCurrentDirectory,
- IN LPSTARTUPINFOA lpStartupInfo,
- OUT LPPROCESS_INFORMATION lpProcessInformation
- );
- WINBASEAPI
- BOOL
- WINAPI
- CreateProcessW(
- IN LPCWSTR lpApplicationName,
- IN LPWSTR lpCommandLine,
- IN LPSECURITY_ATTRIBUTES lpProcessAttributes,
- IN LPSECURITY_ATTRIBUTES lpThreadAttributes,
- IN BOOL bInheritHandles,
- IN DWORD dwCreationFlags,
- IN LPVOID lpEnvironment,
- IN LPCWSTR lpCurrentDirectory,
- IN LPSTARTUPINFOW lpStartupInfo,
- OUT LPPROCESS_INFORMATION lpProcessInformation
- );
- #ifdef UNICODE
- #define CreateProcess CreateProcessW
- #else
- #define CreateProcess CreateProcessA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- SetProcessShutdownParameters(
- IN DWORD dwLevel,
- IN DWORD dwFlags
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetProcessShutdownParameters(
- OUT LPDWORD lpdwLevel,
- OUT LPDWORD lpdwFlags
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetProcessVersion(
- IN DWORD ProcessId
- );
- WINBASEAPI
- VOID
- WINAPI
- FatalAppExitA(
- IN UINT uAction,
- IN LPCSTR lpMessageText
- );
- WINBASEAPI
- VOID
- WINAPI
- FatalAppExitW(
- IN UINT uAction,
- IN LPCWSTR lpMessageText
- );
- #ifdef UNICODE
- #define FatalAppExit FatalAppExitW
- #else
- #define FatalAppExit FatalAppExitA
- #endif // !UNICODE
- WINBASEAPI
- VOID
- WINAPI
- GetStartupInfoA(
- OUT LPSTARTUPINFOA lpStartupInfo
- );
- WINBASEAPI
- VOID
- WINAPI
- GetStartupInfoW(
- OUT LPSTARTUPINFOW lpStartupInfo
- );
- #ifdef UNICODE
- #define GetStartupInfo GetStartupInfoW
- #else
- #define GetStartupInfo GetStartupInfoA
- #endif // !UNICODE
- WINBASEAPI
- LPSTR
- WINAPI
- GetCommandLineA(
- VOID
- );
- WINBASEAPI
- LPWSTR
- WINAPI
- GetCommandLineW(
- VOID
- );
- #ifdef UNICODE
- #define GetCommandLine GetCommandLineW
- #else
- #define GetCommandLine GetCommandLineA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- GetEnvironmentVariableA(
- IN LPCSTR lpName,
- OUT LPSTR lpBuffer,
- IN DWORD nSize
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetEnvironmentVariableW(
- IN LPCWSTR lpName,
- OUT LPWSTR lpBuffer,
- IN DWORD nSize
- );
- #ifdef UNICODE
- #define GetEnvironmentVariable GetEnvironmentVariableW
- #else
- #define GetEnvironmentVariable GetEnvironmentVariableA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- SetEnvironmentVariableA(
- IN LPCSTR lpName,
- IN LPCSTR lpValue
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetEnvironmentVariableW(
- IN LPCWSTR lpName,
- IN LPCWSTR lpValue
- );
- #ifdef UNICODE
- #define SetEnvironmentVariable SetEnvironmentVariableW
- #else
- #define SetEnvironmentVariable SetEnvironmentVariableA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- ExpandEnvironmentStringsA(
- IN LPCSTR lpSrc,
- OUT LPSTR lpDst,
- IN DWORD nSize
- );
- WINBASEAPI
- DWORD
- WINAPI
- ExpandEnvironmentStringsW(
- IN LPCWSTR lpSrc,
- OUT LPWSTR lpDst,
- IN DWORD nSize
- );
- #ifdef UNICODE
- #define ExpandEnvironmentStrings ExpandEnvironmentStringsW
- #else
- #define ExpandEnvironmentStrings ExpandEnvironmentStringsA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- GetFirmwareEnvironmentVariableA(
- IN LPCSTR lpName,
- IN LPCSTR lpGuid,
- OUT PVOID pBuffer,
- IN DWORD nSize
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetFirmwareEnvironmentVariableW(
- IN LPCWSTR lpName,
- IN LPCWSTR lpGuid,
- OUT PVOID pBuffer,
- IN DWORD nSize
- );
- #ifdef UNICODE
- #define GetFirmwareEnvironmentVariable GetFirmwareEnvironmentVariableW
- #else
- #define GetFirmwareEnvironmentVariable GetFirmwareEnvironmentVariableA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- SetFirmwareEnvironmentVariableA(
- IN LPCSTR lpName,
- IN LPCSTR lpGuid,
- IN PVOID pValue,
- IN DWORD nSize
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetFirmwareEnvironmentVariableW(
- IN LPCWSTR lpName,
- IN LPCWSTR lpGuid,
- IN PVOID pValue,
- IN DWORD nSize
- );
- #ifdef UNICODE
- #define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableW
- #else
- #define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableA
- #endif // !UNICODE
- WINBASEAPI
- VOID
- WINAPI
- OutputDebugStringA(
- IN LPCSTR lpOutputString
- );
- WINBASEAPI
- VOID
- WINAPI
- OutputDebugStringW(
- IN LPCWSTR lpOutputString
- );
- #ifdef UNICODE
- #define OutputDebugString OutputDebugStringW
- #else
- #define OutputDebugString OutputDebugStringA
- #endif // !UNICODE
- WINBASEAPI
- HRSRC
- WINAPI
- FindResourceA(
- IN HMODULE hModule,
- IN LPCSTR lpName,
- IN LPCSTR lpType
- );
- WINBASEAPI
- HRSRC
- WINAPI
- FindResourceW(
- IN HMODULE hModule,
- IN LPCWSTR lpName,
- IN LPCWSTR lpType
- );
- #ifdef UNICODE
- #define FindResource FindResourceW
- #else
- #define FindResource FindResourceA
- #endif // !UNICODE
- WINBASEAPI
- HRSRC
- WINAPI
- FindResourceExA(
- IN HMODULE hModule,
- IN LPCSTR lpType,
- IN LPCSTR lpName,
- IN WORD wLanguage
- );
- WINBASEAPI
- HRSRC
- WINAPI
- FindResourceExW(
- IN HMODULE hModule,
- IN LPCWSTR lpType,
- IN LPCWSTR lpName,
- IN WORD wLanguage
- );
- #ifdef UNICODE
- #define FindResourceEx FindResourceExW
- #else
- #define FindResourceEx FindResourceExA
- #endif // !UNICODE
- #ifdef STRICT
- typedef BOOL (CALLBACK* ENUMRESTYPEPROCA)(HMODULE hModule, LPSTR lpType,
- LONG_PTR lParam);
- typedef BOOL (CALLBACK* ENUMRESTYPEPROCW)(HMODULE hModule, LPWSTR lpType,
- LONG_PTR lParam);
- #ifdef UNICODE
- #define ENUMRESTYPEPROC ENUMRESTYPEPROCW
- #else
- #define ENUMRESTYPEPROC ENUMRESTYPEPROCA
- #endif // !UNICODE
- typedef BOOL (CALLBACK* ENUMRESNAMEPROCA)(HMODULE hModule, LPCSTR lpType,
- LPSTR lpName, LONG_PTR lParam);
- typedef BOOL (CALLBACK* ENUMRESNAMEPROCW)(HMODULE hModule, LPCWSTR lpType,
- LPWSTR lpName, LONG_PTR lParam);
- #ifdef UNICODE
- #define ENUMRESNAMEPROC ENUMRESNAMEPROCW
- #else
- #define ENUMRESNAMEPROC ENUMRESNAMEPROCA
- #endif // !UNICODE
- typedef BOOL (CALLBACK* ENUMRESLANGPROCA)(HMODULE hModule, LPCSTR lpType,
- LPCSTR lpName, WORD wLanguage, LONG_PTR lParam);
- typedef BOOL (CALLBACK* ENUMRESLANGPROCW)(HMODULE hModule, LPCWSTR lpType,
- LPCWSTR lpName, WORD wLanguage, LONG_PTR lParam);
- #ifdef UNICODE
- #define ENUMRESLANGPROC ENUMRESLANGPROCW
- #else
- #define ENUMRESLANGPROC ENUMRESLANGPROCA
- #endif // !UNICODE
- #else
- typedef FARPROC ENUMRESTYPEPROCA;
- typedef FARPROC ENUMRESTYPEPROCW;
- #ifdef UNICODE
- typedef ENUMRESTYPEPROCW ENUMRESTYPEPROC;
- #else
- typedef ENUMRESTYPEPROCA ENUMRESTYPEPROC;
- #endif // UNICODE
- typedef FARPROC ENUMRESNAMEPROCA;
- typedef FARPROC ENUMRESNAMEPROCW;
- #ifdef UNICODE
- typedef ENUMRESNAMEPROCW ENUMRESNAMEPROC;
- #else
- typedef ENUMRESNAMEPROCA ENUMRESNAMEPROC;
- #endif // UNICODE
- typedef FARPROC ENUMRESLANGPROCA;
- typedef FARPROC ENUMRESLANGPROCW;
- #ifdef UNICODE
- typedef ENUMRESLANGPROCW ENUMRESLANGPROC;
- #else
- typedef ENUMRESLANGPROCA ENUMRESLANGPROC;
- #endif // UNICODE
- #endif
- WINBASEAPI
- BOOL
- WINAPI
- EnumResourceTypesA(
- IN HMODULE hModule,
- IN ENUMRESTYPEPROCA lpEnumFunc,
- IN LONG_PTR lParam
- );
- WINBASEAPI
- BOOL
- WINAPI
- EnumResourceTypesW(
- IN HMODULE hModule,
- IN ENUMRESTYPEPROCW lpEnumFunc,
- IN LONG_PTR lParam
- );
- #ifdef UNICODE
- #define EnumResourceTypes EnumResourceTypesW
- #else
- #define EnumResourceTypes EnumResourceTypesA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- EnumResourceNamesA(
- IN HMODULE hModule,
- IN LPCSTR lpType,
- IN ENUMRESNAMEPROCA lpEnumFunc,
- IN LONG_PTR lParam
- );
- WINBASEAPI
- BOOL
- WINAPI
- EnumResourceNamesW(
- IN HMODULE hModule,
- IN LPCWSTR lpType,
- IN ENUMRESNAMEPROCW lpEnumFunc,
- IN LONG_PTR lParam
- );
- #ifdef UNICODE
- #define EnumResourceNames EnumResourceNamesW
- #else
- #define EnumResourceNames EnumResourceNamesA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- EnumResourceLanguagesA(
- IN HMODULE hModule,
- IN LPCSTR lpType,
- IN LPCSTR lpName,
- IN ENUMRESLANGPROCA lpEnumFunc,
- IN LONG_PTR lParam
- );
- WINBASEAPI
- BOOL
- WINAPI
- EnumResourceLanguagesW(
- IN HMODULE hModule,
- IN LPCWSTR lpType,
- IN LPCWSTR lpName,
- IN ENUMRESLANGPROCW lpEnumFunc,
- IN LONG_PTR lParam
- );
- #ifdef UNICODE
- #define EnumResourceLanguages EnumResourceLanguagesW
- #else
- #define EnumResourceLanguages EnumResourceLanguagesA
- #endif // !UNICODE
- WINBASEAPI
- HANDLE
- WINAPI
- BeginUpdateResourceA(
- IN LPCSTR pFileName,
- IN BOOL bDeleteExistingResources
- );
- WINBASEAPI
- HANDLE
- WINAPI
- BeginUpdateResourceW(
- IN LPCWSTR pFileName,
- IN BOOL bDeleteExistingResources
- );
- #ifdef UNICODE
- #define BeginUpdateResource BeginUpdateResourceW
- #else
- #define BeginUpdateResource BeginUpdateResourceA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- UpdateResourceA(
- IN HANDLE hUpdate,
- IN LPCSTR lpType,
- IN LPCSTR lpName,
- IN WORD wLanguage,
- IN LPVOID lpData,
- IN DWORD cbData
- );
- WINBASEAPI
- BOOL
- WINAPI
- UpdateResourceW(
- IN HANDLE hUpdate,
- IN LPCWSTR lpType,
- IN LPCWSTR lpName,
- IN WORD wLanguage,
- IN LPVOID lpData,
- IN DWORD cbData
- );
- #ifdef UNICODE
- #define UpdateResource UpdateResourceW
- #else
- #define UpdateResource UpdateResourceA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- EndUpdateResourceA(
- IN HANDLE hUpdate,
- IN BOOL fDiscard
- );
- WINBASEAPI
- BOOL
- WINAPI
- EndUpdateResourceW(
- IN HANDLE hUpdate,
- IN BOOL fDiscard
- );
- #ifdef UNICODE
- #define EndUpdateResource EndUpdateResourceW
- #else
- #define EndUpdateResource EndUpdateResourceA
- #endif // !UNICODE
- WINBASEAPI
- ATOM
- WINAPI
- GlobalAddAtomA(
- IN LPCSTR lpString
- );
- WINBASEAPI
- ATOM
- WINAPI
- GlobalAddAtomW(
- IN LPCWSTR lpString
- );
- #ifdef UNICODE
- #define GlobalAddAtom GlobalAddAtomW
- #else
- #define GlobalAddAtom GlobalAddAtomA
- #endif // !UNICODE
- WINBASEAPI
- ATOM
- WINAPI
- GlobalFindAtomA(
- IN LPCSTR lpString
- );
- WINBASEAPI
- ATOM
- WINAPI
- GlobalFindAtomW(
- IN LPCWSTR lpString
- );
- #ifdef UNICODE
- #define GlobalFindAtom GlobalFindAtomW
- #else
- #define GlobalFindAtom GlobalFindAtomA
- #endif // !UNICODE
- WINBASEAPI
- UINT
- WINAPI
- GlobalGetAtomNameA(
- IN ATOM nAtom,
- OUT LPSTR lpBuffer,
- IN int nSize
- );
- WINBASEAPI
- UINT
- WINAPI
- GlobalGetAtomNameW(
- IN ATOM nAtom,
- OUT LPWSTR lpBuffer,
- IN int nSize
- );
- #ifdef UNICODE
- #define GlobalGetAtomName GlobalGetAtomNameW
- #else
- #define GlobalGetAtomName GlobalGetAtomNameA
- #endif // !UNICODE
- WINBASEAPI
- ATOM
- WINAPI
- AddAtomA(
- IN LPCSTR lpString
- );
- WINBASEAPI
- ATOM
- WINAPI
- AddAtomW(
- IN LPCWSTR lpString
- );
- #ifdef UNICODE
- #define AddAtom AddAtomW
- #else
- #define AddAtom AddAtomA
- #endif // !UNICODE
- WINBASEAPI
- ATOM
- WINAPI
- FindAtomA(
- IN LPCSTR lpString
- );
- WINBASEAPI
- ATOM
- WINAPI
- FindAtomW(
- IN LPCWSTR lpString
- );
- #ifdef UNICODE
- #define FindAtom FindAtomW
- #else
- #define FindAtom FindAtomA
- #endif // !UNICODE
- WINBASEAPI
- UINT
- WINAPI
- GetAtomNameA(
- IN ATOM nAtom,
- OUT LPSTR lpBuffer,
- IN int nSize
- );
- WINBASEAPI
- UINT
- WINAPI
- GetAtomNameW(
- IN ATOM nAtom,
- OUT LPWSTR lpBuffer,
- IN int nSize
- );
- #ifdef UNICODE
- #define GetAtomName GetAtomNameW
- #else
- #define GetAtomName GetAtomNameA
- #endif // !UNICODE
- WINBASEAPI
- UINT
- WINAPI
- GetProfileIntA(
- IN LPCSTR lpAppName,
- IN LPCSTR lpKeyName,
- IN INT nDefault
- );
- WINBASEAPI
- UINT
- WINAPI
- GetProfileIntW(
- IN LPCWSTR lpAppName,
- IN LPCWSTR lpKeyName,
- IN INT nDefault
- );
- #ifdef UNICODE
- #define GetProfileInt GetProfileIntW
- #else
- #define GetProfileInt GetProfileIntA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- GetProfileStringA(
- IN LPCSTR lpAppName,
- IN LPCSTR lpKeyName,
- IN LPCSTR lpDefault,
- OUT LPSTR lpReturnedString,
- IN DWORD nSize
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetProfileStringW(
- IN LPCWSTR lpAppName,
- IN LPCWSTR lpKeyName,
- IN LPCWSTR lpDefault,
- OUT LPWSTR lpReturnedString,
- IN DWORD nSize
- );
- #ifdef UNICODE
- #define GetProfileString GetProfileStringW
- #else
- #define GetProfileString GetProfileStringA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- WriteProfileStringA(
- IN LPCSTR lpAppName,
- IN LPCSTR lpKeyName,
- IN LPCSTR lpString
- );
- WINBASEAPI
- BOOL
- WINAPI
- WriteProfileStringW(
- IN LPCWSTR lpAppName,
- IN LPCWSTR lpKeyName,
- IN LPCWSTR lpString
- );
- #ifdef UNICODE
- #define WriteProfileString WriteProfileStringW
- #else
- #define WriteProfileString WriteProfileStringA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- GetProfileSectionA(
- IN LPCSTR lpAppName,
- OUT LPSTR lpReturnedString,
- IN DWORD nSize
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetProfileSectionW(
- IN LPCWSTR lpAppName,
- OUT LPWSTR lpReturnedString,
- IN DWORD nSize
- );
- #ifdef UNICODE
- #define GetProfileSection GetProfileSectionW
- #else
- #define GetProfileSection GetProfileSectionA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- WriteProfileSectionA(
- IN LPCSTR lpAppName,
- IN LPCSTR lpString
- );
- WINBASEAPI
- BOOL
- WINAPI
- WriteProfileSectionW(
- IN LPCWSTR lpAppName,
- IN LPCWSTR lpString
- );
- #ifdef UNICODE
- #define WriteProfileSection WriteProfileSectionW
- #else
- #define WriteProfileSection WriteProfileSectionA
- #endif // !UNICODE
- WINBASEAPI
- UINT
- WINAPI
- GetPrivateProfileIntA(
- IN LPCSTR lpAppName,
- IN LPCSTR lpKeyName,
- IN INT nDefault,
- IN LPCSTR lpFileName
- );
- WINBASEAPI
- UINT
- WINAPI
- GetPrivateProfileIntW(
- IN LPCWSTR lpAppName,
- IN LPCWSTR lpKeyName,
- IN INT nDefault,
- IN LPCWSTR lpFileName
- );
- #ifdef UNICODE
- #define GetPrivateProfileInt GetPrivateProfileIntW
- #else
- #define GetPrivateProfileInt GetPrivateProfileIntA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- GetPrivateProfileStringA(
- IN LPCSTR lpAppName,
- IN LPCSTR lpKeyName,
- IN LPCSTR lpDefault,
- OUT LPSTR lpReturnedString,
- IN DWORD nSize,
- IN LPCSTR lpFileName
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetPrivateProfileStringW(
- IN LPCWSTR lpAppName,
- IN LPCWSTR lpKeyName,
- IN LPCWSTR lpDefault,
- OUT LPWSTR lpReturnedString,
- IN DWORD nSize,
- IN LPCWSTR lpFileName
- );
- #ifdef UNICODE
- #define GetPrivateProfileString GetPrivateProfileStringW
- #else
- #define GetPrivateProfileString GetPrivateProfileStringA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- WritePrivateProfileStringA(
- IN LPCSTR lpAppName,
- IN LPCSTR lpKeyName,
- IN LPCSTR lpString,
- IN LPCSTR lpFileName
- );
- WINBASEAPI
- BOOL
- WINAPI
- WritePrivateProfileStringW(
- IN LPCWSTR lpAppName,
- IN LPCWSTR lpKeyName,
- IN LPCWSTR lpString,
- IN LPCWSTR lpFileName
- );
- #ifdef UNICODE
- #define WritePrivateProfileString WritePrivateProfileStringW
- #else
- #define WritePrivateProfileString WritePrivateProfileStringA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- GetPrivateProfileSectionA(
- IN LPCSTR lpAppName,
- OUT LPSTR lpReturnedString,
- IN DWORD nSize,
- IN LPCSTR lpFileName
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetPrivateProfileSectionW(
- IN LPCWSTR lpAppName,
- OUT LPWSTR lpReturnedString,
- IN DWORD nSize,
- IN LPCWSTR lpFileName
- );
- #ifdef UNICODE
- #define GetPrivateProfileSection GetPrivateProfileSectionW
- #else
- #define GetPrivateProfileSection GetPrivateProfileSectionA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- WritePrivateProfileSectionA(
- IN LPCSTR lpAppName,
- IN LPCSTR lpString,
- IN LPCSTR lpFileName
- );
- WINBASEAPI
- BOOL
- WINAPI
- WritePrivateProfileSectionW(
- IN LPCWSTR lpAppName,
- IN LPCWSTR lpString,
- IN LPCWSTR lpFileName
- );
- #ifdef UNICODE
- #define WritePrivateProfileSection WritePrivateProfileSectionW
- #else
- #define WritePrivateProfileSection WritePrivateProfileSectionA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- GetPrivateProfileSectionNamesA(
- OUT LPSTR lpszReturnBuffer,
- IN DWORD nSize,
- IN LPCSTR lpFileName
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetPrivateProfileSectionNamesW(
- OUT LPWSTR lpszReturnBuffer,
- IN DWORD nSize,
- IN LPCWSTR lpFileName
- );
- #ifdef UNICODE
- #define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesW
- #else
- #define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- GetPrivateProfileStructA(
- IN LPCSTR lpszSection,
- IN LPCSTR lpszKey,
- OUT LPVOID lpStruct,
- IN UINT uSizeStruct,
- IN LPCSTR szFile
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetPrivateProfileStructW(
- IN LPCWSTR lpszSection,
- IN LPCWSTR lpszKey,
- OUT LPVOID lpStruct,
- IN UINT uSizeStruct,
- IN LPCWSTR szFile
- );
- #ifdef UNICODE
- #define GetPrivateProfileStruct GetPrivateProfileStructW
- #else
- #define GetPrivateProfileStruct GetPrivateProfileStructA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- WritePrivateProfileStructA(
- IN LPCSTR lpszSection,
- IN LPCSTR lpszKey,
- IN LPVOID lpStruct,
- IN UINT uSizeStruct,
- IN LPCSTR szFile
- );
- WINBASEAPI
- BOOL
- WINAPI
- WritePrivateProfileStructW(
- IN LPCWSTR lpszSection,
- IN LPCWSTR lpszKey,
- IN LPVOID lpStruct,
- IN UINT uSizeStruct,
- IN LPCWSTR szFile
- );
- #ifdef UNICODE
- #define WritePrivateProfileStruct WritePrivateProfileStructW
- #else
- #define WritePrivateProfileStruct WritePrivateProfileStructA
- #endif // !UNICODE
- WINBASEAPI
- UINT
- WINAPI
- GetDriveTypeA(
- IN LPCSTR lpRootPathName
- );
- WINBASEAPI
- UINT
- WINAPI
- GetDriveTypeW(
- IN LPCWSTR lpRootPathName
- );
- #ifdef UNICODE
- #define GetDriveType GetDriveTypeW
- #else
- #define GetDriveType GetDriveTypeA
- #endif // !UNICODE
- WINBASEAPI
- UINT
- WINAPI
- GetSystemDirectoryA(
- OUT LPSTR lpBuffer,
- IN UINT uSize
- );
- WINBASEAPI
- UINT
- WINAPI
- GetSystemDirectoryW(
- OUT LPWSTR lpBuffer,
- IN UINT uSize
- );
- #ifdef UNICODE
- #define GetSystemDirectory GetSystemDirectoryW
- #else
- #define GetSystemDirectory GetSystemDirectoryA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- GetTempPathA(
- IN DWORD nBufferLength,
- OUT LPSTR lpBuffer
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetTempPathW(
- IN DWORD nBufferLength,
- OUT LPWSTR lpBuffer
- );
- #ifdef UNICODE
- #define GetTempPath GetTempPathW
- #else
- #define GetTempPath GetTempPathA
- #endif // !UNICODE
- WINBASEAPI
- UINT
- WINAPI
- GetTempFileNameA(
- IN LPCSTR lpPathName,
- IN LPCSTR lpPrefixString,
- IN UINT uUnique,
- OUT LPSTR lpTempFileName
- );
- WINBASEAPI
- UINT
- WINAPI
- GetTempFileNameW(
- IN LPCWSTR lpPathName,
- IN LPCWSTR lpPrefixString,
- IN UINT uUnique,
- OUT LPWSTR lpTempFileName
- );
- #ifdef UNICODE
- #define GetTempFileName GetTempFileNameW
- #else
- #define GetTempFileName GetTempFileNameA
- #endif // !UNICODE
- WINBASEAPI
- UINT
- WINAPI
- GetWindowsDirectoryA(
- OUT LPSTR lpBuffer,
- IN UINT uSize
- );
- WINBASEAPI
- UINT
- WINAPI
- GetWindowsDirectoryW(
- OUT LPWSTR lpBuffer,
- IN UINT uSize
- );
- #ifdef UNICODE
- #define GetWindowsDirectory GetWindowsDirectoryW
- #else
- #define GetWindowsDirectory GetWindowsDirectoryA
- #endif // !UNICODE
- WINBASEAPI
- UINT
- WINAPI
- GetSystemWindowsDirectoryA(
- OUT LPSTR lpBuffer,
- IN UINT uSize
- );
- WINBASEAPI
- UINT
- WINAPI
- GetSystemWindowsDirectoryW(
- OUT LPWSTR lpBuffer,
- IN UINT uSize
- );
- #ifdef UNICODE
- #define GetSystemWindowsDirectory GetSystemWindowsDirectoryW
- #else
- #define GetSystemWindowsDirectory GetSystemWindowsDirectoryA
- #endif // !UNICODE
- #if !defined(RC_INVOKED) // RC warns because "WINBASE_DECLARE_GET_SYSTEM_WOW64_DIRECTORY" is a bit long.
- #if _WIN32_WINNT >= 0x0501 || defined(WINBASE_DECLARE_GET_SYSTEM_WOW64_DIRECTORY)
- WINBASEAPI
- UINT
- WINAPI
- GetSystemWow64DirectoryA(
- OUT LPSTR lpBuffer,
- IN UINT uSize
- );
- WINBASEAPI
- UINT
- WINAPI
- GetSystemWow64DirectoryW(
- OUT LPWSTR lpBuffer,
- IN UINT uSize
- );
- #ifdef UNICODE
- #define GetSystemWow64Directory GetSystemWow64DirectoryW
- #else
- #define GetSystemWow64Directory GetSystemWow64DirectoryA
- #endif // !UNICODE
- //
- // for GetProcAddress
- //
- typedef UINT (WINAPI* PGET_SYSTEM_WOW64_DIRECTORY_A)(OUT LPSTR lpBuffer, UINT uSize);
- typedef UINT (WINAPI* PGET_SYSTEM_WOW64_DIRECTORY_W)(OUT LPWSTR lpBuffer, UINT uSize);
- //
- // GetProcAddress only accepts GET_SYSTEM_WOW64_DIRECTORY_NAME_A_A,
- // GET_SYSTEM_WOW64_DIRECTORY_NAME_W_A, GET_SYSTEM_WOW64_DIRECTORY_NAME_T_A.
- // The others are if you want to use the strings in some other way.
- //
- #define GET_SYSTEM_WOW64_DIRECTORY_NAME_A_A "GetSystemWow64DirectoryA"
- #define GET_SYSTEM_WOW64_DIRECTORY_NAME_A_W L"GetSystemWow64DirectoryA"
- #define GET_SYSTEM_WOW64_DIRECTORY_NAME_A_T TEXT("GetSystemWow64DirectoryA")
- #define GET_SYSTEM_WOW64_DIRECTORY_NAME_W_A "GetSystemWow64DirectoryW"
- #define GET_SYSTEM_WOW64_DIRECTORY_NAME_W_W L"GetSystemWow64DirectoryW"
- #define GET_SYSTEM_WOW64_DIRECTORY_NAME_W_T TEXT("GetSystemWow64DirectoryW")
- #ifdef UNICODE
- #define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_A GET_SYSTEM_WOW64_DIRECTORY_NAME_W_A
- #define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_W GET_SYSTEM_WOW64_DIRECTORY_NAME_W_W
- #define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_T GET_SYSTEM_WOW64_DIRECTORY_NAME_W_T
- #else
- #define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_A GET_SYSTEM_WOW64_DIRECTORY_NAME_A_A
- #define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_W GET_SYSTEM_WOW64_DIRECTORY_NAME_A_W
- #define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_T GET_SYSTEM_WOW64_DIRECTORY_NAME_A_T
- #endif
- #endif // _WIN32_WINNT >= 0x0501
- #endif
- WINBASEAPI
- BOOL
- WINAPI
- SetCurrentDirectoryA(
- IN LPCSTR lpPathName
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetCurrentDirectoryW(
- IN LPCWSTR lpPathName
- );
- #ifdef UNICODE
- #define SetCurrentDirectory SetCurrentDirectoryW
- #else
- #define SetCurrentDirectory SetCurrentDirectoryA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- GetCurrentDirectoryA(
- IN DWORD nBufferLength,
- OUT LPSTR lpBuffer
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetCurrentDirectoryW(
- IN DWORD nBufferLength,
- OUT LPWSTR lpBuffer
- );
- #ifdef UNICODE
- #define GetCurrentDirectory GetCurrentDirectoryW
- #else
- #define GetCurrentDirectory GetCurrentDirectoryA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- GetDiskFreeSpaceA(
- IN LPCSTR lpRootPathName,
- OUT LPDWORD lpSectorsPerCluster,
- OUT LPDWORD lpBytesPerSector,
- OUT LPDWORD lpNumberOfFreeClusters,
- OUT LPDWORD lpTotalNumberOfClusters
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetDiskFreeSpaceW(
- IN LPCWSTR lpRootPathName,
- OUT LPDWORD lpSectorsPerCluster,
- OUT LPDWORD lpBytesPerSector,
- OUT LPDWORD lpNumberOfFreeClusters,
- OUT LPDWORD lpTotalNumberOfClusters
- );
- #ifdef UNICODE
- #define GetDiskFreeSpace GetDiskFreeSpaceW
- #else
- #define GetDiskFreeSpace GetDiskFreeSpaceA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- GetDiskFreeSpaceExA(
- IN LPCSTR lpDirectoryName,
- OUT PULARGE_INTEGER lpFreeBytesAvailableToCaller,
- OUT PULARGE_INTEGER lpTotalNumberOfBytes,
- OUT PULARGE_INTEGER lpTotalNumberOfFreeBytes
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetDiskFreeSpaceExW(
- IN LPCWSTR lpDirectoryName,
- OUT PULARGE_INTEGER lpFreeBytesAvailableToCaller,
- OUT PULARGE_INTEGER lpTotalNumberOfBytes,
- OUT PULARGE_INTEGER lpTotalNumberOfFreeBytes
- );
- #ifdef UNICODE
- #define GetDiskFreeSpaceEx GetDiskFreeSpaceExW
- #else
- #define GetDiskFreeSpaceEx GetDiskFreeSpaceExA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- CreateDirectoryA(
- IN LPCSTR lpPathName,
- IN LPSECURITY_ATTRIBUTES lpSecurityAttributes
- );
- WINBASEAPI
- BOOL
- WINAPI
- CreateDirectoryW(
- IN LPCWSTR lpPathName,
- IN LPSECURITY_ATTRIBUTES lpSecurityAttributes
- );
- #ifdef UNICODE
- #define CreateDirectory CreateDirectoryW
- #else
- #define CreateDirectory CreateDirectoryA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- CreateDirectoryExA(
- IN LPCSTR lpTemplateDirectory,
- IN LPCSTR lpNewDirectory,
- IN LPSECURITY_ATTRIBUTES lpSecurityAttributes
- );
- WINBASEAPI
- BOOL
- WINAPI
- CreateDirectoryExW(
- IN LPCWSTR lpTemplateDirectory,
- IN LPCWSTR lpNewDirectory,
- IN LPSECURITY_ATTRIBUTES lpSecurityAttributes
- );
- #ifdef UNICODE
- #define CreateDirectoryEx CreateDirectoryExW
- #else
- #define CreateDirectoryEx CreateDirectoryExA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- RemoveDirectoryA(
- IN LPCSTR lpPathName
- );
- WINBASEAPI
- BOOL
- WINAPI
- RemoveDirectoryW(
- IN LPCWSTR lpPathName
- );
- #ifdef UNICODE
- #define RemoveDirectory RemoveDirectoryW
- #else
- #define RemoveDirectory RemoveDirectoryA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- GetFullPathNameA(
- IN LPCSTR lpFileName,
- IN DWORD nBufferLength,
- OUT LPSTR lpBuffer,
- OUT LPSTR *lpFilePart
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetFullPathNameW(
- IN LPCWSTR lpFileName,
- IN DWORD nBufferLength,
- OUT LPWSTR lpBuffer,
- OUT LPWSTR *lpFilePart
- );
- #ifdef UNICODE
- #define GetFullPathName GetFullPathNameW
- #else
- #define GetFullPathName GetFullPathNameA
- #endif // !UNICODE
- #define DDD_RAW_TARGET_PATH 0x00000001
- #define DDD_REMOVE_DEFINITION 0x00000002
- #define DDD_EXACT_MATCH_ON_REMOVE 0x00000004
- #define DDD_NO_BROADCAST_SYSTEM 0x00000008
- #define DDD_LUID_BROADCAST_DRIVE 0x00000010
- WINBASEAPI
- BOOL
- WINAPI
- DefineDosDeviceA(
- IN DWORD dwFlags,
- IN LPCSTR lpDeviceName,
- IN LPCSTR lpTargetPath
- );
- WINBASEAPI
- BOOL
- WINAPI
- DefineDosDeviceW(
- IN DWORD dwFlags,
- IN LPCWSTR lpDeviceName,
- IN LPCWSTR lpTargetPath
- );
- #ifdef UNICODE
- #define DefineDosDevice DefineDosDeviceW
- #else
- #define DefineDosDevice DefineDosDeviceA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- QueryDosDeviceA(
- IN LPCSTR lpDeviceName,
- OUT LPSTR lpTargetPath,
- IN DWORD ucchMax
- );
- WINBASEAPI
- DWORD
- WINAPI
- QueryDosDeviceW(
- IN LPCWSTR lpDeviceName,
- OUT LPWSTR lpTargetPath,
- IN DWORD ucchMax
- );
- #ifdef UNICODE
- #define QueryDosDevice QueryDosDeviceW
- #else
- #define QueryDosDevice QueryDosDeviceA
- #endif // !UNICODE
- #define EXPAND_LOCAL_DRIVES
- WINBASEAPI
- HANDLE
- WINAPI
- CreateFileA(
- IN LPCSTR lpFileName,
- IN DWORD dwDesiredAccess,
- IN DWORD dwShareMode,
- IN LPSECURITY_ATTRIBUTES lpSecurityAttributes,
- IN DWORD dwCreationDisposition,
- IN DWORD dwFlagsAndAttributes,
- IN HANDLE hTemplateFile
- );
- WINBASEAPI
- HANDLE
- WINAPI
- CreateFileW(
- IN LPCWSTR lpFileName,
- IN DWORD dwDesiredAccess,
- IN DWORD dwShareMode,
- IN LPSECURITY_ATTRIBUTES lpSecurityAttributes,
- IN DWORD dwCreationDisposition,
- IN DWORD dwFlagsAndAttributes,
- IN HANDLE hTemplateFile
- );
- #ifdef UNICODE
- #define CreateFile CreateFileW
- #else
- #define CreateFile CreateFileA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- SetFileAttributesA(
- IN LPCSTR lpFileName,
- IN DWORD dwFileAttributes
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetFileAttributesW(
- IN LPCWSTR lpFileName,
- IN DWORD dwFileAttributes
- );
- #ifdef UNICODE
- #define SetFileAttributes SetFileAttributesW
- #else
- #define SetFileAttributes SetFileAttributesA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- GetFileAttributesA(
- IN LPCSTR lpFileName
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetFileAttributesW(
- IN LPCWSTR lpFileName
- );
- #ifdef UNICODE
- #define GetFileAttributes GetFileAttributesW
- #else
- #define GetFileAttributes GetFileAttributesA
- #endif // !UNICODE
- typedef enum _GET_FILEEX_INFO_LEVELS {
- GetFileExInfoStandard,
- GetFileExMaxInfoLevel
- } GET_FILEEX_INFO_LEVELS;
- WINBASEAPI
- BOOL
- WINAPI
- GetFileAttributesExA(
- IN LPCSTR lpFileName,
- IN GET_FILEEX_INFO_LEVELS fInfoLevelId,
- OUT LPVOID lpFileInformation
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetFileAttributesExW(
- IN LPCWSTR lpFileName,
- IN GET_FILEEX_INFO_LEVELS fInfoLevelId,
- OUT LPVOID lpFileInformation
- );
- #ifdef UNICODE
- #define GetFileAttributesEx GetFileAttributesExW
- #else
- #define GetFileAttributesEx GetFileAttributesExA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- GetCompressedFileSizeA(
- IN LPCSTR lpFileName,
- OUT LPDWORD lpFileSizeHigh
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetCompressedFileSizeW(
- IN LPCWSTR lpFileName,
- OUT LPDWORD lpFileSizeHigh
- );
- #ifdef UNICODE
- #define GetCompressedFileSize GetCompressedFileSizeW
- #else
- #define GetCompressedFileSize GetCompressedFileSizeA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- DeleteFileA(
- IN LPCSTR lpFileName
- );
- WINBASEAPI
- BOOL
- WINAPI
- DeleteFileW(
- IN LPCWSTR lpFileName
- );
- #ifdef UNICODE
- #define DeleteFile DeleteFileW
- #else
- #define DeleteFile DeleteFileA
- #endif // !UNICODE
- #if _WIN32_WINNT >= 0x0501
- WINBASEAPI
- BOOL
- WINAPI
- CheckNameLegalDOS8Dot3A(
- IN LPCSTR lpName,
- OUT LPSTR lpOemName OPTIONAL,
- IN DWORD OemNameSize OPTIONAL,
- OUT PBOOL pbNameContainsSpaces OPTIONAL,
- OUT PBOOL pbNameLegal
- );
- WINBASEAPI
- BOOL
- WINAPI
- CheckNameLegalDOS8Dot3W(
- IN LPCWSTR lpName,
- OUT LPSTR lpOemName OPTIONAL,
- IN DWORD OemNameSize OPTIONAL,
- OUT PBOOL pbNameContainsSpaces OPTIONAL,
- OUT PBOOL pbNameLegal
- );
- #ifdef UNICODE
- #define CheckNameLegalDOS8Dot3 CheckNameLegalDOS8Dot3W
- #else
- #define CheckNameLegalDOS8Dot3 CheckNameLegalDOS8Dot3A
- #endif // !UNICODE
- #endif // (_WIN32_WINNT >= 0x0501)
- #if(_WIN32_WINNT >= 0x0400)
- typedef enum _FINDEX_INFO_LEVELS {
- FindExInfoStandard,
- FindExInfoMaxInfoLevel
- } FINDEX_INFO_LEVELS;
- typedef enum _FINDEX_SEARCH_OPS {
- FindExSearchNameMatch,
- FindExSearchLimitToDirectories,
- FindExSearchLimitToDevices,
- FindExSearchMaxSearchOp
- } FINDEX_SEARCH_OPS;
- #define FIND_FIRST_EX_CASE_SENSITIVE 0x00000001
- WINBASEAPI
- HANDLE
- WINAPI
- FindFirstFileExA(
- IN LPCSTR lpFileName,
- IN FINDEX_INFO_LEVELS fInfoLevelId,
- OUT LPVOID lpFindFileData,
- IN FINDEX_SEARCH_OPS fSearchOp,
- IN LPVOID lpSearchFilter,
- IN DWORD dwAdditionalFlags
- );
- WINBASEAPI
- HANDLE
- WINAPI
- FindFirstFileExW(
- IN LPCWSTR lpFileName,
- IN FINDEX_INFO_LEVELS fInfoLevelId,
- OUT LPVOID lpFindFileData,
- IN FINDEX_SEARCH_OPS fSearchOp,
- IN LPVOID lpSearchFilter,
- IN DWORD dwAdditionalFlags
- );
- #ifdef UNICODE
- #define FindFirstFileEx FindFirstFileExW
- #else
- #define FindFirstFileEx FindFirstFileExA
- #endif // !UNICODE
- #endif /* _WIN32_WINNT >= 0x0400 */
- WINBASEAPI
- HANDLE
- WINAPI
- FindFirstFileA(
- IN LPCSTR lpFileName,
- OUT LPWIN32_FIND_DATAA lpFindFileData
- );
- WINBASEAPI
- HANDLE
- WINAPI
- FindFirstFileW(
- IN LPCWSTR lpFileName,
- OUT LPWIN32_FIND_DATAW lpFindFileData
- );
- #ifdef UNICODE
- #define FindFirstFile FindFirstFileW
- #else
- #define FindFirstFile FindFirstFileA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- FindNextFileA(
- IN HANDLE hFindFile,
- OUT LPWIN32_FIND_DATAA lpFindFileData
- );
- WINBASEAPI
- BOOL
- WINAPI
- FindNextFileW(
- IN HANDLE hFindFile,
- OUT LPWIN32_FIND_DATAW lpFindFileData
- );
- #ifdef UNICODE
- #define FindNextFile FindNextFileW
- #else
- #define FindNextFile FindNextFileA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- SearchPathA(
- IN LPCSTR lpPath,
- IN LPCSTR lpFileName,
- IN LPCSTR lpExtension,
- IN DWORD nBufferLength,
- OUT LPSTR lpBuffer,
- OUT LPSTR *lpFilePart
- );
- WINBASEAPI
- DWORD
- WINAPI
- SearchPathW(
- IN LPCWSTR lpPath,
- IN LPCWSTR lpFileName,
- IN LPCWSTR lpExtension,
- IN DWORD nBufferLength,
- OUT LPWSTR lpBuffer,
- OUT LPWSTR *lpFilePart
- );
- #ifdef UNICODE
- #define SearchPath SearchPathW
- #else
- #define SearchPath SearchPathA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- CopyFileA(
- IN LPCSTR lpExistingFileName,
- IN LPCSTR lpNewFileName,
- IN BOOL bFailIfExists
- );
- WINBASEAPI
- BOOL
- WINAPI
- CopyFileW(
- IN LPCWSTR lpExistingFileName,
- IN LPCWSTR lpNewFileName,
- IN BOOL bFailIfExists
- );
- #ifdef UNICODE
- #define CopyFile CopyFileW
- #else
- #define CopyFile CopyFileA
- #endif // !UNICODE
- #if(_WIN32_WINNT >= 0x0400)
- typedef
- DWORD
- (WINAPI *LPPROGRESS_ROUTINE)(
- LARGE_INTEGER TotalFileSize,
- LARGE_INTEGER TotalBytesTransferred,
- LARGE_INTEGER StreamSize,
- LARGE_INTEGER StreamBytesTransferred,
- DWORD dwStreamNumber,
- DWORD dwCallbackReason,
- HANDLE hSourceFile,
- HANDLE hDestinationFile,
- LPVOID lpData OPTIONAL
- );
- WINBASEAPI
- BOOL
- WINAPI
- CopyFileExA(
- IN LPCSTR lpExistingFileName,
- IN LPCSTR lpNewFileName,
- IN LPPROGRESS_ROUTINE lpProgressRoutine OPTIONAL,
- IN LPVOID lpData OPTIONAL,
- IN LPBOOL pbCancel OPTIONAL,
- IN DWORD dwCopyFlags
- );
- WINBASEAPI
- BOOL
- WINAPI
- CopyFileExW(
- IN LPCWSTR lpExistingFileName,
- IN LPCWSTR lpNewFileName,
- IN LPPROGRESS_ROUTINE lpProgressRoutine OPTIONAL,
- IN LPVOID lpData OPTIONAL,
- IN LPBOOL pbCancel OPTIONAL,
- IN DWORD dwCopyFlags
- );
- #ifdef UNICODE
- #define CopyFileEx CopyFileExW
- #else
- #define CopyFileEx CopyFileExA
- #endif // !UNICODE
- #endif /* _WIN32_WINNT >= 0x0400 */
- WINBASEAPI
- BOOL
- WINAPI
- MoveFileA(
- IN LPCSTR lpExistingFileName,
- IN LPCSTR lpNewFileName
- );
- WINBASEAPI
- BOOL
- WINAPI
- MoveFileW(
- IN LPCWSTR lpExistingFileName,
- IN LPCWSTR lpNewFileName
- );
- #ifdef UNICODE
- #define MoveFile MoveFileW
- #else
- #define MoveFile MoveFileA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- MoveFileExA(
- IN LPCSTR lpExistingFileName,
- IN LPCSTR lpNewFileName,
- IN DWORD dwFlags
- );
- WINBASEAPI
- BOOL
- WINAPI
- MoveFileExW(
- IN LPCWSTR lpExistingFileName,
- IN LPCWSTR lpNewFileName,
- IN DWORD dwFlags
- );
- #ifdef UNICODE
- #define MoveFileEx MoveFileExW
- #else
- #define MoveFileEx MoveFileExA
- #endif // !UNICODE
- #if (_WIN32_WINNT >= 0x0500)
- WINBASEAPI
- BOOL
- WINAPI
- MoveFileWithProgressA(
- IN LPCSTR lpExistingFileName,
- IN LPCSTR lpNewFileName,
- IN LPPROGRESS_ROUTINE lpProgressRoutine OPTIONAL,
- IN LPVOID lpData OPTIONAL,
- IN DWORD dwFlags
- );
- WINBASEAPI
- BOOL
- WINAPI
- MoveFileWithProgressW(
- IN LPCWSTR lpExistingFileName,
- IN LPCWSTR lpNewFileName,
- IN LPPROGRESS_ROUTINE lpProgressRoutine OPTIONAL,
- IN LPVOID lpData OPTIONAL,
- IN DWORD dwFlags
- );
- #ifdef UNICODE
- #define MoveFileWithProgress MoveFileWithProgressW
- #else
- #define MoveFileWithProgress MoveFileWithProgressA
- #endif // !UNICODE
- #endif // (_WIN32_WINNT >= 0x0500)
- #define MOVEFILE_REPLACE_EXISTING 0x00000001
- #define MOVEFILE_COPY_ALLOWED 0x00000002
- #define MOVEFILE_DELAY_UNTIL_REBOOT 0x00000004
- #define MOVEFILE_WRITE_THROUGH 0x00000008
- #if (_WIN32_WINNT >= 0x0500)
- #define MOVEFILE_CREATE_HARDLINK 0x00000010
- #define MOVEFILE_FAIL_IF_NOT_TRACKABLE 0x00000020
- #endif // (_WIN32_WINNT >= 0x0500)
- #if (_WIN32_WINNT >= 0x0500)
- WINBASEAPI
- BOOL
- WINAPI
- ReplaceFileA(
- LPCSTR lpReplacedFileName,
- LPCSTR lpReplacementFileName,
- LPCSTR lpBackupFileName,
- DWORD dwReplaceFlags,
- LPVOID lpExclude,
- LPVOID lpReserved
- );
- WINBASEAPI
- BOOL
- WINAPI
- ReplaceFileW(
- LPCWSTR lpReplacedFileName,
- LPCWSTR lpReplacementFileName,
- LPCWSTR lpBackupFileName,
- DWORD dwReplaceFlags,
- LPVOID lpExclude,
- LPVOID lpReserved
- );
- #ifdef UNICODE
- #define ReplaceFile ReplaceFileW
- #else
- #define ReplaceFile ReplaceFileA
- #endif // !UNICODE
- #endif // (_WIN32_WINNT >= 0x0500)
- #if (_WIN32_WINNT >= 0x0500)
- //
- // API call to create hard links.
- //
- WINBASEAPI
- BOOL
- WINAPI
- CreateHardLinkA(
- IN LPCSTR lpFileName,
- IN LPCSTR lpExistingFileName,
- IN LPSECURITY_ATTRIBUTES lpSecurityAttributes
- );
- WINBASEAPI
- BOOL
- WINAPI
- CreateHardLinkW(
- IN LPCWSTR lpFileName,
- IN LPCWSTR lpExistingFileName,
- IN LPSECURITY_ATTRIBUTES lpSecurityAttributes
- );
- #ifdef UNICODE
- #define CreateHardLink CreateHardLinkW
- #else
- #define CreateHardLink CreateHardLinkA
- #endif // !UNICODE
- #endif // (_WIN32_WINNT >= 0x0500)
- WINBASEAPI
- HANDLE
- WINAPI
- CreateNamedPipeA(
- IN LPCSTR lpName,
- IN DWORD dwOpenMode,
- IN DWORD dwPipeMode,
- IN DWORD nMaxInstances,
- IN DWORD nOutBufferSize,
- IN DWORD nInBufferSize,
- IN DWORD nDefaultTimeOut,
- IN LPSECURITY_ATTRIBUTES lpSecurityAttributes
- );
- WINBASEAPI
- HANDLE
- WINAPI
- CreateNamedPipeW(
- IN LPCWSTR lpName,
- IN DWORD dwOpenMode,
- IN DWORD dwPipeMode,
- IN DWORD nMaxInstances,
- IN DWORD nOutBufferSize,
- IN DWORD nInBufferSize,
- IN DWORD nDefaultTimeOut,
- IN LPSECURITY_ATTRIBUTES lpSecurityAttributes
- );
- #ifdef UNICODE
- #define CreateNamedPipe CreateNamedPipeW
- #else
- #define CreateNamedPipe CreateNamedPipeA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- GetNamedPipeHandleStateA(
- IN HANDLE hNamedPipe,
- OUT LPDWORD lpState,
- OUT LPDWORD lpCurInstances,
- OUT LPDWORD lpMaxCollectionCount,
- OUT LPDWORD lpCollectDataTimeout,
- OUT LPSTR lpUserName,
- IN DWORD nMaxUserNameSize
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetNamedPipeHandleStateW(
- IN HANDLE hNamedPipe,
- OUT LPDWORD lpState,
- OUT LPDWORD lpCurInstances,
- OUT LPDWORD lpMaxCollectionCount,
- OUT LPDWORD lpCollectDataTimeout,
- OUT LPWSTR lpUserName,
- IN DWORD nMaxUserNameSize
- );
- #ifdef UNICODE
- #define GetNamedPipeHandleState GetNamedPipeHandleStateW
- #else
- #define GetNamedPipeHandleState GetNamedPipeHandleStateA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- CallNamedPipeA(
- IN LPCSTR lpNamedPipeName,
- IN LPVOID lpInBuffer,
- IN DWORD nInBufferSize,
- OUT LPVOID lpOutBuffer,
- IN DWORD nOutBufferSize,
- OUT LPDWORD lpBytesRead,
- IN DWORD nTimeOut
- );
- WINBASEAPI
- BOOL
- WINAPI
- CallNamedPipeW(
- IN LPCWSTR lpNamedPipeName,
- IN LPVOID lpInBuffer,
- IN DWORD nInBufferSize,
- OUT LPVOID lpOutBuffer,
- IN DWORD nOutBufferSize,
- OUT LPDWORD lpBytesRead,
- IN DWORD nTimeOut
- );
- #ifdef UNICODE
- #define CallNamedPipe CallNamedPipeW
- #else
- #define CallNamedPipe CallNamedPipeA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- WaitNamedPipeA(
- IN LPCSTR lpNamedPipeName,
- IN DWORD nTimeOut
- );
- WINBASEAPI
- BOOL
- WINAPI
- WaitNamedPipeW(
- IN LPCWSTR lpNamedPipeName,
- IN DWORD nTimeOut
- );
- #ifdef UNICODE
- #define WaitNamedPipe WaitNamedPipeW
- #else
- #define WaitNamedPipe WaitNamedPipeA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- SetVolumeLabelA(
- IN LPCSTR lpRootPathName,
- IN LPCSTR lpVolumeName
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetVolumeLabelW(
- IN LPCWSTR lpRootPathName,
- IN LPCWSTR lpVolumeName
- );
- #ifdef UNICODE
- #define SetVolumeLabel SetVolumeLabelW
- #else
- #define SetVolumeLabel SetVolumeLabelA
- #endif // !UNICODE
- WINBASEAPI
- VOID
- WINAPI
- SetFileApisToOEM( VOID );
- WINBASEAPI
- VOID
- WINAPI
- SetFileApisToANSI( VOID );
- WINBASEAPI
- BOOL
- WINAPI
- AreFileApisANSI( VOID );
- WINBASEAPI
- BOOL
- WINAPI
- GetVolumeInformationA(
- IN LPCSTR lpRootPathName,
- OUT LPSTR lpVolumeNameBuffer,
- IN DWORD nVolumeNameSize,
- OUT LPDWORD lpVolumeSerialNumber,
- OUT LPDWORD lpMaximumComponentLength,
- OUT LPDWORD lpFileSystemFlags,
- OUT LPSTR lpFileSystemNameBuffer,
- IN DWORD nFileSystemNameSize
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetVolumeInformationW(
- IN LPCWSTR lpRootPathName,
- OUT LPWSTR lpVolumeNameBuffer,
- IN DWORD nVolumeNameSize,
- OUT LPDWORD lpVolumeSerialNumber,
- OUT LPDWORD lpMaximumComponentLength,
- OUT LPDWORD lpFileSystemFlags,
- OUT LPWSTR lpFileSystemNameBuffer,
- IN DWORD nFileSystemNameSize
- );
- #ifdef UNICODE
- #define GetVolumeInformation GetVolumeInformationW
- #else
- #define GetVolumeInformation GetVolumeInformationA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- CancelIo(
- IN HANDLE hFile
- );
- //
- // Event logging APIs
- //
- WINADVAPI
- BOOL
- WINAPI
- ClearEventLogA (
- IN HANDLE hEventLog,
- IN LPCSTR lpBackupFileName
- );
- WINADVAPI
- BOOL
- WINAPI
- ClearEventLogW (
- IN HANDLE hEventLog,
- IN LPCWSTR lpBackupFileName
- );
- #ifdef UNICODE
- #define ClearEventLog ClearEventLogW
- #else
- #define ClearEventLog ClearEventLogA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- BackupEventLogA (
- IN HANDLE hEventLog,
- IN LPCSTR lpBackupFileName
- );
- WINADVAPI
- BOOL
- WINAPI
- BackupEventLogW (
- IN HANDLE hEventLog,
- IN LPCWSTR lpBackupFileName
- );
- #ifdef UNICODE
- #define BackupEventLog BackupEventLogW
- #else
- #define BackupEventLog BackupEventLogA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- CloseEventLog (
- IN OUT HANDLE hEventLog
- );
- WINADVAPI
- BOOL
- WINAPI
- DeregisterEventSource (
- IN OUT HANDLE hEventLog
- );
- WINADVAPI
- BOOL
- WINAPI
- NotifyChangeEventLog(
- IN HANDLE hEventLog,
- IN HANDLE hEvent
- );
- WINADVAPI
- BOOL
- WINAPI
- GetNumberOfEventLogRecords (
- IN HANDLE hEventLog,
- OUT PDWORD NumberOfRecords
- );
- WINADVAPI
- BOOL
- WINAPI
- GetOldestEventLogRecord (
- IN HANDLE hEventLog,
- OUT PDWORD OldestRecord
- );
- WINADVAPI
- HANDLE
- WINAPI
- OpenEventLogA (
- IN LPCSTR lpUNCServerName,
- IN LPCSTR lpSourceName
- );
- WINADVAPI
- HANDLE
- WINAPI
- OpenEventLogW (
- IN LPCWSTR lpUNCServerName,
- IN LPCWSTR lpSourceName
- );
- #ifdef UNICODE
- #define OpenEventLog OpenEventLogW
- #else
- #define OpenEventLog OpenEventLogA
- #endif // !UNICODE
- WINADVAPI
- HANDLE
- WINAPI
- RegisterEventSourceA (
- IN LPCSTR lpUNCServerName,
- IN LPCSTR lpSourceName
- );
- WINADVAPI
- HANDLE
- WINAPI
- RegisterEventSourceW (
- IN LPCWSTR lpUNCServerName,
- IN LPCWSTR lpSourceName
- );
- #ifdef UNICODE
- #define RegisterEventSource RegisterEventSourceW
- #else
- #define RegisterEventSource RegisterEventSourceA
- #endif // !UNICODE
- WINADVAPI
- HANDLE
- WINAPI
- OpenBackupEventLogA (
- IN LPCSTR lpUNCServerName,
- IN LPCSTR lpFileName
- );
- WINADVAPI
- HANDLE
- WINAPI
- OpenBackupEventLogW (
- IN LPCWSTR lpUNCServerName,
- IN LPCWSTR lpFileName
- );
- #ifdef UNICODE
- #define OpenBackupEventLog OpenBackupEventLogW
- #else
- #define OpenBackupEventLog OpenBackupEventLogA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- ReadEventLogA (
- IN HANDLE hEventLog,
- IN DWORD dwReadFlags,
- IN DWORD dwRecordOffset,
- OUT LPVOID lpBuffer,
- IN DWORD nNumberOfBytesToRead,
- OUT DWORD *pnBytesRead,
- OUT DWORD *pnMinNumberOfBytesNeeded
- );
- WINADVAPI
- BOOL
- WINAPI
- ReadEventLogW (
- IN HANDLE hEventLog,
- IN DWORD dwReadFlags,
- IN DWORD dwRecordOffset,
- OUT LPVOID lpBuffer,
- IN DWORD nNumberOfBytesToRead,
- OUT DWORD *pnBytesRead,
- OUT DWORD *pnMinNumberOfBytesNeeded
- );
- #ifdef UNICODE
- #define ReadEventLog ReadEventLogW
- #else
- #define ReadEventLog ReadEventLogA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- ReportEventA (
- IN HANDLE hEventLog,
- IN WORD wType,
- IN WORD wCategory,
- IN DWORD dwEventID,
- IN PSID lpUserSid,
- IN WORD wNumStrings,
- IN DWORD dwDataSize,
- IN LPCSTR *lpStrings,
- IN LPVOID lpRawData
- );
- WINADVAPI
- BOOL
- WINAPI
- ReportEventW (
- IN HANDLE hEventLog,
- IN WORD wType,
- IN WORD wCategory,
- IN DWORD dwEventID,
- IN PSID lpUserSid,
- IN WORD wNumStrings,
- IN DWORD dwDataSize,
- IN LPCWSTR *lpStrings,
- IN LPVOID lpRawData
- );
- #ifdef UNICODE
- #define ReportEvent ReportEventW
- #else
- #define ReportEvent ReportEventA
- #endif // !UNICODE
- #define EVENTLOG_FULL_INFO 0
- typedef struct _EVENTLOG_FULL_INFORMATION
- {
- DWORD dwFull;
- }
- EVENTLOG_FULL_INFORMATION, *LPEVENTLOG_FULL_INFORMATION;
- WINADVAPI
- BOOL
- WINAPI
- GetEventLogInformation (
- IN HANDLE hEventLog,
- IN DWORD dwInfoLevel,
- OUT LPVOID lpBuffer,
- IN DWORD cbBufSize,
- OUT LPDWORD pcbBytesNeeded
- );
- //
- //
- // Security APIs
- //
- WINADVAPI
- BOOL
- WINAPI
- DuplicateToken(
- IN HANDLE ExistingTokenHandle,
- IN SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
- OUT PHANDLE DuplicateTokenHandle
- );
- WINADVAPI
- BOOL
- WINAPI
- GetKernelObjectSecurity (
- IN HANDLE Handle,
- IN SECURITY_INFORMATION RequestedInformation,
- OUT PSECURITY_DESCRIPTOR pSecurityDescriptor,
- IN DWORD nLength,
- OUT LPDWORD lpnLengthNeeded
- );
- WINADVAPI
- BOOL
- WINAPI
- ImpersonateNamedPipeClient(
- IN HANDLE hNamedPipe
- );
- WINADVAPI
- BOOL
- WINAPI
- ImpersonateSelf(
- IN SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
- );
- WINADVAPI
- BOOL
- WINAPI
- RevertToSelf (
- VOID
- );
- WINADVAPI
- BOOL
- APIENTRY
- SetThreadToken (
- IN PHANDLE Thread,
- IN HANDLE Token
- );
- WINADVAPI
- BOOL
- WINAPI
- AccessCheck (
- IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
- IN HANDLE ClientToken,
- IN DWORD DesiredAccess,
- IN PGENERIC_MAPPING GenericMapping,
- OUT PPRIVILEGE_SET PrivilegeSet,
- IN LPDWORD PrivilegeSetLength,
- OUT LPDWORD GrantedAccess,
- OUT LPBOOL AccessStatus
- );
- #if(_WIN32_WINNT >= 0x0500)
- WINADVAPI
- BOOL
- WINAPI
- AccessCheckByType (
- IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
- IN PSID PrincipalSelfSid,
- IN HANDLE ClientToken,
- IN DWORD DesiredAccess,
- OUT POBJECT_TYPE_LIST ObjectTypeList,
- IN DWORD ObjectTypeListLength,
- OUT PGENERIC_MAPPING GenericMapping,
- OUT PPRIVILEGE_SET PrivilegeSet,
- OUT LPDWORD PrivilegeSetLength,
- OUT LPDWORD GrantedAccess,
- OUT LPBOOL AccessStatus
- );
- WINADVAPI
- BOOL
- WINAPI
- AccessCheckByTypeResultList (
- IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
- IN PSID PrincipalSelfSid,
- IN HANDLE ClientToken,
- IN DWORD DesiredAccess,
- OUT POBJECT_TYPE_LIST ObjectTypeList,
- IN DWORD ObjectTypeListLength,
- OUT PGENERIC_MAPPING GenericMapping,
- OUT PPRIVILEGE_SET PrivilegeSet,
- OUT LPDWORD PrivilegeSetLength,
- OUT LPDWORD GrantedAccessList,
- OUT LPDWORD AccessStatusList
- );
- #endif /* _WIN32_WINNT >= 0x0500 */
- WINADVAPI
- BOOL
- WINAPI
- OpenProcessToken (
- IN HANDLE ProcessHandle,
- IN DWORD DesiredAccess,
- OUT PHANDLE TokenHandle
- );
- WINADVAPI
- BOOL
- WINAPI
- OpenThreadToken (
- IN HANDLE ThreadHandle,
- IN DWORD DesiredAccess,
- IN BOOL OpenAsSelf,
- OUT PHANDLE TokenHandle
- );
- WINADVAPI
- BOOL
- WINAPI
- GetTokenInformation (
- IN HANDLE TokenHandle,
- IN TOKEN_INFORMATION_CLASS TokenInformationClass,
- OUT LPVOID TokenInformation,
- IN DWORD TokenInformationLength,
- OUT PDWORD ReturnLength
- );
- WINADVAPI
- BOOL
- WINAPI
- SetTokenInformation (
- IN HANDLE TokenHandle,
- IN TOKEN_INFORMATION_CLASS TokenInformationClass,
- IN LPVOID TokenInformation,
- IN DWORD TokenInformationLength
- );
- WINADVAPI
- BOOL
- WINAPI
- AdjustTokenPrivileges (
- IN HANDLE TokenHandle,
- IN BOOL DisableAllPrivileges,
- IN PTOKEN_PRIVILEGES NewState,
- IN DWORD BufferLength,
- OUT PTOKEN_PRIVILEGES PreviousState,
- OUT PDWORD ReturnLength
- );
- WINADVAPI
- BOOL
- WINAPI
- AdjustTokenGroups (
- IN HANDLE TokenHandle,
- IN BOOL ResetToDefault,
- IN PTOKEN_GROUPS NewState,
- IN DWORD BufferLength,
- OUT PTOKEN_GROUPS PreviousState,
- OUT PDWORD ReturnLength
- );
- WINADVAPI
- BOOL
- WINAPI
- PrivilegeCheck (
- IN HANDLE ClientToken,
- IN PPRIVILEGE_SET RequiredPrivileges,
- OUT LPBOOL pfResult
- );
- WINADVAPI
- BOOL
- WINAPI
- AccessCheckAndAuditAlarmA (
- IN LPCSTR SubsystemName,
- IN LPVOID HandleId,
- IN LPSTR ObjectTypeName,
- IN LPSTR ObjectName,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN DWORD DesiredAccess,
- IN PGENERIC_MAPPING GenericMapping,
- IN BOOL ObjectCreation,
- OUT LPDWORD GrantedAccess,
- OUT LPBOOL AccessStatus,
- OUT LPBOOL pfGenerateOnClose
- );
- WINADVAPI
- BOOL
- WINAPI
- AccessCheckAndAuditAlarmW (
- IN LPCWSTR SubsystemName,
- IN LPVOID HandleId,
- IN LPWSTR ObjectTypeName,
- IN LPWSTR ObjectName,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN DWORD DesiredAccess,
- IN PGENERIC_MAPPING GenericMapping,
- IN BOOL ObjectCreation,
- OUT LPDWORD GrantedAccess,
- OUT LPBOOL AccessStatus,
- OUT LPBOOL pfGenerateOnClose
- );
- #ifdef UNICODE
- #define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmW
- #else
- #define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmA
- #endif // !UNICODE
- #if(_WIN32_WINNT >= 0x0500)
- WINADVAPI
- BOOL
- WINAPI
- AccessCheckByTypeAndAuditAlarmA (
- IN LPCSTR SubsystemName,
- IN LPVOID HandleId,
- IN LPCSTR ObjectTypeName,
- IN LPCSTR ObjectName,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PSID PrincipalSelfSid,
- IN DWORD DesiredAccess,
- IN AUDIT_EVENT_TYPE AuditType,
- IN DWORD Flags,
- IN POBJECT_TYPE_LIST ObjectTypeList,
- IN DWORD ObjectTypeListLength,
- IN PGENERIC_MAPPING GenericMapping,
- IN BOOL ObjectCreation,
- OUT LPDWORD GrantedAccess,
- OUT LPBOOL AccessStatus,
- OUT LPBOOL pfGenerateOnClose
- );
- WINADVAPI
- BOOL
- WINAPI
- AccessCheckByTypeAndAuditAlarmW (
- IN LPCWSTR SubsystemName,
- IN LPVOID HandleId,
- IN LPCWSTR ObjectTypeName,
- IN LPCWSTR ObjectName,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PSID PrincipalSelfSid,
- IN DWORD DesiredAccess,
- IN AUDIT_EVENT_TYPE AuditType,
- IN DWORD Flags,
- IN POBJECT_TYPE_LIST ObjectTypeList,
- IN DWORD ObjectTypeListLength,
- IN PGENERIC_MAPPING GenericMapping,
- IN BOOL ObjectCreation,
- OUT LPDWORD GrantedAccess,
- OUT LPBOOL AccessStatus,
- OUT LPBOOL pfGenerateOnClose
- );
- #ifdef UNICODE
- #define AccessCheckByTypeAndAuditAlarm AccessCheckByTypeAndAuditAlarmW
- #else
- #define AccessCheckByTypeAndAuditAlarm AccessCheckByTypeAndAuditAlarmA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- AccessCheckByTypeResultListAndAuditAlarmA (
- IN LPCSTR SubsystemName,
- IN LPVOID HandleId,
- IN LPCSTR ObjectTypeName,
- IN LPCSTR ObjectName,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PSID PrincipalSelfSid,
- IN DWORD DesiredAccess,
- IN AUDIT_EVENT_TYPE AuditType,
- IN DWORD Flags,
- IN POBJECT_TYPE_LIST ObjectTypeList,
- IN DWORD ObjectTypeListLength,
- IN PGENERIC_MAPPING GenericMapping,
- IN BOOL ObjectCreation,
- OUT LPDWORD GrantedAccess,
- OUT LPDWORD AccessStatusList,
- OUT LPBOOL pfGenerateOnClose
- );
- WINADVAPI
- BOOL
- WINAPI
- AccessCheckByTypeResultListAndAuditAlarmW (
- IN LPCWSTR SubsystemName,
- IN LPVOID HandleId,
- IN LPCWSTR ObjectTypeName,
- IN LPCWSTR ObjectName,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PSID PrincipalSelfSid,
- IN DWORD DesiredAccess,
- IN AUDIT_EVENT_TYPE AuditType,
- IN DWORD Flags,
- IN POBJECT_TYPE_LIST ObjectTypeList,
- IN DWORD ObjectTypeListLength,
- IN PGENERIC_MAPPING GenericMapping,
- IN BOOL ObjectCreation,
- OUT LPDWORD GrantedAccess,
- OUT LPDWORD AccessStatusList,
- OUT LPBOOL pfGenerateOnClose
- );
- #ifdef UNICODE
- #define AccessCheckByTypeResultListAndAuditAlarm AccessCheckByTypeResultListAndAuditAlarmW
- #else
- #define AccessCheckByTypeResultListAndAuditAlarm AccessCheckByTypeResultListAndAuditAlarmA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- AccessCheckByTypeResultListAndAuditAlarmByHandleA (
- IN LPCSTR SubsystemName,
- IN LPVOID HandleId,
- IN HANDLE ClientToken,
- IN LPCSTR ObjectTypeName,
- IN LPCSTR ObjectName,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PSID PrincipalSelfSid,
- IN DWORD DesiredAccess,
- IN AUDIT_EVENT_TYPE AuditType,
- IN DWORD Flags,
- IN POBJECT_TYPE_LIST ObjectTypeList,
- IN DWORD ObjectTypeListLength,
- IN PGENERIC_MAPPING GenericMapping,
- IN BOOL ObjectCreation,
- OUT LPDWORD GrantedAccess,
- OUT LPDWORD AccessStatusList,
- OUT LPBOOL pfGenerateOnClose
- );
- WINADVAPI
- BOOL
- WINAPI
- AccessCheckByTypeResultListAndAuditAlarmByHandleW (
- IN LPCWSTR SubsystemName,
- IN LPVOID HandleId,
- IN HANDLE ClientToken,
- IN LPCWSTR ObjectTypeName,
- IN LPCWSTR ObjectName,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PSID PrincipalSelfSid,
- IN DWORD DesiredAccess,
- IN AUDIT_EVENT_TYPE AuditType,
- IN DWORD Flags,
- IN POBJECT_TYPE_LIST ObjectTypeList,
- IN DWORD ObjectTypeListLength,
- IN PGENERIC_MAPPING GenericMapping,
- IN BOOL ObjectCreation,
- OUT LPDWORD GrantedAccess,
- OUT LPDWORD AccessStatusList,
- OUT LPBOOL pfGenerateOnClose
- );
- #ifdef UNICODE
- #define AccessCheckByTypeResultListAndAuditAlarmByHandle AccessCheckByTypeResultListAndAuditAlarmByHandleW
- #else
- #define AccessCheckByTypeResultListAndAuditAlarmByHandle AccessCheckByTypeResultListAndAuditAlarmByHandleA
- #endif // !UNICODE
- #endif //(_WIN32_WINNT >= 0x0500)
- WINADVAPI
- BOOL
- WINAPI
- ObjectOpenAuditAlarmA (
- IN LPCSTR SubsystemName,
- IN LPVOID HandleId,
- IN LPSTR ObjectTypeName,
- IN LPSTR ObjectName,
- IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
- IN HANDLE ClientToken,
- IN DWORD DesiredAccess,
- IN DWORD GrantedAccess,
- IN PPRIVILEGE_SET Privileges,
- IN BOOL ObjectCreation,
- IN BOOL AccessGranted,
- OUT LPBOOL GenerateOnClose
- );
- WINADVAPI
- BOOL
- WINAPI
- ObjectOpenAuditAlarmW (
- IN LPCWSTR SubsystemName,
- IN LPVOID HandleId,
- IN LPWSTR ObjectTypeName,
- IN LPWSTR ObjectName,
- IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
- IN HANDLE ClientToken,
- IN DWORD DesiredAccess,
- IN DWORD GrantedAccess,
- IN PPRIVILEGE_SET Privileges,
- IN BOOL ObjectCreation,
- IN BOOL AccessGranted,
- OUT LPBOOL GenerateOnClose
- );
- #ifdef UNICODE
- #define ObjectOpenAuditAlarm ObjectOpenAuditAlarmW
- #else
- #define ObjectOpenAuditAlarm ObjectOpenAuditAlarmA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- ObjectPrivilegeAuditAlarmA (
- IN LPCSTR SubsystemName,
- IN LPVOID HandleId,
- IN HANDLE ClientToken,
- IN DWORD DesiredAccess,
- IN PPRIVILEGE_SET Privileges,
- IN BOOL AccessGranted
- );
- WINADVAPI
- BOOL
- WINAPI
- ObjectPrivilegeAuditAlarmW (
- IN LPCWSTR SubsystemName,
- IN LPVOID HandleId,
- IN HANDLE ClientToken,
- IN DWORD DesiredAccess,
- IN PPRIVILEGE_SET Privileges,
- IN BOOL AccessGranted
- );
- #ifdef UNICODE
- #define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmW
- #else
- #define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- ObjectCloseAuditAlarmA (
- IN LPCSTR SubsystemName,
- IN LPVOID HandleId,
- IN BOOL GenerateOnClose
- );
- WINADVAPI
- BOOL
- WINAPI
- ObjectCloseAuditAlarmW (
- IN LPCWSTR SubsystemName,
- IN LPVOID HandleId,
- IN BOOL GenerateOnClose
- );
- #ifdef UNICODE
- #define ObjectCloseAuditAlarm ObjectCloseAuditAlarmW
- #else
- #define ObjectCloseAuditAlarm ObjectCloseAuditAlarmA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- ObjectDeleteAuditAlarmA (
- IN LPCSTR SubsystemName,
- IN LPVOID HandleId,
- IN BOOL GenerateOnClose
- );
- WINADVAPI
- BOOL
- WINAPI
- ObjectDeleteAuditAlarmW (
- IN LPCWSTR SubsystemName,
- IN LPVOID HandleId,
- IN BOOL GenerateOnClose
- );
- #ifdef UNICODE
- #define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmW
- #else
- #define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- PrivilegedServiceAuditAlarmA (
- IN LPCSTR SubsystemName,
- IN LPCSTR ServiceName,
- IN HANDLE ClientToken,
- IN PPRIVILEGE_SET Privileges,
- IN BOOL AccessGranted
- );
- WINADVAPI
- BOOL
- WINAPI
- PrivilegedServiceAuditAlarmW (
- IN LPCWSTR SubsystemName,
- IN LPCWSTR ServiceName,
- IN HANDLE ClientToken,
- IN PPRIVILEGE_SET Privileges,
- IN BOOL AccessGranted
- );
- #ifdef UNICODE
- #define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmW
- #else
- #define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmA
- #endif // !UNICODE
- #if(_WIN32_WINNT >= 0x0501)
- typedef enum {
- WinNullSid = 0,
- WinWorldSid = 1,
- WinLocalSid = 2,
- WinCreatorOwnerSid = 3,
- WinCreatorGroupSid = 4,
- WinCreatorOwnerServerSid = 5,
- WinCreatorGroupServerSid = 6,
- WinNtAuthoritySid = 7,
- WinDialupSid = 8,
- WinNetworkSid = 9,
- WinBatchSid = 10,
- WinInteractiveSid = 11,
- WinServiceSid = 12,
- WinAnonymousSid = 13,
- WinProxySid = 14,
- WinEnterpriseControllersSid = 15,
- WinSelfSid = 16,
- WinAuthenticatedUserSid = 17,
- WinRestrictedCodeSid = 18,
- WinTerminalServerSid = 19,
- WinRemoteLogonIdSid = 20,
- WinLogonIdsSid = 21,
- WinLocalSystemSid = 22,
- WinLocalServiceSid = 23,
- WinNetworkServiceSid = 24,
- WinBuiltinDomainSid = 25,
- WinBuiltinAdministratorsSid = 26,
- WinBuiltinUsersSid = 27,
- WinBuiltinGuestsSid = 28,
- WinBuiltinPowerUsersSid = 29,
- WinBuiltinAccountOperatorsSid = 30,
- WinBuiltinSystemOperatorsSid = 31,
- WinBuiltinPrintOperatorsSid = 32,
- WinBuiltinBackupOperatorsSid = 33,
- WinBuiltinReplicatorSid = 34,
- WinBuiltinPreWindows2000CompatibleAccessSid = 35,
- WinBuiltinRemoteDesktopUsersSid = 36,
- WinBuiltinNetworkConfigurationOperatorsSid = 37,
- WinAccountAdministratorSid = 38,
- WinAccountGuestSid = 39,
- WinAccountKrbtgtSid = 40,
- WinAccountDomainAdminsSid = 41,
- WinAccountDomainUsersSid = 42,
- WinAccountDomainGuestsSid = 43,
- WinAccountComputersSid = 44,
- WinAccountControllersSid = 45,
- WinAccountCertAdminsSid = 46,
- WinAccountSchemaAdminsSid = 47,
- WinAccountEnterpriseAdminsSid = 48,
- WinAccountPolicyAdminsSid = 49,
- WinAccountRasAndIasServersSid = 50,
- } WELL_KNOWN_SID_TYPE;
- WINADVAPI
- BOOL
- WINAPI
- IsWellKnownSid (
- IN PSID pSid,
- IN WELL_KNOWN_SID_TYPE WellKnownSidType
- );
- WINADVAPI
- BOOL
- WINAPI
- CreateWellKnownSid(
- IN WELL_KNOWN_SID_TYPE WellKnownSidType,
- IN PSID DomainSid OPTIONAL,
- OUT PSID pSid,
- IN OUT DWORD *cbSid
- );
- WINADVAPI
- BOOL
- WINAPI
- EqualDomainSid(
- IN PSID pSid1,
- IN PSID pSid2,
- OUT BOOL *pfEqual
- );
- WINADVAPI
- BOOL
- WINAPI
- GetWindowsAccountDomainSid(
- IN PSID pSid,
- OUT PSID ppDomainSid OPTIONAL,
- IN OUT DWORD *cbSid
- );
- #endif //(_WIN32_WINNT >= 0x0501)
- WINADVAPI
- BOOL
- WINAPI
- IsValidSid (
- IN PSID pSid
- );
- WINADVAPI
- BOOL
- WINAPI
- EqualSid (
- IN PSID pSid1,
- IN PSID pSid2
- );
- WINADVAPI
- BOOL
- WINAPI
- EqualPrefixSid (
- PSID pSid1,
- PSID pSid2
- );
- WINADVAPI
- DWORD
- WINAPI
- GetSidLengthRequired (
- IN UCHAR nSubAuthorityCount
- );
- WINADVAPI
- BOOL
- WINAPI
- AllocateAndInitializeSid (
- IN PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
- IN BYTE nSubAuthorityCount,
- IN DWORD nSubAuthority0,
- IN DWORD nSubAuthority1,
- IN DWORD nSubAuthority2,
- IN DWORD nSubAuthority3,
- IN DWORD nSubAuthority4,
- IN DWORD nSubAuthority5,
- IN DWORD nSubAuthority6,
- IN DWORD nSubAuthority7,
- OUT PSID *pSid
- );
- WINADVAPI
- PVOID
- WINAPI
- FreeSid(
- IN PSID pSid
- );
- WINADVAPI
- BOOL
- WINAPI
- InitializeSid (
- OUT PSID Sid,
- IN PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
- IN BYTE nSubAuthorityCount
- );
- WINADVAPI
- PSID_IDENTIFIER_AUTHORITY
- WINAPI
- GetSidIdentifierAuthority (
- IN PSID pSid
- );
- WINADVAPI
- PDWORD
- WINAPI
- GetSidSubAuthority (
- IN PSID pSid,
- IN DWORD nSubAuthority
- );
- WINADVAPI
- PUCHAR
- WINAPI
- GetSidSubAuthorityCount (
- IN PSID pSid
- );
- WINADVAPI
- DWORD
- WINAPI
- GetLengthSid (
- IN PSID pSid
- );
- WINADVAPI
- BOOL
- WINAPI
- CopySid (
- IN DWORD nDestinationSidLength,
- OUT PSID pDestinationSid,
- IN PSID pSourceSid
- );
- WINADVAPI
- BOOL
- WINAPI
- AreAllAccessesGranted (
- IN DWORD GrantedAccess,
- IN DWORD DesiredAccess
- );
- WINADVAPI
- BOOL
- WINAPI
- AreAnyAccessesGranted (
- IN DWORD GrantedAccess,
- IN DWORD DesiredAccess
- );
- WINADVAPI
- VOID
- WINAPI
- MapGenericMask (
- OUT PDWORD AccessMask,
- IN PGENERIC_MAPPING GenericMapping
- );
- WINADVAPI
- BOOL
- WINAPI
- IsValidAcl (
- IN PACL pAcl
- );
- WINADVAPI
- BOOL
- WINAPI
- InitializeAcl (
- OUT PACL pAcl,
- IN DWORD nAclLength,
- IN DWORD dwAclRevision
- );
- WINADVAPI
- BOOL
- WINAPI
- GetAclInformation (
- IN PACL pAcl,
- OUT LPVOID pAclInformation,
- IN DWORD nAclInformationLength,
- IN ACL_INFORMATION_CLASS dwAclInformationClass
- );
- WINADVAPI
- BOOL
- WINAPI
- SetAclInformation (
- IN PACL pAcl,
- IN LPVOID pAclInformation,
- IN DWORD nAclInformationLength,
- IN ACL_INFORMATION_CLASS dwAclInformationClass
- );
- WINADVAPI
- BOOL
- WINAPI
- AddAce (
- IN OUT PACL pAcl,
- IN DWORD dwAceRevision,
- IN DWORD dwStartingAceIndex,
- IN LPVOID pAceList,
- IN DWORD nAceListLength
- );
- WINADVAPI
- BOOL
- WINAPI
- DeleteAce (
- IN OUT PACL pAcl,
- IN DWORD dwAceIndex
- );
- WINADVAPI
- BOOL
- WINAPI
- GetAce (
- IN PACL pAcl,
- IN DWORD dwAceIndex,
- OUT LPVOID *pAce
- );
- WINADVAPI
- BOOL
- WINAPI
- AddAccessAllowedAce (
- IN OUT PACL pAcl,
- IN DWORD dwAceRevision,
- IN DWORD AccessMask,
- IN PSID pSid
- );
- #if(_WIN32_WINNT >= 0x0500)
- WINADVAPI
- BOOL
- WINAPI
- AddAccessAllowedAceEx (
- IN OUT PACL pAcl,
- IN DWORD dwAceRevision,
- IN DWORD AceFlags,
- IN DWORD AccessMask,
- IN PSID pSid
- );
- #endif /* _WIN32_WINNT >= 0x0500 */
- WINADVAPI
- BOOL
- WINAPI
- AddAccessDeniedAce (
- IN OUT PACL pAcl,
- IN DWORD dwAceRevision,
- IN DWORD AccessMask,
- IN PSID pSid
- );
- #if(_WIN32_WINNT >= 0x0500)
- WINADVAPI
- BOOL
- WINAPI
- AddAccessDeniedAceEx (
- IN OUT PACL pAcl,
- IN DWORD dwAceRevision,
- IN DWORD AceFlags,
- IN DWORD AccessMask,
- IN PSID pSid
- );
- #endif /* _WIN32_WINNT >= 0x0500 */
- WINADVAPI
- BOOL
- WINAPI
- AddAuditAccessAce(
- IN OUT PACL pAcl,
- IN DWORD dwAceRevision,
- IN DWORD dwAccessMask,
- IN PSID pSid,
- IN BOOL bAuditSuccess,
- IN BOOL bAuditFailure
- );
- #if(_WIN32_WINNT >= 0x0500)
- WINADVAPI
- BOOL
- WINAPI
- AddAuditAccessAceEx(
- IN OUT PACL pAcl,
- IN DWORD dwAceRevision,
- IN DWORD AceFlags,
- IN DWORD dwAccessMask,
- IN PSID pSid,
- IN BOOL bAuditSuccess,
- IN BOOL bAuditFailure
- );
- WINADVAPI
- BOOL
- WINAPI
- AddAccessAllowedObjectAce (
- IN OUT PACL pAcl,
- IN DWORD dwAceRevision,
- IN DWORD AceFlags,
- IN DWORD AccessMask,
- IN GUID *ObjectTypeGuid,
- IN GUID *InheritedObjectTypeGuid,
- IN PSID pSid
- );
- WINADVAPI
- BOOL
- WINAPI
- AddAccessDeniedObjectAce (
- IN OUT PACL pAcl,
- IN DWORD dwAceRevision,
- IN DWORD AceFlags,
- IN DWORD AccessMask,
- IN GUID *ObjectTypeGuid,
- IN GUID *InheritedObjectTypeGuid,
- IN PSID pSid
- );
- WINADVAPI
- BOOL
- WINAPI
- AddAuditAccessObjectAce (
- IN OUT PACL pAcl,
- IN DWORD dwAceRevision,
- IN DWORD AceFlags,
- IN DWORD AccessMask,
- IN GUID *ObjectTypeGuid,
- IN GUID *InheritedObjectTypeGuid,
- IN PSID pSid,
- IN BOOL bAuditSuccess,
- IN BOOL bAuditFailure
- );
- #endif /* _WIN32_WINNT >= 0x0500 */
- WINADVAPI
- BOOL
- WINAPI
- FindFirstFreeAce (
- IN PACL pAcl,
- OUT LPVOID *pAce
- );
- WINADVAPI
- BOOL
- WINAPI
- InitializeSecurityDescriptor (
- OUT PSECURITY_DESCRIPTOR pSecurityDescriptor,
- IN DWORD dwRevision
- );
- WINADVAPI
- BOOL
- WINAPI
- IsValidSecurityDescriptor (
- IN PSECURITY_DESCRIPTOR pSecurityDescriptor
- );
- WINADVAPI
- DWORD
- WINAPI
- GetSecurityDescriptorLength (
- IN PSECURITY_DESCRIPTOR pSecurityDescriptor
- );
- WINADVAPI
- BOOL
- WINAPI
- GetSecurityDescriptorControl (
- IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
- OUT PSECURITY_DESCRIPTOR_CONTROL pControl,
- OUT LPDWORD lpdwRevision
- );
- #if(_WIN32_WINNT >= 0x0500)
- WINADVAPI
- BOOL
- WINAPI
- SetSecurityDescriptorControl (
- IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
- IN SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest,
- IN SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet
- );
- #endif /* _WIN32_WINNT >= 0x0500 */
- WINADVAPI
- BOOL
- WINAPI
- SetSecurityDescriptorDacl (
- IN OUT PSECURITY_DESCRIPTOR pSecurityDescriptor,
- IN BOOL bDaclPresent,
- IN PACL pDacl,
- IN BOOL bDaclDefaulted
- );
- WINADVAPI
- BOOL
- WINAPI
- GetSecurityDescriptorDacl (
- IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
- OUT LPBOOL lpbDaclPresent,
- OUT PACL *pDacl,
- OUT LPBOOL lpbDaclDefaulted
- );
- WINADVAPI
- BOOL
- WINAPI
- SetSecurityDescriptorSacl (
- IN OUT PSECURITY_DESCRIPTOR pSecurityDescriptor,
- IN BOOL bSaclPresent,
- IN PACL pSacl,
- IN BOOL bSaclDefaulted
- );
- WINADVAPI
- BOOL
- WINAPI
- GetSecurityDescriptorSacl (
- IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
- OUT LPBOOL lpbSaclPresent,
- OUT PACL *pSacl,
- OUT LPBOOL lpbSaclDefaulted
- );
- WINADVAPI
- BOOL
- WINAPI
- SetSecurityDescriptorOwner (
- IN OUT PSECURITY_DESCRIPTOR pSecurityDescriptor,
- IN PSID pOwner,
- IN BOOL bOwnerDefaulted
- );
- WINADVAPI
- BOOL
- WINAPI
- GetSecurityDescriptorOwner (
- IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
- OUT PSID *pOwner,
- OUT LPBOOL lpbOwnerDefaulted
- );
- WINADVAPI
- BOOL
- WINAPI
- SetSecurityDescriptorGroup (
- IN OUT PSECURITY_DESCRIPTOR pSecurityDescriptor,
- IN PSID pGroup,
- IN BOOL bGroupDefaulted
- );
- WINADVAPI
- BOOL
- WINAPI
- GetSecurityDescriptorGroup (
- IN PSECURITY_DESCRIPTOR pSecurityDescriptor,
- OUT PSID *pGroup,
- OUT LPBOOL lpbGroupDefaulted
- );
- WINADVAPI
- DWORD
- WINAPI
- SetSecurityDescriptorRMControl(
- IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
- IN PUCHAR RMControl OPTIONAL
- );
- WINADVAPI
- DWORD
- WINAPI
- GetSecurityDescriptorRMControl(
- IN PSECURITY_DESCRIPTOR SecurityDescriptor,
- OUT PUCHAR RMControl
- );
- WINADVAPI
- BOOL
- WINAPI
- CreatePrivateObjectSecurity (
- IN PSECURITY_DESCRIPTOR ParentDescriptor,
- IN PSECURITY_DESCRIPTOR CreatorDescriptor,
- OUT PSECURITY_DESCRIPTOR * NewDescriptor,
- IN BOOL IsDirectoryObject,
- IN HANDLE Token,
- IN PGENERIC_MAPPING GenericMapping
- );
- #if(_WIN32_WINNT >= 0x0500)
- WINADVAPI
- BOOL
- WINAPI
- ConvertToAutoInheritPrivateObjectSecurity(
- IN PSECURITY_DESCRIPTOR ParentDescriptor,
- IN PSECURITY_DESCRIPTOR CurrentSecurityDescriptor,
- OUT PSECURITY_DESCRIPTOR *NewSecurityDescriptor,
- IN GUID *ObjectType,
- IN BOOLEAN IsDirectoryObject,
- IN PGENERIC_MAPPING GenericMapping
- );
- WINADVAPI
- BOOL
- WINAPI
- CreatePrivateObjectSecurityEx (
- IN PSECURITY_DESCRIPTOR ParentDescriptor,
- IN PSECURITY_DESCRIPTOR CreatorDescriptor,
- OUT PSECURITY_DESCRIPTOR * NewDescriptor,
- IN GUID *ObjectType OPTIONAL,
- IN BOOL IsContainerObject,
- IN ULONG AutoInheritFlags,
- IN HANDLE Token,
- IN PGENERIC_MAPPING GenericMapping
- );
- WINADVAPI
- BOOL
- WINAPI
- CreatePrivateObjectSecurityWithMultipleInheritance (
- IN PSECURITY_DESCRIPTOR ParentDescriptor,
- IN PSECURITY_DESCRIPTOR CreatorDescriptor,
- OUT PSECURITY_DESCRIPTOR * NewDescriptor,
- IN GUID **ObjectTypes OPTIONAL,
- IN ULONG GuidCount,
- IN BOOL IsContainerObject,
- IN ULONG AutoInheritFlags,
- IN HANDLE Token,
- IN PGENERIC_MAPPING GenericMapping
- );
- #endif /* _WIN32_WINNT >= 0x0500 */
- WINADVAPI
- BOOL
- WINAPI
- SetPrivateObjectSecurity (
- IN SECURITY_INFORMATION SecurityInformation,
- IN PSECURITY_DESCRIPTOR ModificationDescriptor,
- OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
- IN PGENERIC_MAPPING GenericMapping,
- IN HANDLE Token
- );
- #if(_WIN32_WINNT >= 0x0500)
- WINADVAPI
- BOOL
- WINAPI
- SetPrivateObjectSecurityEx (
- IN SECURITY_INFORMATION SecurityInformation,
- IN PSECURITY_DESCRIPTOR ModificationDescriptor,
- OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
- IN ULONG AutoInheritFlags,
- IN PGENERIC_MAPPING GenericMapping,
- IN HANDLE Token OPTIONAL
- );
- #endif /* _WIN32_WINNT >= 0x0500 */
- WINADVAPI
- BOOL
- WINAPI
- GetPrivateObjectSecurity (
- IN PSECURITY_DESCRIPTOR ObjectDescriptor,
- IN SECURITY_INFORMATION SecurityInformation,
- OUT PSECURITY_DESCRIPTOR ResultantDescriptor,
- IN DWORD DescriptorLength,
- OUT PDWORD ReturnLength
- );
- WINADVAPI
- BOOL
- WINAPI
- DestroyPrivateObjectSecurity (
- IN OUT PSECURITY_DESCRIPTOR * ObjectDescriptor
- );
- WINADVAPI
- BOOL
- WINAPI
- MakeSelfRelativeSD (
- IN PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
- OUT PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
- OUT LPDWORD lpdwBufferLength
- );
- WINADVAPI
- BOOL
- WINAPI
- MakeAbsoluteSD (
- IN PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
- OUT PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
- OUT LPDWORD lpdwAbsoluteSecurityDescriptorSize,
- OUT PACL pDacl,
- OUT LPDWORD lpdwDaclSize,
- OUT PACL pSacl,
- OUT LPDWORD lpdwSaclSize,
- OUT PSID pOwner,
- OUT LPDWORD lpdwOwnerSize,
- OUT PSID pPrimaryGroup,
- OUT LPDWORD lpdwPrimaryGroupSize
- );
- WINADVAPI
- BOOL
- WINAPI
- MakeAbsoluteSD2 (
- IN PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
- OUT LPDWORD lpdwBufferSize
- );
- WINADVAPI
- BOOL
- WINAPI
- SetFileSecurityA (
- IN LPCSTR lpFileName,
- IN SECURITY_INFORMATION SecurityInformation,
- IN PSECURITY_DESCRIPTOR pSecurityDescriptor
- );
- WINADVAPI
- BOOL
- WINAPI
- SetFileSecurityW (
- IN LPCWSTR lpFileName,
- IN SECURITY_INFORMATION SecurityInformation,
- IN PSECURITY_DESCRIPTOR pSecurityDescriptor
- );
- #ifdef UNICODE
- #define SetFileSecurity SetFileSecurityW
- #else
- #define SetFileSecurity SetFileSecurityA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- GetFileSecurityA (
- IN LPCSTR lpFileName,
- IN SECURITY_INFORMATION RequestedInformation,
- OUT PSECURITY_DESCRIPTOR pSecurityDescriptor,
- IN DWORD nLength,
- OUT LPDWORD lpnLengthNeeded
- );
- WINADVAPI
- BOOL
- WINAPI
- GetFileSecurityW (
- IN LPCWSTR lpFileName,
- IN SECURITY_INFORMATION RequestedInformation,
- OUT PSECURITY_DESCRIPTOR pSecurityDescriptor,
- IN DWORD nLength,
- OUT LPDWORD lpnLengthNeeded
- );
- #ifdef UNICODE
- #define GetFileSecurity GetFileSecurityW
- #else
- #define GetFileSecurity GetFileSecurityA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- SetKernelObjectSecurity (
- IN HANDLE Handle,
- IN SECURITY_INFORMATION SecurityInformation,
- IN PSECURITY_DESCRIPTOR SecurityDescriptor
- );
- WINBASEAPI
- HANDLE
- WINAPI
- FindFirstChangeNotificationA(
- IN LPCSTR lpPathName,
- IN BOOL bWatchSubtree,
- IN DWORD dwNotifyFilter
- );
- WINBASEAPI
- HANDLE
- WINAPI
- FindFirstChangeNotificationW(
- IN LPCWSTR lpPathName,
- IN BOOL bWatchSubtree,
- IN DWORD dwNotifyFilter
- );
- #ifdef UNICODE
- #define FindFirstChangeNotification FindFirstChangeNotificationW
- #else
- #define FindFirstChangeNotification FindFirstChangeNotificationA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- FindNextChangeNotification(
- IN HANDLE hChangeHandle
- );
- WINBASEAPI
- BOOL
- WINAPI
- FindCloseChangeNotification(
- IN HANDLE hChangeHandle
- );
- #if(_WIN32_WINNT >= 0x0400)
- WINBASEAPI
- BOOL
- WINAPI
- ReadDirectoryChangesW(
- IN HANDLE hDirectory,
- IN OUT LPVOID lpBuffer,
- IN DWORD nBufferLength,
- IN BOOL bWatchSubtree,
- IN DWORD dwNotifyFilter,
- OUT LPDWORD lpBytesReturned,
- IN LPOVERLAPPED lpOverlapped,
- IN LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
- );
- #endif /* _WIN32_WINNT >= 0x0400 */
- WINBASEAPI
- BOOL
- WINAPI
- VirtualLock(
- IN LPVOID lpAddress,
- IN SIZE_T dwSize
- );
- WINBASEAPI
- BOOL
- WINAPI
- VirtualUnlock(
- IN LPVOID lpAddress,
- IN SIZE_T dwSize
- );
- WINBASEAPI
- LPVOID
- WINAPI
- MapViewOfFileEx(
- IN HANDLE hFileMappingObject,
- IN DWORD dwDesiredAccess,
- IN DWORD dwFileOffsetHigh,
- IN DWORD dwFileOffsetLow,
- IN SIZE_T dwNumberOfBytesToMap,
- IN LPVOID lpBaseAddress
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetPriorityClass(
- IN HANDLE hProcess,
- IN DWORD dwPriorityClass
- );
- WINBASEAPI
- DWORD
- WINAPI
- GetPriorityClass(
- IN HANDLE hProcess
- );
- WINBASEAPI
- BOOL
- WINAPI
- IsBadReadPtr(
- IN CONST VOID *lp,
- IN UINT_PTR ucb
- );
- WINBASEAPI
- BOOL
- WINAPI
- IsBadWritePtr(
- IN LPVOID lp,
- IN UINT_PTR ucb
- );
- WINBASEAPI
- BOOL
- WINAPI
- IsBadHugeReadPtr(
- IN CONST VOID *lp,
- IN UINT_PTR ucb
- );
- WINBASEAPI
- BOOL
- WINAPI
- IsBadHugeWritePtr(
- IN LPVOID lp,
- IN UINT_PTR ucb
- );
- WINBASEAPI
- BOOL
- WINAPI
- IsBadCodePtr(
- IN FARPROC lpfn
- );
- WINBASEAPI
- BOOL
- WINAPI
- IsBadStringPtrA(
- IN LPCSTR lpsz,
- IN UINT_PTR ucchMax
- );
- WINBASEAPI
- BOOL
- WINAPI
- IsBadStringPtrW(
- IN LPCWSTR lpsz,
- IN UINT_PTR ucchMax
- );
- #ifdef UNICODE
- #define IsBadStringPtr IsBadStringPtrW
- #else
- #define IsBadStringPtr IsBadStringPtrA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- LookupAccountSidA(
- IN LPCSTR lpSystemName,
- IN PSID Sid,
- OUT LPSTR Name,
- IN OUT LPDWORD cbName,
- OUT LPSTR ReferencedDomainName,
- IN OUT LPDWORD cbReferencedDomainName,
- OUT PSID_NAME_USE peUse
- );
- WINADVAPI
- BOOL
- WINAPI
- LookupAccountSidW(
- IN LPCWSTR lpSystemName,
- IN PSID Sid,
- OUT LPWSTR Name,
- IN OUT LPDWORD cbName,
- OUT LPWSTR ReferencedDomainName,
- IN OUT LPDWORD cbReferencedDomainName,
- OUT PSID_NAME_USE peUse
- );
- #ifdef UNICODE
- #define LookupAccountSid LookupAccountSidW
- #else
- #define LookupAccountSid LookupAccountSidA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- LookupAccountNameA(
- IN LPCSTR lpSystemName,
- IN LPCSTR lpAccountName,
- OUT PSID Sid,
- IN OUT LPDWORD cbSid,
- OUT LPSTR ReferencedDomainName,
- IN OUT LPDWORD cbReferencedDomainName,
- OUT PSID_NAME_USE peUse
- );
- WINADVAPI
- BOOL
- WINAPI
- LookupAccountNameW(
- IN LPCWSTR lpSystemName,
- IN LPCWSTR lpAccountName,
- OUT PSID Sid,
- IN OUT LPDWORD cbSid,
- OUT LPWSTR ReferencedDomainName,
- IN OUT LPDWORD cbReferencedDomainName,
- OUT PSID_NAME_USE peUse
- );
- #ifdef UNICODE
- #define LookupAccountName LookupAccountNameW
- #else
- #define LookupAccountName LookupAccountNameA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- LookupPrivilegeValueA(
- IN LPCSTR lpSystemName,
- IN LPCSTR lpName,
- OUT PLUID lpLuid
- );
- WINADVAPI
- BOOL
- WINAPI
- LookupPrivilegeValueW(
- IN LPCWSTR lpSystemName,
- IN LPCWSTR lpName,
- OUT PLUID lpLuid
- );
- #ifdef UNICODE
- #define LookupPrivilegeValue LookupPrivilegeValueW
- #else
- #define LookupPrivilegeValue LookupPrivilegeValueA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- LookupPrivilegeNameA(
- IN LPCSTR lpSystemName,
- IN PLUID lpLuid,
- OUT LPSTR lpName,
- IN OUT LPDWORD cbName
- );
- WINADVAPI
- BOOL
- WINAPI
- LookupPrivilegeNameW(
- IN LPCWSTR lpSystemName,
- IN PLUID lpLuid,
- OUT LPWSTR lpName,
- IN OUT LPDWORD cbName
- );
- #ifdef UNICODE
- #define LookupPrivilegeName LookupPrivilegeNameW
- #else
- #define LookupPrivilegeName LookupPrivilegeNameA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- LookupPrivilegeDisplayNameA(
- IN LPCSTR lpSystemName,
- IN LPCSTR lpName,
- OUT LPSTR lpDisplayName,
- IN OUT LPDWORD cbDisplayName,
- OUT LPDWORD lpLanguageId
- );
- WINADVAPI
- BOOL
- WINAPI
- LookupPrivilegeDisplayNameW(
- IN LPCWSTR lpSystemName,
- IN LPCWSTR lpName,
- OUT LPWSTR lpDisplayName,
- IN OUT LPDWORD cbDisplayName,
- OUT LPDWORD lpLanguageId
- );
- #ifdef UNICODE
- #define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameW
- #else
- #define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- AllocateLocallyUniqueId(
- OUT PLUID Luid
- );
- WINBASEAPI
- BOOL
- WINAPI
- BuildCommDCBA(
- IN LPCSTR lpDef,
- OUT LPDCB lpDCB
- );
- WINBASEAPI
- BOOL
- WINAPI
- BuildCommDCBW(
- IN LPCWSTR lpDef,
- OUT LPDCB lpDCB
- );
- #ifdef UNICODE
- #define BuildCommDCB BuildCommDCBW
- #else
- #define BuildCommDCB BuildCommDCBA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- BuildCommDCBAndTimeoutsA(
- IN LPCSTR lpDef,
- OUT LPDCB lpDCB,
- IN LPCOMMTIMEOUTS lpCommTimeouts
- );
- WINBASEAPI
- BOOL
- WINAPI
- BuildCommDCBAndTimeoutsW(
- IN LPCWSTR lpDef,
- OUT LPDCB lpDCB,
- IN LPCOMMTIMEOUTS lpCommTimeouts
- );
- #ifdef UNICODE
- #define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsW
- #else
- #define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- CommConfigDialogA(
- IN LPCSTR lpszName,
- IN HWND hWnd,
- IN OUT LPCOMMCONFIG lpCC
- );
- WINBASEAPI
- BOOL
- WINAPI
- CommConfigDialogW(
- IN LPCWSTR lpszName,
- IN HWND hWnd,
- IN OUT LPCOMMCONFIG lpCC
- );
- #ifdef UNICODE
- #define CommConfigDialog CommConfigDialogW
- #else
- #define CommConfigDialog CommConfigDialogA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- GetDefaultCommConfigA(
- IN LPCSTR lpszName,
- OUT LPCOMMCONFIG lpCC,
- IN OUT LPDWORD lpdwSize
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetDefaultCommConfigW(
- IN LPCWSTR lpszName,
- OUT LPCOMMCONFIG lpCC,
- IN OUT LPDWORD lpdwSize
- );
- #ifdef UNICODE
- #define GetDefaultCommConfig GetDefaultCommConfigW
- #else
- #define GetDefaultCommConfig GetDefaultCommConfigA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- SetDefaultCommConfigA(
- IN LPCSTR lpszName,
- IN LPCOMMCONFIG lpCC,
- IN DWORD dwSize
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetDefaultCommConfigW(
- IN LPCWSTR lpszName,
- IN LPCOMMCONFIG lpCC,
- IN DWORD dwSize
- );
- #ifdef UNICODE
- #define SetDefaultCommConfig SetDefaultCommConfigW
- #else
- #define SetDefaultCommConfig SetDefaultCommConfigA
- #endif // !UNICODE
- #ifndef _MAC
- #define MAX_COMPUTERNAME_LENGTH 15
- #else
- #define MAX_COMPUTERNAME_LENGTH 31
- #endif
- WINBASEAPI
- BOOL
- WINAPI
- GetComputerNameA (
- OUT LPSTR lpBuffer,
- IN OUT LPDWORD nSize
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetComputerNameW (
- OUT LPWSTR lpBuffer,
- IN OUT LPDWORD nSize
- );
- #ifdef UNICODE
- #define GetComputerName GetComputerNameW
- #else
- #define GetComputerName GetComputerNameA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- SetComputerNameA (
- IN LPCSTR lpComputerName
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetComputerNameW (
- IN LPCWSTR lpComputerName
- );
- #ifdef UNICODE
- #define SetComputerName SetComputerNameW
- #else
- #define SetComputerName SetComputerNameA
- #endif // !UNICODE
- #if (_WIN32_WINNT >= 0x0500)
- typedef enum _COMPUTER_NAME_FORMAT {
- ComputerNameNetBIOS,
- ComputerNameDnsHostname,
- ComputerNameDnsDomain,
- ComputerNameDnsFullyQualified,
- ComputerNamePhysicalNetBIOS,
- ComputerNamePhysicalDnsHostname,
- ComputerNamePhysicalDnsDomain,
- ComputerNamePhysicalDnsFullyQualified,
- ComputerNameMax
- } COMPUTER_NAME_FORMAT ;
- WINBASEAPI
- BOOL
- WINAPI
- GetComputerNameExA (
- IN COMPUTER_NAME_FORMAT NameType,
- OUT LPSTR lpBuffer,
- IN OUT LPDWORD nSize
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetComputerNameExW (
- IN COMPUTER_NAME_FORMAT NameType,
- OUT LPWSTR lpBuffer,
- IN OUT LPDWORD nSize
- );
- #ifdef UNICODE
- #define GetComputerNameEx GetComputerNameExW
- #else
- #define GetComputerNameEx GetComputerNameExA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- SetComputerNameExA (
- IN COMPUTER_NAME_FORMAT NameType,
- IN LPCSTR lpBuffer
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetComputerNameExW (
- IN COMPUTER_NAME_FORMAT NameType,
- IN LPCWSTR lpBuffer
- );
- #ifdef UNICODE
- #define SetComputerNameEx SetComputerNameExW
- #else
- #define SetComputerNameEx SetComputerNameExA
- #endif // !UNICODE
-
- WINBASEAPI
- DWORD
- WINAPI
- AddLocalAlternateComputerNameA (
- IN LPCSTR lpDnsFQHostname,
- IN ULONG ulFlags
- );
- WINBASEAPI
- DWORD
- WINAPI
- AddLocalAlternateComputerNameW (
- IN LPCWSTR lpDnsFQHostname,
- IN ULONG ulFlags
- );
- #ifdef UNICODE
- #define AddLocalAlternateComputerName AddLocalAlternateComputerNameW
- #else
- #define AddLocalAlternateComputerName AddLocalAlternateComputerNameA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- RemoveLocalAlternateComputerNameA (
- IN LPCSTR lpAltDnsFQHostname,
- IN ULONG ulFlags
- );
- WINBASEAPI
- DWORD
- WINAPI
- RemoveLocalAlternateComputerNameW (
- IN LPCWSTR lpAltDnsFQHostname,
- IN ULONG ulFlags
- );
- #ifdef UNICODE
- #define RemoveLocalAlternateComputerName RemoveLocalAlternateComputerNameW
- #else
- #define RemoveLocalAlternateComputerName RemoveLocalAlternateComputerNameA
- #endif // !UNICODE
- WINBASEAPI
- DWORD
- WINAPI
- SetLocalPrimaryComputerNameA (
- IN LPCSTR lpAltDnsFQHostname,
- IN ULONG ulFlags
- );
- WINBASEAPI
- DWORD
- WINAPI
- SetLocalPrimaryComputerNameW (
- IN LPCWSTR lpAltDnsFQHostname,
- IN ULONG ulFlags
- );
- #ifdef UNICODE
- #define SetLocalPrimaryComputerName SetLocalPrimaryComputerNameW
- #else
- #define SetLocalPrimaryComputerName SetLocalPrimaryComputerNameA
- #endif // !UNICODE
- typedef enum _COMPUTER_NAME_TYPE {
- PrimaryComputerName,
- AlternateComputerNames,
- AllComputerNames,
- ComputerNameTypeMax
- } COMPUTER_NAME_TYPE ;
- WINBASEAPI
- DWORD
- WINAPI
- EnumerateLocalComputerNamesA (
- IN COMPUTER_NAME_TYPE NameType,
- IN ULONG ulFlags,
- IN OUT LPSTR lpDnsFQHostname,
- IN OUT LPDWORD nSize
- );
- WINBASEAPI
- DWORD
- WINAPI
- EnumerateLocalComputerNamesW (
- IN COMPUTER_NAME_TYPE NameType,
- IN ULONG ulFlags,
- IN OUT LPWSTR lpDnsFQHostname,
- IN OUT LPDWORD nSize
- );
- #ifdef UNICODE
- #define EnumerateLocalComputerNames EnumerateLocalComputerNamesW
- #else
- #define EnumerateLocalComputerNames EnumerateLocalComputerNamesA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- DnsHostnameToComputerNameA (
- IN LPCSTR Hostname,
- OUT LPSTR ComputerName,
- IN OUT LPDWORD nSize
- );
- WINBASEAPI
- BOOL
- WINAPI
- DnsHostnameToComputerNameW (
- IN LPCWSTR Hostname,
- OUT LPWSTR ComputerName,
- IN OUT LPDWORD nSize
- );
- #ifdef UNICODE
- #define DnsHostnameToComputerName DnsHostnameToComputerNameW
- #else
- #define DnsHostnameToComputerName DnsHostnameToComputerNameA
- #endif // !UNICODE
- #endif // _WIN32_WINNT
- WINADVAPI
- BOOL
- WINAPI
- GetUserNameA (
- OUT LPSTR lpBuffer,
- IN OUT LPDWORD nSize
- );
- WINADVAPI
- BOOL
- WINAPI
- GetUserNameW (
- OUT LPWSTR lpBuffer,
- IN OUT LPDWORD nSize
- );
- #ifdef UNICODE
- #define GetUserName GetUserNameW
- #else
- #define GetUserName GetUserNameA
- #endif // !UNICODE
- //
- // Logon Support APIs
- //
- #define LOGON32_LOGON_INTERACTIVE 2
- #define LOGON32_LOGON_NETWORK 3
- #define LOGON32_LOGON_BATCH 4
- #define LOGON32_LOGON_SERVICE 5
- #define LOGON32_LOGON_UNLOCK 7
- #if(_WIN32_WINNT >= 0x0500)
- #define LOGON32_LOGON_NETWORK_CLEARTEXT 8
- #define LOGON32_LOGON_NEW_CREDENTIALS 9
- #endif // (_WIN32_WINNT >= 0x0500)
- #define LOGON32_PROVIDER_DEFAULT 0
- #define LOGON32_PROVIDER_WINNT35 1
- #if(_WIN32_WINNT >= 0x0400)
- #define LOGON32_PROVIDER_WINNT40 2
- #endif /* _WIN32_WINNT >= 0x0400 */
- #if(_WIN32_WINNT >= 0x0500)
- #define LOGON32_PROVIDER_WINNT50 3
- #endif // (_WIN32_WINNT >= 0x0500)
- WINADVAPI
- BOOL
- WINAPI
- LogonUserA (
- IN LPSTR lpszUsername,
- IN LPSTR lpszDomain,
- IN LPSTR lpszPassword,
- IN DWORD dwLogonType,
- IN DWORD dwLogonProvider,
- OUT PHANDLE phToken
- );
- WINADVAPI
- BOOL
- WINAPI
- LogonUserW (
- IN LPWSTR lpszUsername,
- IN LPWSTR lpszDomain,
- IN LPWSTR lpszPassword,
- IN DWORD dwLogonType,
- IN DWORD dwLogonProvider,
- OUT PHANDLE phToken
- );
- #ifdef UNICODE
- #define LogonUser LogonUserW
- #else
- #define LogonUser LogonUserA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- LogonUserExA (
- IN LPSTR lpszUsername,
- IN LPSTR lpszDomain,
- IN LPSTR lpszPassword,
- IN DWORD dwLogonType,
- IN DWORD dwLogonProvider,
- OUT PHANDLE phToken OPTIONAL,
- OUT PSID *ppLogonSid OPTIONAL,
- OUT PVOID *ppProfileBuffer OPTIONAL,
- OUT LPDWORD pdwProfileLength OPTIONAL,
- OUT PQUOTA_LIMITS pQuotaLimits OPTIONAL
- );
- WINADVAPI
- BOOL
- WINAPI
- LogonUserExW (
- IN LPWSTR lpszUsername,
- IN LPWSTR lpszDomain,
- IN LPWSTR lpszPassword,
- IN DWORD dwLogonType,
- IN DWORD dwLogonProvider,
- OUT PHANDLE phToken OPTIONAL,
- OUT PSID *ppLogonSid OPTIONAL,
- OUT PVOID *ppProfileBuffer OPTIONAL,
- OUT LPDWORD pdwProfileLength OPTIONAL,
- OUT PQUOTA_LIMITS pQuotaLimits OPTIONAL
- );
- #ifdef UNICODE
- #define LogonUserEx LogonUserExW
- #else
- #define LogonUserEx LogonUserExA
- #endif // !UNICODE
- WINADVAPI
- BOOL
- WINAPI
- ImpersonateLoggedOnUser(
- IN HANDLE hToken
- );
- WINADVAPI
- BOOL
- WINAPI
- CreateProcessAsUserA (
- IN HANDLE hToken,
- IN LPCSTR lpApplicationName,
- IN LPSTR lpCommandLine,
- IN LPSECURITY_ATTRIBUTES lpProcessAttributes,
- IN LPSECURITY_ATTRIBUTES lpThreadAttributes,
- IN BOOL bInheritHandles,
- IN DWORD dwCreationFlags,
- IN LPVOID lpEnvironment,
- IN LPCSTR lpCurrentDirectory,
- IN LPSTARTUPINFOA lpStartupInfo,
- OUT LPPROCESS_INFORMATION lpProcessInformation
- );
- WINADVAPI
- BOOL
- WINAPI
- CreateProcessAsUserW (
- IN HANDLE hToken,
- IN LPCWSTR lpApplicationName,
- IN LPWSTR lpCommandLine,
- IN LPSECURITY_ATTRIBUTES lpProcessAttributes,
- IN LPSECURITY_ATTRIBUTES lpThreadAttributes,
- IN BOOL bInheritHandles,
- IN DWORD dwCreationFlags,
- IN LPVOID lpEnvironment,
- IN LPCWSTR lpCurrentDirectory,
- IN LPSTARTUPINFOW lpStartupInfo,
- OUT LPPROCESS_INFORMATION lpProcessInformation
- );
- #ifdef UNICODE
- #define CreateProcessAsUser CreateProcessAsUserW
- #else
- #define CreateProcessAsUser CreateProcessAsUserA
- #endif // !UNICODE
- #if(_WIN32_WINNT >= 0x0500)
- //
- // LogonFlags
- //
- #define LOGON_WITH_PROFILE 0x00000001
- #define LOGON_NETCREDENTIALS_ONLY 0x00000002
- WINADVAPI
- BOOL
- WINAPI
- CreateProcessWithLogonW(
- LPCWSTR lpUsername,
- LPCWSTR lpDomain,
- LPCWSTR lpPassword,
- DWORD dwLogonFlags,
- LPCWSTR lpApplicationName,
- LPWSTR lpCommandLine,
- DWORD dwCreationFlags,
- LPVOID lpEnvironment,
- LPCWSTR lpCurrentDirectory,
- LPSTARTUPINFOW lpStartupInfo,
- LPPROCESS_INFORMATION lpProcessInformation
- );
- #endif // (_WIN32_WINNT >= 0x0500)
- WINADVAPI
- BOOL
- APIENTRY
- ImpersonateAnonymousToken(
- IN HANDLE ThreadHandle
- );
- WINADVAPI
- BOOL
- WINAPI
- DuplicateTokenEx(
- IN HANDLE hExistingToken,
- IN DWORD dwDesiredAccess,
- IN LPSECURITY_ATTRIBUTES lpTokenAttributes,
- IN SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
- IN TOKEN_TYPE TokenType,
- OUT PHANDLE phNewToken);
- WINADVAPI
- BOOL
- APIENTRY
- CreateRestrictedToken(
- IN HANDLE ExistingTokenHandle,
- IN DWORD Flags,
- IN DWORD DisableSidCount,
- IN PSID_AND_ATTRIBUTES SidsToDisable OPTIONAL,
- IN DWORD DeletePrivilegeCount,
- IN PLUID_AND_ATTRIBUTES PrivilegesToDelete OPTIONAL,
- IN DWORD RestrictedSidCount,
- IN PSID_AND_ATTRIBUTES SidsToRestrict OPTIONAL,
- OUT PHANDLE NewTokenHandle
- );
- WINADVAPI
- BOOL
- WINAPI
- IsTokenRestricted(
- IN HANDLE TokenHandle
- );
- WINADVAPI
- BOOL
- WINAPI
- IsTokenUntrusted(
- IN HANDLE TokenHandle
- );
- BOOL
- APIENTRY
- CheckTokenMembership(
- IN HANDLE TokenHandle OPTIONAL,
- IN PSID SidToCheck,
- OUT PBOOL IsMember
- );
- //
- // Thread pool API's
- //
- #if (_WIN32_WINNT >= 0x0500)
- typedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK ;
- WINBASEAPI
- BOOL
- WINAPI
- RegisterWaitForSingleObject(
- PHANDLE phNewWaitObject,
- HANDLE hObject,
- WAITORTIMERCALLBACK Callback,
- PVOID Context,
- ULONG dwMilliseconds,
- ULONG dwFlags
- );
- WINBASEAPI
- HANDLE
- WINAPI
- RegisterWaitForSingleObjectEx(
- HANDLE hObject,
- WAITORTIMERCALLBACK Callback,
- PVOID Context,
- ULONG dwMilliseconds,
- ULONG dwFlags
- );
- WINBASEAPI
- BOOL
- WINAPI
- UnregisterWait(
- HANDLE WaitHandle
- );
- WINBASEAPI
- BOOL
- WINAPI
- UnregisterWaitEx(
- HANDLE WaitHandle,
- HANDLE CompletionEvent
- );
- WINBASEAPI
- BOOL
- WINAPI
- QueueUserWorkItem(
- LPTHREAD_START_ROUTINE Function,
- PVOID Context,
- ULONG Flags
- );
- WINBASEAPI
- BOOL
- WINAPI
- BindIoCompletionCallback (
- HANDLE FileHandle,
- LPOVERLAPPED_COMPLETION_ROUTINE Function,
- ULONG Flags
- );
- WINBASEAPI
- HANDLE
- WINAPI
- CreateTimerQueue(
- VOID
- );
- WINBASEAPI
- BOOL
- WINAPI
- CreateTimerQueueTimer(
- PHANDLE phNewTimer,
- HANDLE TimerQueue,
- WAITORTIMERCALLBACK Callback,
- PVOID Parameter,
- DWORD DueTime,
- DWORD Period,
- ULONG Flags
- ) ;
- WINBASEAPI
- BOOL
- WINAPI
- ChangeTimerQueueTimer(
- HANDLE TimerQueue,
- HANDLE Timer,
- ULONG DueTime,
- ULONG Period
- );
- WINBASEAPI
- BOOL
- WINAPI
- DeleteTimerQueueTimer(
- HANDLE TimerQueue,
- HANDLE Timer,
- HANDLE CompletionEvent
- );
- WINBASEAPI
- BOOL
- WINAPI
- DeleteTimerQueueEx(
- HANDLE TimerQueue,
- HANDLE CompletionEvent
- );
- WINBASEAPI
- HANDLE
- WINAPI
- SetTimerQueueTimer(
- HANDLE TimerQueue,
- WAITORTIMERCALLBACK Callback,
- PVOID Parameter,
- DWORD DueTime,
- DWORD Period,
- BOOL PreferIo
- );
- WINBASEAPI
- BOOL
- WINAPI
- CancelTimerQueueTimer(
- HANDLE TimerQueue,
- HANDLE Timer
- );
- WINBASEAPI
- BOOL
- WINAPI
- DeleteTimerQueue(
- HANDLE TimerQueue
- );
- #endif // _WIN32_WINNT
- #if(_WIN32_WINNT >= 0x0400)
- //
- // Plug-and-Play API's
- //
- #define HW_PROFILE_GUIDLEN 39 // 36-characters plus NULL terminator
- #define MAX_PROFILE_LEN 80
- #define DOCKINFO_UNDOCKED (0x1)
- #define DOCKINFO_DOCKED (0x2)
- #define DOCKINFO_USER_SUPPLIED (0x4)
- #define DOCKINFO_USER_UNDOCKED (DOCKINFO_USER_SUPPLIED | DOCKINFO_UNDOCKED)
- #define DOCKINFO_USER_DOCKED (DOCKINFO_USER_SUPPLIED | DOCKINFO_DOCKED)
- typedef struct tagHW_PROFILE_INFOA {
- DWORD dwDockInfo;
- CHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
- CHAR szHwProfileName[MAX_PROFILE_LEN];
- } HW_PROFILE_INFOA, *LPHW_PROFILE_INFOA;
- typedef struct tagHW_PROFILE_INFOW {
- DWORD dwDockInfo;
- WCHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
- WCHAR szHwProfileName[MAX_PROFILE_LEN];
- } HW_PROFILE_INFOW, *LPHW_PROFILE_INFOW;
- #ifdef UNICODE
- typedef HW_PROFILE_INFOW HW_PROFILE_INFO;
- typedef LPHW_PROFILE_INFOW LPHW_PROFILE_INFO;
- #else
- typedef HW_PROFILE_INFOA HW_PROFILE_INFO;
- typedef LPHW_PROFILE_INFOA LPHW_PROFILE_INFO;
- #endif // UNICODE
- WINADVAPI
- BOOL
- WINAPI
- GetCurrentHwProfileA (
- OUT LPHW_PROFILE_INFOA lpHwProfileInfo
- );
- WINADVAPI
- BOOL
- WINAPI
- GetCurrentHwProfileW (
- OUT LPHW_PROFILE_INFOW lpHwProfileInfo
- );
- #ifdef UNICODE
- #define GetCurrentHwProfile GetCurrentHwProfileW
- #else
- #define GetCurrentHwProfile GetCurrentHwProfileA
- #endif // !UNICODE
- #endif /* _WIN32_WINNT >= 0x0400 */
- //
- // Performance counter API's
- //
- WINBASEAPI
- BOOL
- WINAPI
- QueryPerformanceCounter(
- OUT LARGE_INTEGER *lpPerformanceCount
- );
- WINBASEAPI
- BOOL
- WINAPI
- QueryPerformanceFrequency(
- OUT LARGE_INTEGER *lpFrequency
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetVersionExA(
- IN OUT LPOSVERSIONINFOA lpVersionInformation
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetVersionExW(
- IN OUT LPOSVERSIONINFOW lpVersionInformation
- );
- #ifdef UNICODE
- #define GetVersionEx GetVersionExW
- #else
- #define GetVersionEx GetVersionExA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- VerifyVersionInfoA(
- IN LPOSVERSIONINFOEXA lpVersionInformation,
- IN DWORD dwTypeMask,
- IN DWORDLONG dwlConditionMask
- );
- WINBASEAPI
- BOOL
- WINAPI
- VerifyVersionInfoW(
- IN LPOSVERSIONINFOEXW lpVersionInformation,
- IN DWORD dwTypeMask,
- IN DWORDLONG dwlConditionMask
- );
- #ifdef UNICODE
- #define VerifyVersionInfo VerifyVersionInfoW
- #else
- #define VerifyVersionInfo VerifyVersionInfoA
- #endif // !UNICODE
- // DOS and OS/2 Compatible Error Code definitions returned by the Win32 Base
- // API functions.
- //
- #include <winerror.h>
- /* Abnormal termination codes */
- #define TC_NORMAL 0
- #define TC_HARDERR 1
- #define TC_GP_TRAP 2
- #define TC_SIGNAL 3
- #if(WINVER >= 0x0400)
- //
- // Power Management APIs
- //
- #define AC_LINE_OFFLINE 0x00
- #define AC_LINE_ONLINE 0x01
- #define AC_LINE_BACKUP_POWER 0x02
- #define AC_LINE_UNKNOWN 0xFF
- #define BATTERY_FLAG_HIGH 0x01
- #define BATTERY_FLAG_LOW 0x02
- #define BATTERY_FLAG_CRITICAL 0x04
- #define BATTERY_FLAG_CHARGING 0x08
- #define BATTERY_FLAG_NO_BATTERY 0x80
- #define BATTERY_FLAG_UNKNOWN 0xFF
- #define BATTERY_PERCENTAGE_UNKNOWN 0xFF
- #define BATTERY_LIFE_UNKNOWN 0xFFFFFFFF
- typedef struct _SYSTEM_POWER_STATUS {
- BYTE ACLineStatus;
- BYTE BatteryFlag;
- BYTE BatteryLifePercent;
- BYTE Reserved1;
- DWORD BatteryLifeTime;
- DWORD BatteryFullLifeTime;
- } SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
- BOOL
- WINAPI
- GetSystemPowerStatus(
- OUT LPSYSTEM_POWER_STATUS lpSystemPowerStatus
- );
- BOOL
- WINAPI
- SetSystemPowerState(
- IN BOOL fSuspend,
- IN BOOL fForce
- );
- #endif /* WINVER >= 0x0400 */
- #if (_WIN32_WINNT >= 0x0500)
- //
- // Very Large Memory API Subset
- //
- WINBASEAPI
- BOOL
- WINAPI
- AllocateUserPhysicalPages(
- IN HANDLE hProcess,
- IN OUT PULONG_PTR NumberOfPages,
- OUT PULONG_PTR PageArray
- );
- WINBASEAPI
- BOOL
- WINAPI
- FreeUserPhysicalPages(
- IN HANDLE hProcess,
- IN OUT PULONG_PTR NumberOfPages,
- IN PULONG_PTR PageArray
- );
- WINBASEAPI
- BOOL
- WINAPI
- MapUserPhysicalPages(
- IN PVOID VirtualAddress,
- IN ULONG_PTR NumberOfPages,
- IN PULONG_PTR PageArray OPTIONAL
- );
- WINBASEAPI
- BOOL
- WINAPI
- MapUserPhysicalPagesScatter(
- IN PVOID *VirtualAddresses,
- IN ULONG_PTR NumberOfPages,
- IN PULONG_PTR PageArray OPTIONAL
- );
- WINBASEAPI
- HANDLE
- WINAPI
- CreateJobObjectA(
- IN LPSECURITY_ATTRIBUTES lpJobAttributes,
- IN LPCSTR lpName
- );
- WINBASEAPI
- HANDLE
- WINAPI
- CreateJobObjectW(
- IN LPSECURITY_ATTRIBUTES lpJobAttributes,
- IN LPCWSTR lpName
- );
- #ifdef UNICODE
- #define CreateJobObject CreateJobObjectW
- #else
- #define CreateJobObject CreateJobObjectA
- #endif // !UNICODE
- WINBASEAPI
- HANDLE
- WINAPI
- OpenJobObjectA(
- IN DWORD dwDesiredAccess,
- IN BOOL bInheritHandle,
- IN LPCSTR lpName
- );
- WINBASEAPI
- HANDLE
- WINAPI
- OpenJobObjectW(
- IN DWORD dwDesiredAccess,
- IN BOOL bInheritHandle,
- IN LPCWSTR lpName
- );
- #ifdef UNICODE
- #define OpenJobObject OpenJobObjectW
- #else
- #define OpenJobObject OpenJobObjectA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- AssignProcessToJobObject(
- IN HANDLE hJob,
- IN HANDLE hProcess
- );
- WINBASEAPI
- BOOL
- WINAPI
- TerminateJobObject(
- IN HANDLE hJob,
- IN UINT uExitCode
- );
- WINBASEAPI
- BOOL
- WINAPI
- QueryInformationJobObject(
- IN HANDLE hJob,
- IN JOBOBJECTINFOCLASS JobObjectInformationClass,
- OUT LPVOID lpJobObjectInformation,
- IN DWORD cbJobObjectInformationLength,
- OUT LPDWORD lpReturnLength
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetInformationJobObject(
- IN HANDLE hJob,
- IN JOBOBJECTINFOCLASS JobObjectInformationClass,
- IN LPVOID lpJobObjectInformation,
- IN DWORD cbJobObjectInformationLength
- );
- WINBASEAPI
- BOOL
- WINAPI
- IsProcessInJob (
- IN HANDLE ProcessHandle,
- IN HANDLE JobHandle,
- OUT PBOOL Result
- );
- WINBASEAPI
- BOOL
- WINAPI
- CreateJobSet (
- IN ULONG NumJob,
- IN PJOB_SET_ARRAY UserJobSet,
- IN ULONG Flags);
- WINBASEAPI
- PVOID
- WINAPI
- AddVectoredExceptionHandler(
- IN ULONG FirstHandler,
- IN PVECTORED_EXCEPTION_HANDLER VectoredHandler
- );
- WINBASEAPI
- ULONG
- WINAPI
- RemoveVectoredExceptionHandler(
- IN PVOID VectoredHandlerHandle
- );
- //
- // New Volume Mount Point API.
- //
- WINBASEAPI
- HANDLE
- WINAPI
- FindFirstVolumeA(
- LPSTR lpszVolumeName,
- DWORD cchBufferLength
- );
- WINBASEAPI
- HANDLE
- WINAPI
- FindFirstVolumeW(
- LPWSTR lpszVolumeName,
- DWORD cchBufferLength
- );
- #ifdef UNICODE
- #define FindFirstVolume FindFirstVolumeW
- #else
- #define FindFirstVolume FindFirstVolumeA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- FindNextVolumeA(
- HANDLE hFindVolume,
- LPSTR lpszVolumeName,
- DWORD cchBufferLength
- );
- WINBASEAPI
- BOOL
- WINAPI
- FindNextVolumeW(
- HANDLE hFindVolume,
- LPWSTR lpszVolumeName,
- DWORD cchBufferLength
- );
- #ifdef UNICODE
- #define FindNextVolume FindNextVolumeW
- #else
- #define FindNextVolume FindNextVolumeA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- FindVolumeClose(
- HANDLE hFindVolume
- );
- WINBASEAPI
- HANDLE
- WINAPI
- FindFirstVolumeMountPointA(
- LPCSTR lpszRootPathName,
- LPSTR lpszVolumeMountPoint,
- DWORD cchBufferLength
- );
- WINBASEAPI
- HANDLE
- WINAPI
- FindFirstVolumeMountPointW(
- LPCWSTR lpszRootPathName,
- LPWSTR lpszVolumeMountPoint,
- DWORD cchBufferLength
- );
- #ifdef UNICODE
- #define FindFirstVolumeMountPoint FindFirstVolumeMountPointW
- #else
- #define FindFirstVolumeMountPoint FindFirstVolumeMountPointA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- FindNextVolumeMountPointA(
- HANDLE hFindVolumeMountPoint,
- LPSTR lpszVolumeMountPoint,
- DWORD cchBufferLength
- );
- WINBASEAPI
- BOOL
- WINAPI
- FindNextVolumeMountPointW(
- HANDLE hFindVolumeMountPoint,
- LPWSTR lpszVolumeMountPoint,
- DWORD cchBufferLength
- );
- #ifdef UNICODE
- #define FindNextVolumeMountPoint FindNextVolumeMountPointW
- #else
- #define FindNextVolumeMountPoint FindNextVolumeMountPointA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- FindVolumeMountPointClose(
- HANDLE hFindVolumeMountPoint
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetVolumeMountPointA(
- LPCSTR lpszVolumeMountPoint,
- LPCSTR lpszVolumeName
- );
- WINBASEAPI
- BOOL
- WINAPI
- SetVolumeMountPointW(
- LPCWSTR lpszVolumeMountPoint,
- LPCWSTR lpszVolumeName
- );
- #ifdef UNICODE
- #define SetVolumeMountPoint SetVolumeMountPointW
- #else
- #define SetVolumeMountPoint SetVolumeMountPointA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- DeleteVolumeMountPointA(
- LPCSTR lpszVolumeMountPoint
- );
- WINBASEAPI
- BOOL
- WINAPI
- DeleteVolumeMountPointW(
- LPCWSTR lpszVolumeMountPoint
- );
- #ifdef UNICODE
- #define DeleteVolumeMountPoint DeleteVolumeMountPointW
- #else
- #define DeleteVolumeMountPoint DeleteVolumeMountPointA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- GetVolumeNameForVolumeMountPointA(
- LPCSTR lpszVolumeMountPoint,
- LPSTR lpszVolumeName,
- DWORD cchBufferLength
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetVolumeNameForVolumeMountPointW(
- LPCWSTR lpszVolumeMountPoint,
- LPWSTR lpszVolumeName,
- DWORD cchBufferLength
- );
- #ifdef UNICODE
- #define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointW
- #else
- #define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- GetVolumePathNameA(
- LPCSTR lpszFileName,
- LPSTR lpszVolumePathName,
- DWORD cchBufferLength
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetVolumePathNameW(
- LPCWSTR lpszFileName,
- LPWSTR lpszVolumePathName,
- DWORD cchBufferLength
- );
- #ifdef UNICODE
- #define GetVolumePathName GetVolumePathNameW
- #else
- #define GetVolumePathName GetVolumePathNameA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- GetVolumePathNamesForVolumeNameA(
- LPCSTR lpszVolumeName,
- LPSTR lpszVolumePathNames,
- DWORD cchBufferLength,
- PDWORD lpcchReturnLength
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetVolumePathNamesForVolumeNameW(
- LPCWSTR lpszVolumeName,
- LPWSTR lpszVolumePathNames,
- DWORD cchBufferLength,
- PDWORD lpcchReturnLength
- );
- #ifdef UNICODE
- #define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameW
- #else
- #define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameA
- #endif // !UNICODE
- #endif
- #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ENABLED
- #define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID (0x00000001)
- #define ACTCTX_FLAG_LANGID_VALID (0x00000002)
- #define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID (0x00000004)
- #define ACTCTX_FLAG_RESOURCE_NAME_VALID (0x00000008)
- #define ACTCTX_FLAG_SET_PROCESS_DEFAULT (0x00000010)
- #define ACTCTX_FLAG_APPLICATION_NAME_VALID (0x00000020)
- #define ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF (0x00000040)
- #define ACTCTX_FLAG_HMODULE_VALID (0x00000080)
- typedef struct tagACTCTXA {
- ULONG cbSize;
- DWORD dwFlags;
- LPCSTR lpSource;
- USHORT wProcessorArchitecture;
- LANGID wLangId;
- LPCSTR lpAssemblyDirectory;
- LPCSTR lpResourceName;
- LPCSTR lpApplicationName;
- HMODULE hModule;
- } ACTCTXA, *PACTCTXA;
- typedef struct tagACTCTXW {
- ULONG cbSize;
- DWORD dwFlags;
- LPCWSTR lpSource;
- USHORT wProcessorArchitecture;
- LANGID wLangId;
- LPCWSTR lpAssemblyDirectory;
- LPCWSTR lpResourceName;
- LPCWSTR lpApplicationName;
- HMODULE hModule;
- } ACTCTXW, *PACTCTXW;
- #ifdef UNICODE
- typedef ACTCTXW ACTCTX;
- typedef PACTCTXW PACTCTX;
- #else
- typedef ACTCTXA ACTCTX;
- typedef PACTCTXA PACTCTX;
- #endif // UNICODE
- typedef const ACTCTXA *PCACTCTXA;
- typedef const ACTCTXW *PCACTCTXW;
- #ifdef UNICODE
- typedef ACTCTXW ACTCTX;
- typedef PCACTCTXW PCACTCTX;
- #else
- typedef ACTCTXA ACTCTX;
- typedef PCACTCTXA PCACTCTX;
- #endif // UNICODE
- #endif
- #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100)
- WINBASEAPI
- HANDLE
- WINAPI
- CreateActCtxA(
- PCACTCTXA pActCtx
- );
- WINBASEAPI
- HANDLE
- WINAPI
- CreateActCtxW(
- PCACTCTXW pActCtx
- );
- #ifdef UNICODE
- #define CreateActCtx CreateActCtxW
- #else
- #define CreateActCtx CreateActCtxA
- #endif // !UNICODE
- WINBASEAPI
- VOID
- WINAPI
- AddRefActCtx(
- HANDLE hActCtx
- );
- WINBASEAPI
- VOID
- WINAPI
- ReleaseActCtx(
- HANDLE hActCtx
- );
- WINBASEAPI
- BOOL
- WINAPI
- ZombifyActCtx(
- HANDLE hActCtx
- );
- WINBASEAPI
- BOOL
- WINAPI
- ActivateActCtx(
- HANDLE hActCtx,
- ULONG_PTR *lpCookie
- );
- #define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION (0x00000001)
- WINBASEAPI
- BOOL
- WINAPI
- DeactivateActCtx(
- DWORD dwFlags,
- ULONG_PTR ulCookie
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetCurrentActCtx(
- HANDLE *lphActCtx);
- #endif
- #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ENABLED
- typedef struct tagACTCTX_SECTION_KEYED_DATA_2600 {
- ULONG cbSize;
- ULONG ulDataFormatVersion;
- PVOID lpData;
- ULONG ulLength;
- PVOID lpSectionGlobalData;
- ULONG ulSectionGlobalDataLength;
- PVOID lpSectionBase;
- ULONG ulSectionTotalLength;
- HANDLE hActCtx;
- ULONG ulAssemblyRosterIndex;
- } ACTCTX_SECTION_KEYED_DATA_2600, *PACTCTX_SECTION_KEYED_DATA_2600;
- typedef const ACTCTX_SECTION_KEYED_DATA_2600 * PCACTCTX_SECTION_KEYED_DATA_2600;
- typedef struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA {
- PVOID lpInformation;
- PVOID lpSectionBase;
- ULONG ulSectionLength;
- PVOID lpSectionGlobalDataBase;
- ULONG ulSectionGlobalDataLength;
- } ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, *PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
- typedef const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA *PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
- typedef struct tagACTCTX_SECTION_KEYED_DATA {
- ULONG cbSize;
- ULONG ulDataFormatVersion;
- PVOID lpData;
- ULONG ulLength;
- PVOID lpSectionGlobalData;
- ULONG ulSectionGlobalDataLength;
- PVOID lpSectionBase;
- ULONG ulSectionTotalLength;
- HANDLE hActCtx;
- ULONG ulAssemblyRosterIndex;
- // 2600 stops here
- ULONG ulFlags;
- ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata;
- } ACTCTX_SECTION_KEYED_DATA, *PACTCTX_SECTION_KEYED_DATA;
- typedef const ACTCTX_SECTION_KEYED_DATA * PCACTCTX_SECTION_KEYED_DATA;
- #define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX (0x00000001)
- #define FIND_ACTCTX_SECTION_KEY_RETURN_FLAGS (0x00000002)
- #define FIND_ACTCTX_SECTION_KEY_RETURN_ASSEMBLY_METADATA (0x00000004)
- #endif
- #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100)
- WINBASEAPI
- BOOL
- WINAPI
- FindActCtxSectionStringA(
- DWORD dwFlags,
- const GUID *lpExtensionGuid,
- ULONG ulSectionId,
- LPCSTR lpStringToFind,
- PACTCTX_SECTION_KEYED_DATA ReturnedData
- );
- WINBASEAPI
- BOOL
- WINAPI
- FindActCtxSectionStringW(
- DWORD dwFlags,
- const GUID *lpExtensionGuid,
- ULONG ulSectionId,
- LPCWSTR lpStringToFind,
- PACTCTX_SECTION_KEYED_DATA ReturnedData
- );
- #ifdef UNICODE
- #define FindActCtxSectionString FindActCtxSectionStringW
- #else
- #define FindActCtxSectionString FindActCtxSectionStringA
- #endif // !UNICODE
- WINBASEAPI
- BOOL
- WINAPI
- FindActCtxSectionGuid(
- DWORD dwFlags,
- const GUID *lpExtensionGuid,
- ULONG ulSectionId,
- const GUID *lpGuidToFind,
- PACTCTX_SECTION_KEYED_DATA ReturnedData
- );
- #endif
- #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ENABLED
- #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */
- #if !defined(ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED)
- typedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION {
- HANDLE hActCtx;
- DWORD dwFlags;
- } ACTIVATION_CONTEXT_BASIC_INFORMATION, *PACTIVATION_CONTEXT_BASIC_INFORMATION;
- typedef const struct _ACTIVATION_CONTEXT_BASIC_INFORMATION *PCACTIVATION_CONTEXT_BASIC_INFORMATION;
- #define ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED 1
- #endif // !defined(ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED)
- #endif
- #define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX (0x00000004)
- #define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE (0x00000008)
- #define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS (0x00000010)
- #define QUERY_ACTCTX_FLAG_NO_ADDREF (0x80000000)
- #endif
- #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100)
- //
- // switch (ulInfoClass)
- //
- // case ActivationContextBasicInformation:
- // pvSubInstance == NULL
- // pvBuffer is of type PACTIVATION_CONTEXT_BASIC_INFORMATION
- //
- // case ActivationContextDetailedInformation:
- // pvSubInstance == NULL
- // pvBuffer is of type PACTIVATION_CONTEXT_DETAILED_INFORMATION
- //
- // case AssemblyDetailedInformationInActivationContext:
- // pvSubInstance is of type PULONG
- // *pvSubInstance < ACTIVATION_CONTEXT_DETAILED_INFORMATION::ulAssemblyCount
- // pvBuffer is of type PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION
- //
- // case FileInformationInAssemblyOfAssemblyInActivationContext:
- // pvSubInstance is of type PACTIVATION_CONTEXT_QUERY_INDEX
- // pvSubInstance->ulAssemblyIndex < ACTIVATION_CONTEXT_DETAILED_INFORMATION::ulAssemblyCount
- // pvSubInstance->ulFileIndexInAssembly < ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION::ulFileCount
- // pvBuffer is of type PASSEMBLY_FILE_DETAILED_INFORMATION
- //
- // String are placed after the structs.
- //
- WINBASEAPI
- BOOL
- WINAPI
- QueryActCtxW(
- IN DWORD dwFlags,
- IN HANDLE hActCtx,
- IN PVOID pvSubInstance,
- IN ULONG ulInfoClass,
- OUT PVOID pvBuffer,
- IN SIZE_T cbBuffer OPTIONAL,
- OUT SIZE_T *pcbWrittenOrRequired OPTIONAL
- );
- typedef BOOL (WINAPI * PQUERYACTCTXW_FUNC)(
- IN DWORD dwFlags,
- IN HANDLE hActCtx,
- IN PVOID pvSubInstance,
- IN ULONG ulInfoClass,
- OUT PVOID pvBuffer,
- IN SIZE_T cbBuffer OPTIONAL,
- OUT SIZE_T *pcbWrittenOrRequired OPTIONAL
- );
- #endif // (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0x0100)
- WINBASEAPI
- BOOL
- WINAPI
- ProcessIdToSessionId(
- IN DWORD dwProcessId,
- OUT DWORD *pSessionId
- );
- #if _WIN32_WINNT >= 0x0501
- WINBASEAPI
- DWORD
- WINAPI
- WTSGetActiveConsoleSessionId();
- WINBASEAPI
- BOOL
- WINAPI
- IsWow64Process(
- HANDLE hProcess,
- PBOOL Wow64Process
- );
- #endif // (_WIN32_WINNT >= 0x0501)
- //
- // NUMA Information routines.
- //
- WINBASEAPI
- BOOL
- WINAPI
- GetNumaHighestNodeNumber(
- PULONG HighestNodeNumber
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetNumaProcessorNode(
- UCHAR Processor,
- PUCHAR NodeNumber
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetNumaNodeProcessorMask(
- UCHAR Node,
- PULONGLONG ProcessorMask
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetNumaProcessorMap(
- PSYSTEM_NUMA_INFORMATION Map,
- ULONG Length,
- PULONG ReturnedLength
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetNumaAvailableMemory(
- PSYSTEM_NUMA_INFORMATION Memory,
- ULONG Length,
- PULONG ReturnedLength
- );
- WINBASEAPI
- BOOL
- WINAPI
- GetNumaAvailableMemoryNode(
- UCHAR Node,
- PULONGLONG AvailableBytes
- );
- WINBASEAPI
- ULONGLONG
- WINAPI
- NumaVirtualQueryNode(
- IN ULONG NumberOfRanges,
- IN PULONG_PTR RangeList,
- OUT PULONG_PTR VirtualPageAndNode,
- IN SIZE_T MaximumOutputLength
- );
- #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */
- #if ISOLATION_AWARE_ENABLED
- #include "winbase.inl"
- #endif /* ISOLATION_AWARE_ENABLED */
- #endif /* RC */
- #ifdef __cplusplus
- }
- #endif
- #endif // _WINBASE_
|