struct.pp 164 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830
  1. {
  2. $Id$
  3. This file is part of the Free Pascal run time library.
  4. This unit contains the record definition for the Win32 API
  5. Copyright (c) 1993,97 by Florian KLaempfl,
  6. member of the Free Pascal development team.
  7. See the file COPYING.FPC, included in this distribution,
  8. for details about the copyright.
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  12. **********************************************************************}
  13. {$ifndef windows_include_files}
  14. {$define read_interface}
  15. {$define read_implementation}
  16. {$endif not windows_include_files}
  17. {$ifndef windows_include_files}
  18. unit struct;
  19. { Automatically converted by H2PAS.EXE from structures.h
  20. Utility made by Florian Klaempfl 25th-28th september 96
  21. Improvements made by Mark A. Malakanov 22nd-25th may 97
  22. Further improvements by Michael Van Canneyt, April 1998
  23. define handling and error recovery by Pierre Muller, June 1998 }
  24. interface
  25. uses
  26. base,defines;
  27. {$endif not windows_include_files}
  28. {$ifdef read_interface}
  29. { C default packing is dword }
  30. {$PACKRECORDS 4}
  31. {
  32. Structures.h
  33. Declarations for all the Windows32 API Structures
  34. Copyright (C) 1996 Free Software Foundation, Inc.
  35. Author: Scott Christley <[email protected]>
  36. Date: 1996
  37. This file is part of the Windows32 API Library.
  38. This library is free software; you can redistribute it and/or
  39. modify it under the terms of the GNU Library General Public
  40. License as published by the Free Software Foundation; either
  41. version 2 of the License, or (at your option) any later version.
  42. This library is distributed in the hope that it will be useful,
  43. but WITHOUT ANY WARRANTY; without even the implied warranty of
  44. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  45. Library General Public License for more details.
  46. If you are interested in a warranty or support for this source code,
  47. contact Scott Christley <[email protected]> for more information.
  48. You should have received a copy of the GNU Library General Public
  49. License along with this library; see the file COPYING.LIB.
  50. If not, write to the Free Software Foundation,
  51. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  52. }
  53. {$ifndef _GNU_H_WINDOWS32_STRUCTURES}
  54. {$define _GNU_H_WINDOWS32_STRUCTURES}
  55. { C++ extern C conditionnal removed }
  56. { __cplusplus }
  57. type
  58. { WARNING
  59. the variable argument list
  60. is not implemented for FPC
  61. va_list is just a dummy record }
  62. va_list = record
  63. end;
  64. ABC = record
  65. abcA : longint;
  66. abcB : UINT;
  67. abcC : longint;
  68. end;
  69. LPABC = ^ABC;
  70. _ABC = ABC;
  71. ABCFLOAT = record
  72. abcfA : FLOAT;
  73. abcfB : FLOAT;
  74. abcfC : FLOAT;
  75. end;
  76. LPABCFLOAT = ^ABCFLOAT;
  77. _ABCFLOAT = ABCFLOAT;
  78. ACCEL = record
  79. fVirt : BYTE;
  80. key : WORD;
  81. cmd : WORD;
  82. end;
  83. LPACCEL = ^ACCEL;
  84. tagACCEL = ACCEL;
  85. ACE_HEADER = record
  86. AceType : BYTE;
  87. AceFlags : BYTE;
  88. AceSize : WORD;
  89. end;
  90. _ACE_HEADER = ACE_HEADER;
  91. ACCESS_MASK = DWORD;
  92. REGSAM = ACCESS_MASK;
  93. ACCESS_ALLOWED_ACE = record
  94. Header : ACE_HEADER;
  95. Mask : ACCESS_MASK;
  96. SidStart : DWORD;
  97. end;
  98. _ACCESS_ALLOWED_ACE = ACCESS_ALLOWED_ACE;
  99. ACCESS_DENIED_ACE = record
  100. Header : ACE_HEADER;
  101. Mask : ACCESS_MASK;
  102. SidStart : DWORD;
  103. end;
  104. _ACCESS_DENIED_ACE = ACCESS_DENIED_ACE;
  105. ACCESSTIMEOUT = record
  106. cbSize : UINT;
  107. dwFlags : DWORD;
  108. iTimeOutMSec : DWORD;
  109. end;
  110. tagACCESSTIMEOUT = ACCESSTIMEOUT;
  111. ACL = record
  112. AclRevision : BYTE;
  113. Sbz1 : BYTE;
  114. AclSize : WORD;
  115. AceCount : WORD;
  116. Sbz2 : WORD;
  117. end;
  118. PACL = ^ACL;
  119. _ACL = ACL;
  120. ACL_REVISION_INFORMATION = record
  121. AclRevision : DWORD;
  122. end;
  123. _ACL_REVISION_INFORMATION = ACL_REVISION_INFORMATION;
  124. ACL_SIZE_INFORMATION = record
  125. AceCount : DWORD;
  126. AclBytesInUse : DWORD;
  127. AclBytesFree : DWORD;
  128. end;
  129. _ACL_SIZE_INFORMATION = ACL_SIZE_INFORMATION;
  130. ACTION_HEADER = record
  131. transport_id : ULONG;
  132. action_code : USHORT;
  133. reserved : USHORT;
  134. end;
  135. _ACTION_HEADER = ACTION_HEADER;
  136. ADAPTER_STATUS = record
  137. adapter_address : array[0..5] of UCHAR;
  138. rev_major : UCHAR;
  139. reserved0 : UCHAR;
  140. adapter_type : UCHAR;
  141. rev_minor : UCHAR;
  142. duration : WORD;
  143. frmr_recv : WORD;
  144. frmr_xmit : WORD;
  145. iframe_recv_err : WORD;
  146. xmit_aborts : WORD;
  147. xmit_success : DWORD;
  148. recv_success : DWORD;
  149. iframe_xmit_err : WORD;
  150. recv_buff_unavail : WORD;
  151. t1_timeouts : WORD;
  152. ti_timeouts : WORD;
  153. reserved1 : DWORD;
  154. free_ncbs : WORD;
  155. max_cfg_ncbs : WORD;
  156. max_ncbs : WORD;
  157. xmit_buf_unavail : WORD;
  158. max_dgram_size : WORD;
  159. pending_sess : WORD;
  160. max_cfg_sess : WORD;
  161. max_sess : WORD;
  162. max_sess_pkt_size : WORD;
  163. name_count : WORD;
  164. end;
  165. _ADAPTER_STATUS = ADAPTER_STATUS;
  166. ADDJOB_INFO_1 = record
  167. Path : LPTSTR;
  168. JobId : DWORD;
  169. end;
  170. _ADDJOB_INFO_1 = ADDJOB_INFO_1;
  171. ANIMATIONINFO = record
  172. cbSize : UINT;
  173. iMinAnimate : longint;
  174. end;
  175. LPANIMATIONINFO = ^ANIMATIONINFO;
  176. tagANIMATIONINFO = ANIMATIONINFO;
  177. RECT = record
  178. left : LONG;
  179. top : LONG;
  180. right : LONG;
  181. bottom : LONG;
  182. end;
  183. LPRECT = ^RECT;
  184. PRECT = ^RECT;
  185. _RECT = RECT;
  186. RECTL = record
  187. left : LONG;
  188. top : LONG;
  189. right : LONG;
  190. bottom : LONG;
  191. end;
  192. _RECTL = RECTL;
  193. APPBARDATA = record
  194. cbSize : DWORD;
  195. hWnd : HWND;
  196. uCallbackMessage : UINT;
  197. uEdge : UINT;
  198. rc : RECT;
  199. lParam : LPARAM;
  200. end;
  201. PAPPBARDATA = ^APPBARDATA;
  202. _AppBarData = APPBARDATA;
  203. BITMAP = record
  204. bmType : LONG;
  205. bmWidth : LONG;
  206. bmHeight : LONG;
  207. bmWidthBytes : LONG;
  208. bmPlanes : WORD;
  209. bmBitsPixel : WORD;
  210. bmBits : LPVOID;
  211. end;
  212. PBITMAP = ^BITMAP;
  213. NPBITMAP = ^BITMAP;
  214. LPBITMAP = ^BITMAP;
  215. tagBITMAP = BITMAP;
  216. BITMAPCOREHEADER = record
  217. bcSize : DWORD;
  218. bcWidth : WORD;
  219. bcHeight : WORD;
  220. bcPlanes : WORD;
  221. bcBitCount : WORD;
  222. end;
  223. tagBITMAPCOREHEADER = BITMAPCOREHEADER;
  224. RGBTRIPLE = record
  225. rgbtBlue : BYTE;
  226. rgbtGreen : BYTE;
  227. rgbtRed : BYTE;
  228. end;
  229. tagRGBTRIPLE = RGBTRIPLE;
  230. BITMAPCOREINFO = record
  231. bmciHeader : BITMAPCOREHEADER;
  232. bmciColors : array[0..0] of RGBTRIPLE;
  233. end;
  234. PBITMAPCOREINFO = ^BITMAPCOREINFO;
  235. LPBITMAPCOREINFO = ^BITMAPCOREINFO;
  236. _BITMAPCOREINFO = BITMAPCOREINFO;
  237. (* error
  238. WORD bfReserved1;
  239. WORD bfReserved2;
  240. in declarator_list *)
  241. BITMAPINFOHEADER = record
  242. biSize : DWORD;
  243. biWidth : LONG;
  244. biHeight : LONG;
  245. biPlanes : WORD;
  246. biBitCount : WORD;
  247. biCompression : DWORD;
  248. biSizeImage : DWORD;
  249. biXPelsPerMeter : LONG;
  250. biYPelsPerMeter : LONG;
  251. biClrUsed : DWORD;
  252. biClrImportant : DWORD;
  253. end;
  254. LPBITMAPINFOHEADER = ^BITMAPINFOHEADER;
  255. PBITMAPINFO = ^BITMAPINFOHEADER;
  256. tagBITMAPINFOHEADER = BITMAPINFOHEADER;
  257. RGBQUAD = record
  258. rgbBlue : BYTE;
  259. rgbGreen : BYTE;
  260. rgbRed : BYTE;
  261. rgbReserved : BYTE;
  262. end;
  263. tagRGBQUAD = RGBQUAD;
  264. BITMAPINFO = record
  265. bmiHeader : BITMAPINFOHEADER;
  266. bmiColors : array[0..0] of RGBQUAD;
  267. end;
  268. LPBITMAPINFO = ^BITMAPINFO;
  269. tagBITMAPINFO = BITMAPINFO;
  270. FXPT2DOT30 = longint;
  271. LPFXPT2DOT30 = ^FXPT2DOT30;
  272. CIEXYZ = record
  273. ciexyzX : FXPT2DOT30;
  274. ciexyzY : FXPT2DOT30;
  275. ciexyzZ : FXPT2DOT30;
  276. end;
  277. tagCIEXYZ = CIEXYZ;
  278. LPCIEXYZ = ^CIEXYZ;
  279. CIEXYZTRIPLE = record
  280. ciexyzRed : CIEXYZ;
  281. ciexyzGreen : CIEXYZ;
  282. ciexyzBlue : CIEXYZ;
  283. end;
  284. tagCIEXYZTRIPLE = CIEXYZTRIPLE;
  285. LPCIEXYZTRIPLE = ^CIEXYZTRIPLE;
  286. BITMAPV4HEADER = record
  287. bV4Size : DWORD;
  288. bV4Width : LONG;
  289. bV4Height : LONG;
  290. bV4Planes : WORD;
  291. bV4BitCount : WORD;
  292. bV4V4Compression : DWORD;
  293. bV4SizeImage : DWORD;
  294. bV4XPelsPerMeter : LONG;
  295. bV4YPelsPerMeter : LONG;
  296. bV4ClrUsed : DWORD;
  297. bV4ClrImportant : DWORD;
  298. bV4RedMask : DWORD;
  299. bV4GreenMask : DWORD;
  300. bV4BlueMask : DWORD;
  301. bV4AlphaMask : DWORD;
  302. bV4CSType : DWORD;
  303. bV4Endpoints : CIEXYZTRIPLE;
  304. bV4GammaRed : DWORD;
  305. bV4GammaGreen : DWORD;
  306. bV4GammaBlue : DWORD;
  307. end;
  308. LPBITMAPV4HEADER = ^BITMAPV4HEADER;
  309. PBITMAPV4HEADER = ^BITMAPV4HEADER;
  310. BLOB = record
  311. cbSize : ULONG;
  312. pBlobData : ^BYTE;
  313. end;
  314. _BLOB = BLOB;
  315. SHITEMID = record
  316. cb : USHORT;
  317. abID : array[0..0] of BYTE;
  318. end;
  319. LPSHITEMID = ^SHITEMID;
  320. _SHITEMID = SHITEMID;
  321. (* Const before type ignored *)
  322. LPCSHITEMID = ^SHITEMID;
  323. ITEMIDLIST = record
  324. mkid : SHITEMID;
  325. end;
  326. LPITEMIDLIST = ^ITEMIDLIST;
  327. _ITEMIDLIST = ITEMIDLIST;
  328. (* Const before type ignored *)
  329. LPCITEMIDLIST = ^ITEMIDLIST;
  330. BROWSEINFO = record
  331. hwndOwner : HWND;
  332. pidlRoot : LPCITEMIDLIST;
  333. pszDisplayName : LPSTR;
  334. lpszTitle : LPCSTR;
  335. ulFlags : UINT;
  336. lpfn : BFFCALLBACK;
  337. lParam : LPARAM;
  338. iImage : longint;
  339. end;
  340. PBROWSEINFO = ^BROWSEINFO;
  341. LPBROWSEINFO = ^BROWSEINFO;
  342. _browseinfo = BROWSEINFO;
  343. FILETIME = record
  344. dwLowDateTime : DWORD;
  345. dwHighDateTime : DWORD;
  346. end;
  347. LPFILETIME = ^FILETIME;
  348. PFILETIME = ^FILETIME;
  349. _FILETIME = FILETIME;
  350. BY_HANDLE_FILE_INFORMATION = record
  351. dwFileAttributes : DWORD;
  352. ftCreationTime : FILETIME;
  353. ftLastAccessTime : FILETIME;
  354. ftLastWriteTime : FILETIME;
  355. dwVolumeSerialNumber : DWORD;
  356. nFileSizeHigh : DWORD;
  357. nFileSizeLow : DWORD;
  358. nNumberOfLinks : DWORD;
  359. nFileIndexHigh : DWORD;
  360. nFileIndexLow : DWORD;
  361. end;
  362. LPBY_HANDLE_FILE_INFORMATION = ^BY_HANDLE_FILE_INFORMATION;
  363. _BY_HANDLE_FILE_INFORMATION = BY_HANDLE_FILE_INFORMATION;
  364. FIXED = record
  365. fract : WORD;
  366. value : integer;
  367. end;
  368. _FIXED = FIXED;
  369. POINT = record
  370. x : LONG;
  371. y : LONG;
  372. end;
  373. LPPOINT = ^POINT;
  374. PPOINT = ^POINT;
  375. tagPOINT = POINT;
  376. POINTFX = record
  377. x : FIXED;
  378. y : FIXED;
  379. end;
  380. tagPOINTFX = POINTFX;
  381. POINTL = record
  382. x : LONG;
  383. y : LONG;
  384. end;
  385. _POINTL = POINTL;
  386. POINTS = record
  387. x : SHORT;
  388. y : SHORT;
  389. end;
  390. tagPOINTS = POINTS;
  391. CANDIDATEFORM = record
  392. dwIndex : DWORD;
  393. dwStyle : DWORD;
  394. ptCurrentPos : POINT;
  395. rcArea : RECT;
  396. end;
  397. LPCANDIDATEFORM = ^CANDIDATEFORM;
  398. _tagCANDIDATEFORM = CANDIDATEFORM;
  399. CANDIDATELIST = record
  400. dwSize : DWORD;
  401. dwStyle : DWORD;
  402. dwCount : DWORD;
  403. dwSelection : DWORD;
  404. dwPageStart : DWORD;
  405. dwPageSize : DWORD;
  406. dwOffset : array[0..0] of DWORD;
  407. end;
  408. LPCANDIDATELIST = ^CANDIDATELIST;
  409. _tagCANDIDATELIST = CANDIDATELIST;
  410. CREATESTRUCT = record
  411. lpCreateParams : LPVOID;
  412. hInstance : HINSTANCE;
  413. hMenu : HMENU;
  414. hwndParent : HWND;
  415. cy : longint;
  416. cx : longint;
  417. y : longint;
  418. x : longint;
  419. style : LONG;
  420. lpszName : LPCTSTR;
  421. lpszClass : LPCTSTR;
  422. dwExStyle : DWORD;
  423. end;
  424. LPCREATESTRUCT = ^CREATESTRUCT;
  425. tagCREATESTRUCT = CREATESTRUCT;
  426. CBT_CREATEWND = record
  427. lpcs : LPCREATESTRUCT;
  428. hwndInsertAfter : HWND;
  429. end;
  430. tagCBT_CREATEWND = CBT_CREATEWND;
  431. CBTACTIVATESTRUCT = record
  432. fMouse : WINBOOL;
  433. hWndActive : HWND;
  434. end;
  435. tagCBTACTIVATESTRUCT = CBTACTIVATESTRUCT;
  436. CHAR_INFO = record
  437. Char : record
  438. case longint of
  439. 0 : ( UnicodeChar : WCHAR );
  440. 1 : ( AsciiChar : CHAR );
  441. end;
  442. Attributes : WORD;
  443. end;
  444. PCHAR_INFO = ^CHAR_INFO;
  445. _CHAR_INFO = CHAR_INFO;
  446. CHARFORMAT = record
  447. cbSize : UINT;
  448. dwMask : DWORD;
  449. dwEffects : DWORD;
  450. yHeight : LONG;
  451. yOffset : LONG;
  452. crTextColor : COLORREF;
  453. bCharSet : BYTE;
  454. bPitchAndFamily : BYTE;
  455. szFaceName : array[0..(LF_FACESIZE)-1] of TCHAR;
  456. end;
  457. _charformat = CHARFORMAT;
  458. CHARRANGE = record
  459. cpMin : LONG;
  460. cpMax : LONG;
  461. end;
  462. _charrange = CHARRANGE;
  463. CHARSET = record
  464. aflBlock : array[0..2] of DWORD;
  465. flLang : DWORD;
  466. end;
  467. tagCHARSET = CHARSET;
  468. FONTSIGNATURE = record
  469. fsUsb : array[0..3] of DWORD;
  470. fsCsb : array[0..1] of DWORD;
  471. end;
  472. LPFONTSIGNATURE = ^FONTSIGNATURE;
  473. tagFONTSIGNATURE = FONTSIGNATURE;
  474. CHARSETINFO = record
  475. ciCharset : UINT;
  476. ciACP : UINT;
  477. fs : FONTSIGNATURE;
  478. end;
  479. LPCHARSETINFO = ^CHARSETINFO;
  480. {CHOOSECOLOR = record confilcts with function ChooseColor }
  481. TCHOOSECOLOR = record
  482. lStructSize : DWORD;
  483. hwndOwner : HWND;
  484. hInstance : HWND;
  485. rgbResult : COLORREF;
  486. lpCustColors : ^COLORREF;
  487. Flags : DWORD;
  488. lCustData : LPARAM;
  489. lpfnHook : LPCCHOOKPROC;
  490. lpTemplateName : LPCTSTR;
  491. end;
  492. LPCHOOSECOLOR = ^TCHOOSECOLOR;
  493. LOGFONT = record
  494. lfHeight : LONG;
  495. lfWidth : LONG;
  496. lfEscapement : LONG;
  497. lfOrientation : LONG;
  498. lfWeight : LONG;
  499. lfItalic : BYTE;
  500. lfUnderline : BYTE;
  501. lfStrikeOut : BYTE;
  502. lfCharSet : BYTE;
  503. lfOutPrecision : BYTE;
  504. lfClipPrecision : BYTE;
  505. lfQuality : BYTE;
  506. lfPitchAndFamily : BYTE;
  507. lfFaceName : array[0..(LF_FACESIZE)-1] of TCHAR;
  508. end;
  509. LPLOGFONT = ^LOGFONT;
  510. PLOGFONT = ^LOGFONT;
  511. tagLOGFONT = LOGFONT;
  512. {CHOOSEFONT = record conflicts with ChosseFont function }
  513. TCHOOSEFONT = record
  514. lStructSize : DWORD;
  515. hwndOwner : HWND;
  516. hDC : HDC;
  517. lpLogFont : LPLOGFONT;
  518. iPointSize : INT;
  519. Flags : DWORD;
  520. rgbColors : DWORD;
  521. lCustData : LPARAM;
  522. lpfnHook : LPCFHOOKPROC;
  523. lpTemplateName : LPCTSTR;
  524. hInstance : HINSTANCE;
  525. lpszStyle : LPTSTR;
  526. nFontType : WORD;
  527. ___MISSING_ALIGNMENT__ : WORD;
  528. nSizeMin : INT;
  529. nSizeMax : INT;
  530. end;
  531. LPCHOOSEFONT = ^TCHOOSEFONT;
  532. CIDA = record
  533. cidl : UINT;
  534. aoffset : array[0..0] of UINT;
  535. end;
  536. LPIDA = ^CIDA;
  537. _IDA = CIDA;
  538. CLIENTCREATESTRUCT = record
  539. hWindowMenu : HANDLE;
  540. idFirstChild : UINT;
  541. end;
  542. tagCLIENTCREATESTRUCT = CLIENTCREATESTRUCT;
  543. LPCLIENTCREATESTRUCT = ^CLIENTCREATESTRUCT;
  544. CMINVOKECOMMANDINFO = record
  545. cbSize : DWORD;
  546. fMask : DWORD;
  547. hwnd : HWND;
  548. lpVerb : LPCSTR;
  549. lpParameters : LPCSTR;
  550. lpDirectory : LPCSTR;
  551. nShow : longint;
  552. dwHotKey : DWORD;
  553. hIcon : HANDLE;
  554. end;
  555. LPCMINVOKECOMMANDINFO = ^CMINVOKECOMMANDINFO;
  556. _CMInvokeCommandInfo = CMINVOKECOMMANDINFO;
  557. COLORADJUSTMENT = record
  558. caSize : WORD;
  559. caFlags : WORD;
  560. caIlluminantIndex : WORD;
  561. caRedGamma : WORD;
  562. caGreenGamma : WORD;
  563. caBlueGamma : WORD;
  564. caReferenceBlack : WORD;
  565. caReferenceWhite : WORD;
  566. caContrast : SHORT;
  567. caBrightness : SHORT;
  568. caColorfulness : SHORT;
  569. caRedGreenTint : SHORT;
  570. end;
  571. LPCOLORADJUSTMENT = ^COLORADJUSTMENT;
  572. tagCOLORADJUSTMENT = COLORADJUSTMENT;
  573. COLORMAP = record
  574. from : COLORREF;
  575. _to : COLORREF;
  576. end;
  577. LPCOLORMAP = ^COLORMAP;
  578. _COLORMAP = COLORMAP;
  579. DCB = record
  580. DCBlength : DWORD;
  581. BaudRate : DWORD;
  582. flag0 : longint;
  583. wReserved : WORD;
  584. XonLim : WORD;
  585. XoffLim : WORD;
  586. ByteSize : BYTE;
  587. Parity : BYTE;
  588. StopBits : BYTE;
  589. XonChar : char;
  590. XoffChar : char;
  591. ErrorChar : char;
  592. EofChar : char;
  593. EvtChar : char;
  594. wReserved1 : WORD;
  595. end;
  596. LPDCB = ^DCB;
  597. _DCB = DCB;
  598. const
  599. bm_DCB_fBinary = $1;
  600. bp_DCB_fBinary = 0;
  601. bm_DCB_fParity = $2;
  602. bp_DCB_fParity = 1;
  603. bm_DCB_fOutxCtsFlow = $4;
  604. bp_DCB_fOutxCtsFlow = 2;
  605. bm_DCB_fOutxDsrFlow = $8;
  606. bp_DCB_fOutxDsrFlow = 3;
  607. bm_DCB_fDtrControl = $30;
  608. bp_DCB_fDtrControl = 4;
  609. bm_DCB_fDsrSensitivity = $40;
  610. bp_DCB_fDsrSensitivity = 6;
  611. bm_DCB_fTXContinueOnXoff = $80;
  612. bp_DCB_fTXContinueOnXoff = 7;
  613. bm_DCB_fOutX = $100;
  614. bp_DCB_fOutX = 8;
  615. bm_DCB_fInX = $200;
  616. bp_DCB_fInX = 9;
  617. bm_DCB_fErrorChar = $400;
  618. bp_DCB_fErrorChar = 10;
  619. bm_DCB_fNull = $800;
  620. bp_DCB_fNull = 11;
  621. bm_DCB_fRtsControl = $3000;
  622. bp_DCB_fRtsControl = 12;
  623. bm_DCB_fAbortOnError = $4000;
  624. bp_DCB_fAbortOnError = 14;
  625. bm_DCB_fDummy2 = $FFFF8000;
  626. bp_DCB_fDummy2 = 15;
  627. function fBinary(var a : DCB) : DWORD;
  628. procedure set_fBinary(var a : DCB; __fBinary : DWORD);
  629. function fParity(var a : DCB) : DWORD;
  630. procedure set_fParity(var a : DCB; __fParity : DWORD);
  631. function fOutxCtsFlow(var a : DCB) : DWORD;
  632. procedure set_fOutxCtsFlow(var a : DCB; __fOutxCtsFlow : DWORD);
  633. function fOutxDsrFlow(var a : DCB) : DWORD;
  634. procedure set_fOutxDsrFlow(var a : DCB; __fOutxDsrFlow : DWORD);
  635. function fDtrControl(var a : DCB) : DWORD;
  636. procedure set_fDtrControl(var a : DCB; __fDtrControl : DWORD);
  637. function fDsrSensitivity(var a : DCB) : DWORD;
  638. procedure set_fDsrSensitivity(var a : DCB; __fDsrSensitivity : DWORD);
  639. function fTXContinueOnXoff(var a : DCB) : DWORD;
  640. procedure set_fTXContinueOnXoff(var a : DCB; __fTXContinueOnXoff : DWORD);
  641. function fOutX(var a : DCB) : DWORD;
  642. procedure set_fOutX(var a : DCB; __fOutX : DWORD);
  643. function fInX(var a : DCB) : DWORD;
  644. procedure set_fInX(var a : DCB; __fInX : DWORD);
  645. function fErrorChar(var a : DCB) : DWORD;
  646. procedure set_fErrorChar(var a : DCB; __fErrorChar : DWORD);
  647. function fNull(var a : DCB) : DWORD;
  648. procedure set_fNull(var a : DCB; __fNull : DWORD);
  649. function fRtsControl(var a : DCB) : DWORD;
  650. procedure set_fRtsControl(var a : DCB; __fRtsControl : DWORD);
  651. function fAbortOnError(var a : DCB) : DWORD;
  652. procedure set_fAbortOnError(var a : DCB; __fAbortOnError : DWORD);
  653. function fDummy2(var a : DCB) : DWORD;
  654. procedure set_fDummy2(var a : DCB; __fDummy2 : DWORD);
  655. type
  656. COMMCONFIG = record
  657. dwSize : DWORD;
  658. wVersion : WORD;
  659. wReserved : WORD;
  660. dcb : DCB;
  661. dwProviderSubType : DWORD;
  662. dwProviderOffset : DWORD;
  663. dwProviderSize : DWORD;
  664. wcProviderData : array[0..0] of WCHAR;
  665. end;
  666. LPCOMMCONFIG = ^COMMCONFIG;
  667. _COMM_CONFIG = COMMCONFIG;
  668. COMMPROP = record
  669. wPacketLength : WORD;
  670. wPacketVersion : WORD;
  671. dwServiceMask : DWORD;
  672. dwReserved1 : DWORD;
  673. dwMaxTxQueue : DWORD;
  674. dwMaxRxQueue : DWORD;
  675. dwMaxBaud : DWORD;
  676. dwProvSubType : DWORD;
  677. dwProvCapabilities : DWORD;
  678. dwSettableParams : DWORD;
  679. dwSettableBaud : DWORD;
  680. wSettableData : WORD;
  681. wSettableStopParity : WORD;
  682. dwCurrentTxQueue : DWORD;
  683. dwCurrentRxQueue : DWORD;
  684. dwProvSpec1 : DWORD;
  685. dwProvSpec2 : DWORD;
  686. wcProvChar : array[0..0] of WCHAR;
  687. end;
  688. LPCOMMPROP = ^COMMPROP;
  689. _COMMPROP = COMMPROP;
  690. COMMTIMEOUTS = record
  691. ReadIntervalTimeout : DWORD;
  692. ReadTotalTimeoutMultiplier : DWORD;
  693. ReadTotalTimeoutConstant : DWORD;
  694. WriteTotalTimeoutMultiplier : DWORD;
  695. WriteTotalTimeoutConstant : DWORD;
  696. end;
  697. LPCOMMTIMEOUTS = ^COMMTIMEOUTS;
  698. _COMMTIMEOUTS = COMMTIMEOUTS;
  699. COMPAREITEMSTRUCT = record
  700. CtlType : UINT;
  701. CtlID : UINT;
  702. hwndItem : HWND;
  703. itemID1 : UINT;
  704. itemData1 : DWORD;
  705. itemID2 : UINT;
  706. itemData2 : DWORD;
  707. end;
  708. tagCOMPAREITEMSTRUCT = COMPAREITEMSTRUCT;
  709. COMPCOLOR = record
  710. crText : COLORREF;
  711. crBackground : COLORREF;
  712. dwEffects : DWORD;
  713. end;
  714. COMPOSITIONFORM = record
  715. dwStyle : DWORD;
  716. ptCurrentPos : POINT;
  717. rcArea : RECT;
  718. end;
  719. LPCOMPOSITIONFORM = ^COMPOSITIONFORM;
  720. _tagCOMPOSITIONFORM = COMPOSITIONFORM;
  721. COMSTAT = record
  722. flag0 : longint;
  723. cbInQue : DWORD;
  724. cbOutQue : DWORD;
  725. end;
  726. LPCOMSTAT = ^COMSTAT;
  727. _COMSTAT = COMSTAT;
  728. const
  729. bm_COMSTAT_fCtsHold = $1;
  730. bp_COMSTAT_fCtsHold = 0;
  731. bm_COMSTAT_fDsrHold = $2;
  732. bp_COMSTAT_fDsrHold = 1;
  733. bm_COMSTAT_fRlsdHold = $4;
  734. bp_COMSTAT_fRlsdHold = 2;
  735. bm_COMSTAT_fXoffHold = $8;
  736. bp_COMSTAT_fXoffHold = 3;
  737. bm_COMSTAT_fXoffSent = $10;
  738. bp_COMSTAT_fXoffSent = 4;
  739. bm_COMSTAT_fEof = $20;
  740. bp_COMSTAT_fEof = 5;
  741. bm_COMSTAT_fTxim = $40;
  742. bp_COMSTAT_fTxim = 6;
  743. bm_COMSTAT_fReserved = $FFFFFF80;
  744. bp_COMSTAT_fReserved = 7;
  745. function fCtsHold(var a : COMSTAT) : DWORD;
  746. procedure set_fCtsHold(var a : COMSTAT; __fCtsHold : DWORD);
  747. function fDsrHold(var a : COMSTAT) : DWORD;
  748. procedure set_fDsrHold(var a : COMSTAT; __fDsrHold : DWORD);
  749. function fRlsdHold(var a : COMSTAT) : DWORD;
  750. procedure set_fRlsdHold(var a : COMSTAT; __fRlsdHold : DWORD);
  751. function fXoffHold(var a : COMSTAT) : DWORD;
  752. procedure set_fXoffHold(var a : COMSTAT; __fXoffHold : DWORD);
  753. function fXoffSent(var a : COMSTAT) : DWORD;
  754. procedure set_fXoffSent(var a : COMSTAT; __fXoffSent : DWORD);
  755. function fEof(var a : COMSTAT) : DWORD;
  756. procedure set_fEof(var a : COMSTAT; __fEof : DWORD);
  757. function fTxim(var a : COMSTAT) : DWORD;
  758. procedure set_fTxim(var a : COMSTAT; __fTxim : DWORD);
  759. function fReserved(var a : COMSTAT) : DWORD;
  760. procedure set_fReserved(var a : COMSTAT; __fReserved : DWORD);
  761. type
  762. CONSOLE_CURSOR_INFO = record
  763. dwSize : DWORD;
  764. bVisible : WINBOOL;
  765. end;
  766. PCONSOLE_CURSOR_INFO = ^CONSOLE_CURSOR_INFO;
  767. _CONSOLE_CURSOR_INFO = CONSOLE_CURSOR_INFO;
  768. COORD = record
  769. X : SHORT;
  770. Y : SHORT;
  771. end;
  772. _COORD = COORD;
  773. SMALL_RECT = record
  774. Left : SHORT;
  775. Top : SHORT;
  776. Right : SHORT;
  777. Bottom : SHORT;
  778. end;
  779. PSMALL_RECT = ^SMALL_RECT;
  780. _SMALL_RECT = SMALL_RECT;
  781. CONSOLE_SCREEN_BUFFER_INFO = record
  782. dwSize : COORD;
  783. dwCursorPosition : COORD;
  784. wAttributes : WORD;
  785. srWindow : SMALL_RECT;
  786. dwMaximumWindowSize : COORD;
  787. end;
  788. PCONSOLE_SCREEN_BUFFER_INFO = ^CONSOLE_SCREEN_BUFFER_INFO;
  789. _CONSOLE_SCREEN_BUFFER_INFO = CONSOLE_SCREEN_BUFFER_INFO;
  790. {$ifdef __i386__}
  791. type
  792. FLOATING_SAVE_AREA = record
  793. ControlWord : DWORD;
  794. StatusWord : DWORD;
  795. TagWord : DWORD;
  796. ErrorOffset : DWORD;
  797. ErrorSelector : DWORD;
  798. DataOffset : DWORD;
  799. DataSelector : DWORD;
  800. RegisterArea : array[0..79] of BYTE;
  801. Cr0NpxState : DWORD;
  802. end;
  803. _FLOATING_SAVE_AREA = FLOATING_SAVE_AREA;
  804. CONTEXT = record
  805. ContextFlags : DWORD;
  806. Dr0 : DWORD;
  807. Dr1 : DWORD;
  808. Dr2 : DWORD;
  809. Dr3 : DWORD;
  810. Dr6 : DWORD;
  811. Dr7 : DWORD;
  812. FloatSave : FLOATING_SAVE_AREA;
  813. SegGs : DWORD;
  814. SegFs : DWORD;
  815. SegEs : DWORD;
  816. SegDs : DWORD;
  817. Edi : DWORD;
  818. Esi : DWORD;
  819. Ebx : DWORD;
  820. Edx : DWORD;
  821. Ecx : DWORD;
  822. Eax : DWORD;
  823. Ebp : DWORD;
  824. Eip : DWORD;
  825. SegCs : DWORD;
  826. EFlags : DWORD;
  827. Esp : DWORD;
  828. SegSs : DWORD;
  829. end;
  830. PCONTEXT = ^CONTEXT;
  831. LPCONTEXT = ^CONTEXT;
  832. _CONTEXT = CONTEXT;
  833. {$else}
  834. { __ppc__ }
  835. { Floating point registers returned when CONTEXT_FLOATING_POINT is set }
  836. { Integer registers returned when CONTEXT_INTEGER is set. }
  837. { Condition register }
  838. { Fixed point exception register }
  839. { The following are set when CONTEXT_CONTROL is set. }
  840. { Machine status register }
  841. { Instruction address register }
  842. { Link register }
  843. { Control register }
  844. { Control which context values are returned }
  845. { Registers returned if CONTEXT_DEBUG_REGISTERS is set. }
  846. { Breakpoint Register 1 }
  847. { Breakpoint Register 2 }
  848. { Breakpoint Register 3 }
  849. { Breakpoint Register 4 }
  850. { Breakpoint Register 5 }
  851. { Breakpoint Register 6 }
  852. { Debug Status Register }
  853. { Debug Control Register }
  854. type
  855. CONTEXT = record
  856. Fpr0 : double;
  857. Fpr1 : double;
  858. Fpr2 : double;
  859. Fpr3 : double;
  860. Fpr4 : double;
  861. Fpr5 : double;
  862. Fpr6 : double;
  863. Fpr7 : double;
  864. Fpr8 : double;
  865. Fpr9 : double;
  866. Fpr10 : double;
  867. Fpr11 : double;
  868. Fpr12 : double;
  869. Fpr13 : double;
  870. Fpr14 : double;
  871. Fpr15 : double;
  872. Fpr16 : double;
  873. Fpr17 : double;
  874. Fpr18 : double;
  875. Fpr19 : double;
  876. Fpr20 : double;
  877. Fpr21 : double;
  878. Fpr22 : double;
  879. Fpr23 : double;
  880. Fpr24 : double;
  881. Fpr25 : double;
  882. Fpr26 : double;
  883. Fpr27 : double;
  884. Fpr28 : double;
  885. Fpr29 : double;
  886. Fpr30 : double;
  887. Fpr31 : double;
  888. Fpscr : double;
  889. Gpr0 : DWORD;
  890. Gpr1 : DWORD;
  891. Gpr2 : DWORD;
  892. Gpr3 : DWORD;
  893. Gpr4 : DWORD;
  894. Gpr5 : DWORD;
  895. Gpr6 : DWORD;
  896. Gpr7 : DWORD;
  897. Gpr8 : DWORD;
  898. Gpr9 : DWORD;
  899. Gpr10 : DWORD;
  900. Gpr11 : DWORD;
  901. Gpr12 : DWORD;
  902. Gpr13 : DWORD;
  903. Gpr14 : DWORD;
  904. Gpr15 : DWORD;
  905. Gpr16 : DWORD;
  906. Gpr17 : DWORD;
  907. Gpr18 : DWORD;
  908. Gpr19 : DWORD;
  909. Gpr20 : DWORD;
  910. Gpr21 : DWORD;
  911. Gpr22 : DWORD;
  912. Gpr23 : DWORD;
  913. Gpr24 : DWORD;
  914. Gpr25 : DWORD;
  915. Gpr26 : DWORD;
  916. Gpr27 : DWORD;
  917. Gpr28 : DWORD;
  918. Gpr29 : DWORD;
  919. Gpr30 : DWORD;
  920. Gpr31 : DWORD;
  921. Cr : DWORD;
  922. Xer : DWORD;
  923. Msr : DWORD;
  924. Iar : DWORD;
  925. Lr : DWORD;
  926. Ctr : DWORD;
  927. ContextFlags : DWORD;
  928. Fill : array[0..2] of DWORD;
  929. Dr0 : DWORD;
  930. Dr1 : DWORD;
  931. Dr2 : DWORD;
  932. Dr3 : DWORD;
  933. Dr4 : DWORD;
  934. Dr5 : DWORD;
  935. Dr6 : DWORD;
  936. Dr7 : DWORD;
  937. end;
  938. PCONTEXT = ^CONTEXT;
  939. LPCONTEXT = ^CONTEXT;
  940. {$endif}
  941. type
  942. LIST_ENTRY = record
  943. Flink : ^_LIST_ENTRY;
  944. Blink : ^_LIST_ENTRY;
  945. end;
  946. PLIST_ENTRY = ^LIST_ENTRY;
  947. _LIST_ENTRY = LIST_ENTRY;
  948. CRITICAL_SECTION_DEBUG = record
  949. _Type : WORD;
  950. CreatorBackTraceIndex : WORD;
  951. CriticalSection : ^_CRITICAL_SECTION;
  952. ProcessLocksList : LIST_ENTRY;
  953. EntryCount : DWORD;
  954. ContentionCount : DWORD;
  955. Depth : DWORD;
  956. OwnerBackTrace : array[0..4] of PVOID;
  957. end;
  958. PCRITICAL_SECTION_DEBUG = ^CRITICAL_SECTION_DEBUG;
  959. _CRITICAL_SECTION_DEBUG = CRITICAL_SECTION_DEBUG;
  960. CRITICAL_SECTION = record
  961. DebugInfo : PCRITICAL_SECTION_DEBUG;
  962. LockCount : LONG;
  963. RecursionCount : LONG;
  964. OwningThread : HANDLE;
  965. LockSemaphore : HANDLE;
  966. Reserved : DWORD;
  967. end;
  968. PCRITICAL_SECTION = ^CRITICAL_SECTION;
  969. LPCRITICAL_SECTION = ^CRITICAL_SECTION;
  970. _CRITICAL_SECTION = CRITICAL_SECTION;
  971. { SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; }
  972. SECURITY_QUALITY_OF_SERVICE = record
  973. Length : DWORD;
  974. ImpersonationLevel : SECURITY_IMPERSONATION_LEVEL;
  975. ContextTrackingMode : WINBOOL;
  976. EffectiveOnly : BOOLEAN;
  977. end;
  978. _SECURITY_QUALITY_OF_SERVICE = SECURITY_QUALITY_OF_SERVICE;
  979. CONVCONTEXT = record
  980. cb : UINT;
  981. wFlags : UINT;
  982. wCountryID : UINT;
  983. iCodePage : longint;
  984. dwLangID : DWORD;
  985. dwSecurity : DWORD;
  986. qos : SECURITY_QUALITY_OF_SERVICE;
  987. end;
  988. tagCONVCONTEXT = CONVCONTEXT;
  989. PCONVCONTEXT = ^CONVCONTEXT;
  990. CONVINFO = record
  991. cb : DWORD;
  992. hUser : DWORD;
  993. hConvPartner : HCONV;
  994. hszSvcPartner : HSZ;
  995. hszServiceReq : HSZ;
  996. hszTopic : HSZ;
  997. hszItem : HSZ;
  998. wFmt : UINT;
  999. wType : UINT;
  1000. wStatus : UINT;
  1001. wConvst : UINT;
  1002. wLastError : UINT;
  1003. hConvList : HCONVLIST;
  1004. ConvCtxt : CONVCONTEXT;
  1005. _hwnd : HWND;
  1006. hwndPartner : HWND;
  1007. end;
  1008. tagCONVINFO = CONVINFO;
  1009. COPYDATASTRUCT = record
  1010. dwData : DWORD;
  1011. cbData : DWORD;
  1012. lpData : PVOID;
  1013. end;
  1014. tagCOPYDATASTRUCT = COPYDATASTRUCT;
  1015. CPINFO = record
  1016. MaxCharSize : UINT;
  1017. DefaultChar : array[0..(MAX_DEFAULTCHAR)-1] of BYTE;
  1018. LeadByte : array[0..(MAX_LEADBYTES)-1] of BYTE;
  1019. end;
  1020. LPCPINFO = ^CPINFO;
  1021. _cpinfo = CPINFO;
  1022. CPLINFO = record
  1023. idIcon : longint;
  1024. idName : longint;
  1025. idInfo : longint;
  1026. lData : LONG;
  1027. end;
  1028. tagCPLINFO = CPLINFO;
  1029. CREATE_PROCESS_DEBUG_INFO = record
  1030. hFile : HANDLE;
  1031. hProcess : HANDLE;
  1032. hThread : HANDLE;
  1033. lpBaseOfImage : LPVOID;
  1034. dwDebugInfoFileOffset : DWORD;
  1035. nDebugInfoSize : DWORD;
  1036. lpThreadLocalBase : LPVOID;
  1037. lpStartAddress : LPTHREAD_START_ROUTINE;
  1038. lpImageName : LPVOID;
  1039. fUnicode : WORD;
  1040. end;
  1041. _CREATE_PROCESS_DEBUG_INFO = CREATE_PROCESS_DEBUG_INFO;
  1042. CREATE_THREAD_DEBUG_INFO = record
  1043. hThread : HANDLE;
  1044. lpThreadLocalBase : LPVOID;
  1045. lpStartAddress : LPTHREAD_START_ROUTINE;
  1046. end;
  1047. _CREATE_THREAD_DEBUG_INFO = CREATE_THREAD_DEBUG_INFO;
  1048. (*
  1049. TODO: sockets
  1050. typedef struct _SOCKET_ADDRESS {
  1051. LPSOCKADDR lpSockaddr ;
  1052. INT iSockaddrLength ;
  1053. } SOCKET_ADDRESS, PSOCKET_ADDRESS, LPSOCKET_ADDRESS;
  1054. }
  1055. {
  1056. typedef struct _CSADDR_INFO {
  1057. SOCKET_ADDRESS LocalAddr;
  1058. SOCKET_ADDRESS RemoteAddr;
  1059. INT iSocketType;
  1060. INT iProtocol;
  1061. } CSADDR_INFO;
  1062. *)
  1063. CURRENCYFMT = record
  1064. NumDigits : UINT;
  1065. LeadingZero : UINT;
  1066. Grouping : UINT;
  1067. lpDecimalSep : LPTSTR;
  1068. lpThousandSep : LPTSTR;
  1069. NegativeOrder : UINT;
  1070. PositiveOrder : UINT;
  1071. lpCurrencySymbol : LPTSTR;
  1072. end;
  1073. _currencyfmt = CURRENCYFMT;
  1074. CURSORSHAPE = record
  1075. xHotSpot : longint;
  1076. yHotSpot : longint;
  1077. cx : longint;
  1078. cy : longint;
  1079. cbWidth : longint;
  1080. Planes : BYTE;
  1081. BitsPixel : BYTE;
  1082. end;
  1083. LPCURSORSHAPE = ^CURSORSHAPE;
  1084. tagCURSORSHAPE = CURSORSHAPE;
  1085. CWPRETSTRUCT = record
  1086. lResult : LRESULT;
  1087. lParam : LPARAM;
  1088. wParam : WPARAM;
  1089. message : DWORD;
  1090. hwnd : HWND;
  1091. end;
  1092. tagCWPRETSTRUCT = CWPRETSTRUCT;
  1093. CWPSTRUCT = record
  1094. lParam : LPARAM;
  1095. wParam : WPARAM;
  1096. message : UINT;
  1097. hwnd : HWND;
  1098. end;
  1099. tagCWPSTRUCT = CWPSTRUCT;
  1100. DATATYPES_INFO_1 = record
  1101. pName : LPTSTR;
  1102. end;
  1103. _DATATYPES_INFO_1 = DATATYPES_INFO_1;
  1104. DDEACK = record
  1105. flag0 : word;
  1106. end;
  1107. const
  1108. bm_DDEACK_bAppReturnCode = $FF;
  1109. bp_DDEACK_bAppReturnCode = 0;
  1110. bm_DDEACK_reserved = $3F00;
  1111. bp_DDEACK_reserved = 8;
  1112. bm_DDEACK_fBusy = $4000;
  1113. bp_DDEACK_fBusy = 14;
  1114. bm_DDEACK_fAck = $8000;
  1115. bp_DDEACK_fAck = 15;
  1116. function bAppReturnCode(var a : DDEACK) : word;
  1117. procedure set_bAppReturnCode(var a : DDEACK; __bAppReturnCode : word);
  1118. function reserved(var a : DDEACK) : word;
  1119. procedure set_reserved(var a : DDEACK; __reserved : word);
  1120. function fBusy(var a : DDEACK) : word;
  1121. procedure set_fBusy(var a : DDEACK; __fBusy : word);
  1122. function fAck(var a : DDEACK) : word;
  1123. procedure set_fAck(var a : DDEACK; __fAck : word);
  1124. type
  1125. DDEADVISE = record
  1126. flag0 : word;
  1127. cfFormat : integer;
  1128. end;
  1129. const
  1130. bm_DDEADVISE_reserved = $3FFF;
  1131. bp_DDEADVISE_reserved = 0;
  1132. bm_DDEADVISE_fDeferUpd = $4000;
  1133. bp_DDEADVISE_fDeferUpd = 14;
  1134. bm_DDEADVISE_fAckReq = $8000;
  1135. bp_DDEADVISE_fAckReq = 15;
  1136. function reserved(var a : DDEADVISE) : word;
  1137. procedure set_reserved(var a : DDEADVISE; __reserved : word);
  1138. function fDeferUpd(var a : DDEADVISE) : word;
  1139. procedure set_fDeferUpd(var a : DDEADVISE; __fDeferUpd : word);
  1140. function fAckReq(var a : DDEADVISE) : word;
  1141. procedure set_fAckReq(var a : DDEADVISE; __fAckReq : word);
  1142. type
  1143. DDEDATA = record
  1144. flag0 : word;
  1145. cfFormat : integer;
  1146. Value : array[0..0] of BYTE;
  1147. end;
  1148. const
  1149. bm_DDEDATA_unused = $FFF;
  1150. bp_DDEDATA_unused = 0;
  1151. bm_DDEDATA_fResponse = $1000;
  1152. bp_DDEDATA_fResponse = 12;
  1153. bm_DDEDATA_fRelease = $2000;
  1154. bp_DDEDATA_fRelease = 13;
  1155. bm_DDEDATA_reserved = $4000;
  1156. bp_DDEDATA_reserved = 14;
  1157. bm_DDEDATA_fAckReq = $8000;
  1158. bp_DDEDATA_fAckReq = 15;
  1159. function unused(var a : DDEDATA) : word;
  1160. procedure set_unused(var a : DDEDATA; __unused : word);
  1161. function fResponse(var a : DDEDATA) : word;
  1162. procedure set_fResponse(var a : DDEDATA; __fResponse : word);
  1163. function fRelease(var a : DDEDATA) : word;
  1164. procedure set_fRelease(var a : DDEDATA; __fRelease : word);
  1165. function reserved(var a : DDEDATA) : word;
  1166. procedure set_reserved(var a : DDEDATA; __reserved : word);
  1167. function fAckReq(var a : DDEDATA) : word;
  1168. procedure set_fAckReq(var a : DDEDATA; __fAckReq : word);
  1169. type
  1170. DDELN = record
  1171. flag0 : word;
  1172. cfFormat : integer;
  1173. end;
  1174. const
  1175. bm_DDELN_unused = $1FFF;
  1176. bp_DDELN_unused = 0;
  1177. bm_DDELN_fRelease = $2000;
  1178. bp_DDELN_fRelease = 13;
  1179. bm_DDELN_fDeferUpd = $4000;
  1180. bp_DDELN_fDeferUpd = 14;
  1181. bm_DDELN_fAckReq = $8000;
  1182. bp_DDELN_fAckReq = 15;
  1183. function unused(var a : DDELN) : word;
  1184. procedure set_unused(var a : DDELN; __unused : word);
  1185. function fRelease(var a : DDELN) : word;
  1186. procedure set_fRelease(var a : DDELN; __fRelease : word);
  1187. function fDeferUpd(var a : DDELN) : word;
  1188. procedure set_fDeferUpd(var a : DDELN; __fDeferUpd : word);
  1189. function fAckReq(var a : DDELN) : word;
  1190. procedure set_fAckReq(var a : DDELN; __fAckReq : word);
  1191. type
  1192. DDEML_MSG_HOOK_DATA = record
  1193. uiLo : UINT;
  1194. uiHi : UINT;
  1195. cbData : DWORD;
  1196. Data : array[0..7] of DWORD;
  1197. end;
  1198. tagDDEML_MSG_HOOK_DATA = DDEML_MSG_HOOK_DATA;
  1199. DDEPOKE = record
  1200. flag0 : word;
  1201. cfFormat : integer;
  1202. Value : array[0..0] of BYTE;
  1203. end;
  1204. const
  1205. bm_DDEPOKE_unused = $1FFF;
  1206. bp_DDEPOKE_unused = 0;
  1207. bm_DDEPOKE_fRelease = $2000;
  1208. bp_DDEPOKE_fRelease = 13;
  1209. bm_DDEPOKE_fReserved = $C000;
  1210. bp_DDEPOKE_fReserved = 14;
  1211. function unused(var a : DDEPOKE) : word;
  1212. procedure set_unused(var a : DDEPOKE; __unused : word);
  1213. function fRelease(var a : DDEPOKE) : word;
  1214. procedure set_fRelease(var a : DDEPOKE; __fRelease : word);
  1215. function fReserved(var a : DDEPOKE) : word;
  1216. procedure set_fReserved(var a : DDEPOKE; __fReserved : word);
  1217. type
  1218. DDEUP = record
  1219. flag0 : word;
  1220. cfFormat : integer;
  1221. rgb : array[0..0] of BYTE;
  1222. end;
  1223. const
  1224. bm_DDEUP_unused = $FFF;
  1225. bp_DDEUP_unused = 0;
  1226. bm_DDEUP_fAck = $1000;
  1227. bp_DDEUP_fAck = 12;
  1228. bm_DDEUP_fRelease = $2000;
  1229. bp_DDEUP_fRelease = 13;
  1230. bm_DDEUP_fReserved = $4000;
  1231. bp_DDEUP_fReserved = 14;
  1232. bm_DDEUP_fAckReq = $8000;
  1233. bp_DDEUP_fAckReq = 15;
  1234. function unused(var a : DDEUP) : word;
  1235. procedure set_unused(var a : DDEUP; __unused : word);
  1236. function fAck(var a : DDEUP) : word;
  1237. procedure set_fAck(var a : DDEUP; __fAck : word);
  1238. function fRelease(var a : DDEUP) : word;
  1239. procedure set_fRelease(var a : DDEUP; __fRelease : word);
  1240. function fReserved(var a : DDEUP) : word;
  1241. procedure set_fReserved(var a : DDEUP; __fReserved : word);
  1242. function fAckReq(var a : DDEUP) : word;
  1243. procedure set_fAckReq(var a : DDEUP; __fAckReq : word);
  1244. type
  1245. EXCEPTION_RECORD = record
  1246. ExceptionCode : DWORD;
  1247. ExceptionFlags : DWORD;
  1248. ExceptionRecord : ^_EXCEPTION_RECORD;
  1249. ExceptionAddress : PVOID;
  1250. NumberParameters : DWORD;
  1251. ExceptionInformation : array[0..(EXCEPTION_MAXIMUM_PARAMETERS)-1] of DWORD;
  1252. end;
  1253. PEXCEPTION_RECORD = ^EXCEPTION_RECORD;
  1254. LPEXCEPTION_RECORD = ^EXCEPTION_RECORD;
  1255. _EXCEPTION_RECORD = EXCEPTION_RECORD;
  1256. EXCEPTION_DEBUG_INFO = record
  1257. ExceptionRecord : EXCEPTION_RECORD;
  1258. dwFirstChance : DWORD;
  1259. end;
  1260. _EXCEPTION_DEBUG_INFO = EXCEPTION_DEBUG_INFO;
  1261. EXIT_PROCESS_DEBUG_INFO = record
  1262. dwExitCode : DWORD;
  1263. end;
  1264. _EXIT_PROCESS_DEBUG_INFO = EXIT_PROCESS_DEBUG_INFO;
  1265. EXIT_THREAD_DEBUG_INFO = record
  1266. dwExitCode : DWORD;
  1267. end;
  1268. _EXIT_THREAD_DEBUG_INFO = EXIT_THREAD_DEBUG_INFO;
  1269. LOAD_DLL_DEBUG_INFO = record
  1270. hFile : HANDLE;
  1271. lpBaseOfDll : LPVOID;
  1272. dwDebugInfoFileOffset : DWORD;
  1273. nDebugInfoSize : DWORD;
  1274. lpImageName : LPVOID;
  1275. fUnicode : WORD;
  1276. end;
  1277. _LOAD_DLL_DEBUG_INFO = LOAD_DLL_DEBUG_INFO;
  1278. UNLOAD_DLL_DEBUG_INFO = record
  1279. lpBaseOfDll : LPVOID;
  1280. end;
  1281. _UNLOAD_DLL_DEBUG_INFO = UNLOAD_DLL_DEBUG_INFO;
  1282. OUTPUT_DEBUG_STRING_INFO = record
  1283. lpDebugStringData : LPSTR;
  1284. fUnicode : WORD;
  1285. nDebugStringLength : WORD;
  1286. end;
  1287. _OUTPUT_DEBUG_STRING_INFO = OUTPUT_DEBUG_STRING_INFO;
  1288. RIP_INFO = record
  1289. dwError : DWORD;
  1290. dwType : DWORD;
  1291. end;
  1292. _RIP_INFO = RIP_INFO;
  1293. DEBUG_EVENT = record
  1294. dwDebugEventCode : DWORD;
  1295. dwProcessId : DWORD;
  1296. dwThreadId : DWORD;
  1297. u : record
  1298. case longint of
  1299. 0 : ( Exception : EXCEPTION_DEBUG_INFO );
  1300. 1 : ( CreateThread : CREATE_THREAD_DEBUG_INFO );
  1301. 2 : ( CreateProcessInfo : CREATE_PROCESS_DEBUG_INFO );
  1302. 3 : ( ExitThread : EXIT_THREAD_DEBUG_INFO );
  1303. 4 : ( ExitProcess : EXIT_PROCESS_DEBUG_INFO );
  1304. 5 : ( LoadDll : LOAD_DLL_DEBUG_INFO );
  1305. 6 : ( UnloadDll : UNLOAD_DLL_DEBUG_INFO );
  1306. 7 : ( DebugString : OUTPUT_DEBUG_STRING_INFO );
  1307. 8 : ( RipInfo : RIP_INFO );
  1308. end;
  1309. end;
  1310. LPDEBUG_EVENT = ^DEBUG_EVENT;
  1311. _DEBUG_EVENT = DEBUG_EVENT;
  1312. DEBUGHOOKINFO = record
  1313. idThread : DWORD;
  1314. idThreadInstaller : DWORD;
  1315. lParam : LPARAM;
  1316. wParam : WPARAM;
  1317. code : longint;
  1318. end;
  1319. tagDEBUGHOOKINFO = DEBUGHOOKINFO;
  1320. DELETEITEMSTRUCT = record
  1321. CtlType : UINT;
  1322. CtlID : UINT;
  1323. itemID : UINT;
  1324. hwndItem : HWND;
  1325. itemData : UINT;
  1326. end;
  1327. tagDELETEITEMSTRUCT = DELETEITEMSTRUCT;
  1328. DEV_BROADCAST_HDR = record
  1329. dbch_size : ULONG;
  1330. dbch_devicetype : ULONG;
  1331. dbch_reserved : ULONG;
  1332. end;
  1333. _DEV_BROADCAST_HDR = DEV_BROADCAST_HDR;
  1334. PDEV_BROADCAST_HDR = ^DEV_BROADCAST_HDR;
  1335. DEV_BROADCAST_OEM = record
  1336. dbco_size : ULONG;
  1337. dbco_devicetype : ULONG;
  1338. dbco_reserved : ULONG;
  1339. dbco_identifier : ULONG;
  1340. dbco_suppfunc : ULONG;
  1341. end;
  1342. _DEV_BROADCAST_OEM = DEV_BROADCAST_OEM;
  1343. PDEV_BROADCAST_OEM = ^DEV_BROADCAST_OEM;
  1344. DEV_BROADCAST_PORT = record
  1345. dbcp_size : ULONG;
  1346. dbcp_devicetype : ULONG;
  1347. dbcp_reserved : ULONG;
  1348. dbcp_name : array[0..0] of char;
  1349. end;
  1350. _DEV_BROADCAST_PORT = DEV_BROADCAST_PORT;
  1351. PDEV_BROADCAST_PORT = ^DEV_BROADCAST_PORT;
  1352. _DEV_BROADCAST_USERDEFINED = record
  1353. dbud_dbh : _DEV_BROADCAST_HDR;
  1354. dbud_szName : array[0..0] of char;
  1355. dbud_rgbUserDefined : array[0..0] of BYTE;
  1356. end;
  1357. DEV_BROADCAST_VOLUME = record
  1358. dbcv_size : ULONG;
  1359. dbcv_devicetype : ULONG;
  1360. dbcv_reserved : ULONG;
  1361. dbcv_unitmask : ULONG;
  1362. dbcv_flags : USHORT;
  1363. end;
  1364. _DEV_BROADCAST_VOLUME = DEV_BROADCAST_VOLUME;
  1365. PDEV_BROADCAST_VOLUME = ^DEV_BROADCAST_VOLUME;
  1366. DEVMODE = record
  1367. dmDeviceName : array[0..(CCHDEVICENAME)-1] of BCHAR;
  1368. dmSpecVersion : WORD;
  1369. dmDriverVersion : WORD;
  1370. dmSize : WORD;
  1371. dmDriverExtra : WORD;
  1372. dmFields : DWORD;
  1373. dmOrientation : integer;
  1374. dmPaperSize : integer;
  1375. dmPaperLength : integer;
  1376. dmPaperWidth : integer;
  1377. dmScale : integer;
  1378. dmCopies : integer;
  1379. dmDefaultSource : integer;
  1380. dmPrintQuality : integer;
  1381. dmColor : integer;
  1382. dmDuplex : integer;
  1383. dmYResolution : integer;
  1384. dmTTOption : integer;
  1385. dmCollate : integer;
  1386. dmFormName : array[0..(CCHFORMNAME)-1] of BCHAR;
  1387. dmLogPixels : WORD;
  1388. dmBitsPerPel : DWORD;
  1389. dmPelsWidth : DWORD;
  1390. dmPelsHeight : DWORD;
  1391. dmDisplayFlags : DWORD;
  1392. dmDisplayFrequency : DWORD;
  1393. dmICMMethod : DWORD;
  1394. dmICMIntent : DWORD;
  1395. dmMediaType : DWORD;
  1396. dmDitherType : DWORD;
  1397. dmICCManufacturer : DWORD;
  1398. dmICCModel : DWORD;
  1399. end;
  1400. LPDEVMODE = ^DEVMODE;
  1401. _devicemode = DEVMODE;
  1402. DEVNAMES = record
  1403. wDriverOffset : WORD;
  1404. wDeviceOffset : WORD;
  1405. wOutputOffset : WORD;
  1406. wDefault : WORD;
  1407. end;
  1408. LPDEVNAMES = ^DEVNAMES;
  1409. tagDEVNAMES = DEVNAMES;
  1410. DIBSECTION = record
  1411. dsBm : BITMAP;
  1412. dsBmih : BITMAPINFOHEADER;
  1413. dsBitfields : array[0..2] of DWORD;
  1414. dshSection : HANDLE;
  1415. dsOffset : DWORD;
  1416. end;
  1417. tagDIBSECTION = DIBSECTION;
  1418. LARGE_INTEGER = record
  1419. LowPart : DWORD;
  1420. HighPart : LONG;
  1421. end;
  1422. PLARGE_INTEGER = ^LARGE_INTEGER;
  1423. _LARGE_INTEGER = LARGE_INTEGER;
  1424. DISK_GEOMETRY = record
  1425. Cylinders : LARGE_INTEGER;
  1426. MediaType : MEDIA_TYPE;
  1427. TracksPerCylinder : DWORD;
  1428. SectorsPerTrack : DWORD;
  1429. BytesPerSector : DWORD;
  1430. end;
  1431. _DISK_GEOMETRY = DISK_GEOMETRY;
  1432. DISK_PERFORMANCE = record
  1433. BytesRead : LARGE_INTEGER;
  1434. BytesWritten : LARGE_INTEGER;
  1435. ReadTime : LARGE_INTEGER;
  1436. WriteTime : LARGE_INTEGER;
  1437. ReadCount : DWORD;
  1438. WriteCount : DWORD;
  1439. QueueDepth : DWORD;
  1440. end;
  1441. _DISK_PERFORMANCE = DISK_PERFORMANCE;
  1442. {$PACKRECORDS 1}
  1443. DLGITEMTEMPLATE = record
  1444. style : DWORD;
  1445. dwExtendedStyle : DWORD;
  1446. x : integer;
  1447. y : integer;
  1448. cx : integer;
  1449. cy : integer;
  1450. id : WORD;
  1451. end;
  1452. LPDLGITEMTEMPLATE = ^DLGITEMTEMPLATE;
  1453. PDLGITEMTEMPLATE = ^DLGITEMTEMPLATE;
  1454. DLGTEMPLATE = record
  1455. style : DWORD;
  1456. dwExtendedStyle : DWORD;
  1457. cdit : WORD;
  1458. x : integer;
  1459. y : integer;
  1460. cx : integer;
  1461. cy : integer;
  1462. end;
  1463. LPDLGTEMPLATE = ^DLGTEMPLATE;
  1464. (* Const before type ignored *)
  1465. LPCDLGTEMPLATE = ^DLGTEMPLATE;
  1466. {$PACKRECORDS 4}
  1467. DOC_INFO_1 = record
  1468. pDocName : LPTSTR;
  1469. pOutputFile : LPTSTR;
  1470. pDatatype : LPTSTR;
  1471. end;
  1472. _DOC_INFO_1 = DOC_INFO_1;
  1473. DOC_INFO_2 = record
  1474. pDocName : LPTSTR;
  1475. pOutputFile : LPTSTR;
  1476. pDatatype : LPTSTR;
  1477. dwMode : DWORD;
  1478. JobId : DWORD;
  1479. end;
  1480. _DOC_INFO_2 = DOC_INFO_2;
  1481. DOCINFO = record
  1482. cbSize : longint;
  1483. lpszDocName : LPCTSTR;
  1484. lpszOutput : LPCTSTR;
  1485. lpszDatatype : LPCTSTR;
  1486. fwType : DWORD;
  1487. end;
  1488. DRAGLISTINFO = record
  1489. uNotification : UINT;
  1490. hWnd : HWND;
  1491. ptCursor : POINT;
  1492. end;
  1493. LPDRAGLISTINFO = ^DRAGLISTINFO;
  1494. DRAWITEMSTRUCT = record
  1495. CtlType : UINT;
  1496. CtlID : UINT;
  1497. itemID : UINT;
  1498. itemAction : UINT;
  1499. itemState : UINT;
  1500. hwndItem : HWND;
  1501. hDC : HDC;
  1502. rcItem : RECT;
  1503. itemData : DWORD;
  1504. end;
  1505. LPDRAWITEMSTRUCT = ^DRAWITEMSTRUCT;
  1506. PDRAWITEMSTRUCT = ^DRAWITEMSTRUCT;
  1507. tagDRAWITEMSTRUCT = DRAWITEMSTRUCT;
  1508. DRAWTEXTPARAMS = record
  1509. cbSize : UINT;
  1510. iTabLength : longint;
  1511. iLeftMargin : longint;
  1512. iRightMargin : longint;
  1513. uiLengthDrawn : UINT;
  1514. end;
  1515. LPDRAWTEXTPARAMS = ^DRAWTEXTPARAMS;
  1516. PARTITION_INFORMATION = record
  1517. PartitionType : BYTE;
  1518. BootIndicator : BOOLEAN;
  1519. RecognizedPartition : BOOLEAN;
  1520. RewritePartition : BOOLEAN;
  1521. StartingOffset : LARGE_INTEGER;
  1522. PartitionLength : LARGE_INTEGER;
  1523. HiddenSectors : LARGE_INTEGER;
  1524. end;
  1525. _PARTITION_INFORMATION = PARTITION_INFORMATION;
  1526. DRIVE_LAYOUT_INFORMATION = record
  1527. PartitionCount : DWORD;
  1528. Signature : DWORD;
  1529. PartitionEntry : array[0..0] of PARTITION_INFORMATION;
  1530. end;
  1531. _DRIVE_LAYOUT_INFORMATION = DRIVE_LAYOUT_INFORMATION;
  1532. DRIVER_INFO_1 = record
  1533. pName : LPTSTR;
  1534. end;
  1535. _DRIVER_INFO_1 = DRIVER_INFO_1;
  1536. DRIVER_INFO_2 = record
  1537. cVersion : DWORD;
  1538. pName : LPTSTR;
  1539. pEnvironment : LPTSTR;
  1540. pDriverPath : LPTSTR;
  1541. pDataFile : LPTSTR;
  1542. pConfigFile : LPTSTR;
  1543. end;
  1544. _DRIVER_INFO_2 = DRIVER_INFO_2;
  1545. DRIVER_INFO_3 = record
  1546. cVersion : DWORD;
  1547. pName : LPTSTR;
  1548. pEnvironment : LPTSTR;
  1549. pDriverPath : LPTSTR;
  1550. pDataFile : LPTSTR;
  1551. pConfigFile : LPTSTR;
  1552. pHelpFile : LPTSTR;
  1553. pDependentFiles : LPTSTR;
  1554. pMonitorName : LPTSTR;
  1555. pDefaultDataType : LPTSTR;
  1556. end;
  1557. _DRIVER_INFO_3 = DRIVER_INFO_3;
  1558. EDITSTREAM = record
  1559. dwCookie : DWORD;
  1560. dwError : DWORD;
  1561. pfnCallback : EDITSTREAMCALLBACK;
  1562. end;
  1563. _editstream = EDITSTREAM;
  1564. EMR = record
  1565. iType : DWORD;
  1566. nSize : DWORD;
  1567. end;
  1568. PEMR = ^EMR;
  1569. tagEMR = EMR;
  1570. EMRANGLEARC = record
  1571. emr : EMR;
  1572. ptlCenter : POINTL;
  1573. nRadius : DWORD;
  1574. eStartAngle : FLOAT;
  1575. eSweepAngle : FLOAT;
  1576. end;
  1577. PEMRANGLEARC = ^EMRANGLEARC;
  1578. tagEMRANGLEARC = EMRANGLEARC;
  1579. EMRARC = record
  1580. emr : EMR;
  1581. rclBox : RECTL;
  1582. ptlStart : POINTL;
  1583. ptlEnd : POINTL;
  1584. end;
  1585. PEMRARC = ^EMRARC;
  1586. EMRARCTO = EMRARC;
  1587. PEMRARCTO = ^EMRARC;
  1588. EMRCHORD = EMRARC;
  1589. PEMRCHORD = ^EMRARC;
  1590. EMRPIE = EMRARC;
  1591. PEMRPIE = ^EMRARC;
  1592. tagEMRARC = EMRARC;
  1593. XFORM = record
  1594. eM11 : FLOAT;
  1595. eM12 : FLOAT;
  1596. eM21 : FLOAT;
  1597. eM22 : FLOAT;
  1598. eDx : FLOAT;
  1599. eDy : FLOAT;
  1600. end;
  1601. PXFORM = ^XFORM;
  1602. LPXFORM = ^XFORM;
  1603. _XFORM = XFORM;
  1604. EMRBITBLT = record
  1605. emr : EMR;
  1606. rclBounds : RECTL;
  1607. xDest : LONG;
  1608. yDest : LONG;
  1609. cxDest : LONG;
  1610. cyDest : LONG;
  1611. dwRop : DWORD;
  1612. xSrc : LONG;
  1613. ySrc : LONG;
  1614. xformSrc : XFORM;
  1615. crBkColorSrc : COLORREF;
  1616. iUsageSrc : DWORD;
  1617. offBmiSrc : DWORD;
  1618. offBitsSrc : DWORD;
  1619. cbBitsSrc : DWORD;
  1620. end;
  1621. PEMRBITBLT = ^EMRBITBLT;
  1622. tagEMRBITBLT = EMRBITBLT;
  1623. LOGBRUSH = record
  1624. lbStyle : UINT;
  1625. lbColor : COLORREF;
  1626. lbHatch : LONG;
  1627. end;
  1628. tagLOGBRUSH = LOGBRUSH;
  1629. EMRCREATEBRUSHINDIRECT = record
  1630. emr : EMR;
  1631. ihBrush : DWORD;
  1632. lb : LOGBRUSH;
  1633. end;
  1634. PEMRCREATEBRUSHINDIRECT = ^EMRCREATEBRUSHINDIRECT;
  1635. tagEMRCREATEBRUSHINDIRECT = EMRCREATEBRUSHINDIRECT;
  1636. LCSCSTYPE = LONG;
  1637. LCSGAMUTMATCH = LONG;
  1638. LOGCOLORSPACE = record
  1639. lcsSignature : DWORD;
  1640. lcsVersion : DWORD;
  1641. lcsSize : DWORD;
  1642. lcsCSType : LCSCSTYPE;
  1643. lcsIntent : LCSGAMUTMATCH;
  1644. lcsEndpoints : CIEXYZTRIPLE;
  1645. lcsGammaRed : DWORD;
  1646. lcsGammaGreen : DWORD;
  1647. lcsGammaBlue : DWORD;
  1648. lcsFilename : array[0..(MAX_PATH)-1] of TCHAR;
  1649. end;
  1650. LPLOGCOLORSPACE = ^LOGCOLORSPACE;
  1651. tagLOGCOLORSPACE = LOGCOLORSPACE;
  1652. EMRCREATECOLORSPACE = record
  1653. emr : EMR;
  1654. ihCS : DWORD;
  1655. lcs : LOGCOLORSPACE;
  1656. end;
  1657. PEMRCREATECOLORSPACE = ^EMRCREATECOLORSPACE;
  1658. tagEMRCREATECOLORSPACE = EMRCREATECOLORSPACE;
  1659. EMRCREATEDIBPATTERNBRUSHPT = record
  1660. emr : EMR;
  1661. ihBrush : DWORD;
  1662. iUsage : DWORD;
  1663. offBmi : DWORD;
  1664. cbBmi : DWORD;
  1665. offBits : DWORD;
  1666. cbBits : DWORD;
  1667. end;
  1668. PEMRCREATEDIBPATTERNBRUSHPT = EMRCREATEDIBPATTERNBRUSHPT;
  1669. tagEMRCREATEDIBPATTERNBRUSHPT = EMRCREATEDIBPATTERNBRUSHPT;
  1670. EMRCREATEMONOBRUSH = record
  1671. emr : EMR;
  1672. ihBrush : DWORD;
  1673. iUsage : DWORD;
  1674. offBmi : DWORD;
  1675. cbBmi : DWORD;
  1676. offBits : DWORD;
  1677. cbBits : DWORD;
  1678. end;
  1679. PEMRCREATEMONOBRUSH = ^EMRCREATEMONOBRUSH;
  1680. tagEMRCREATEMONOBRUSH = EMRCREATEMONOBRUSH;
  1681. PALETTEENTRY = record
  1682. peRed : BYTE;
  1683. peGreen : BYTE;
  1684. peBlue : BYTE;
  1685. peFlags : BYTE;
  1686. end;
  1687. LPPALETTEENTRY = ^PALETTEENTRY;
  1688. PPALETTEENTRY = ^PALETTEENTRY;
  1689. tagPALETTEENTRY = PALETTEENTRY;
  1690. LOGPALETTE = record
  1691. palVersion : WORD;
  1692. palNumEntries : WORD;
  1693. palPalEntry : array[0..0] of PALETTEENTRY;
  1694. end;
  1695. LPLOGPALETTE = ^LOGPALETTE;
  1696. PLOGPALETTE = ^LOGPALETTE;
  1697. tagLOGPALETTE = LOGPALETTE;
  1698. EMRCREATEPALETTE = record
  1699. emr : EMR;
  1700. ihPal : DWORD;
  1701. lgpl : LOGPALETTE;
  1702. end;
  1703. PEMRCREATEPALETTE = ^EMRCREATEPALETTE;
  1704. tagEMRCREATEPALETTE = EMRCREATEPALETTE;
  1705. LOGPEN = record
  1706. lopnStyle : UINT;
  1707. lopnWidth : POINT;
  1708. lopnColor : COLORREF;
  1709. end;
  1710. tagLOGPEN = LOGPEN;
  1711. EMRCREATEPEN = record
  1712. emr : EMR;
  1713. ihPen : DWORD;
  1714. lopn : LOGPEN;
  1715. end;
  1716. PEMRCREATEPEN = ^EMRCREATEPEN;
  1717. tagEMRCREATEPEN = EMRCREATEPEN;
  1718. EMRELLIPSE = record
  1719. emr : EMR;
  1720. rclBox : RECTL;
  1721. end;
  1722. PEMRELLIPSE = ^EMRELLIPSE;
  1723. EMRRECTANGLE = EMRELLIPSE;
  1724. PEMRRECTANGLE = ^EMRELLIPSE;
  1725. tagEMRELLIPSE = EMRELLIPSE;
  1726. EMREOF = record
  1727. emr : EMR;
  1728. nPalEntries : DWORD;
  1729. offPalEntries : DWORD;
  1730. nSizeLast : DWORD;
  1731. end;
  1732. PEMREOF = ^EMREOF;
  1733. tagEMREOF = EMREOF;
  1734. EMREXCLUDECLIPRECT = record
  1735. emr : EMR;
  1736. rclClip : RECTL;
  1737. end;
  1738. PEMREXCLUDECLIPRECT = ^EMREXCLUDECLIPRECT;
  1739. EMRINTERSECTCLIPRECT = EMREXCLUDECLIPRECT;
  1740. PEMRINTERSECTCLIPRECT = ^EMREXCLUDECLIPRECT;
  1741. tagEMREXCLUDECLIPRECT = EMREXCLUDECLIPRECT;
  1742. PANOSE = record
  1743. bFamilyType : BYTE;
  1744. bSerifStyle : BYTE;
  1745. bWeight : BYTE;
  1746. bProportion : BYTE;
  1747. bContrast : BYTE;
  1748. bStrokeVariation : BYTE;
  1749. bArmStyle : BYTE;
  1750. bLetterform : BYTE;
  1751. bMidline : BYTE;
  1752. bXHeight : BYTE;
  1753. end;
  1754. tagPANOSE = PANOSE;
  1755. EXTLOGFONT = record
  1756. elfLogFont : LOGFONT;
  1757. elfFullName : array[0..(LF_FULLFACESIZE)-1] of BCHAR;
  1758. elfStyle : array[0..(LF_FACESIZE)-1] of BCHAR;
  1759. elfVersion : DWORD;
  1760. elfStyleSize : DWORD;
  1761. elfMatch : DWORD;
  1762. elfReserved : DWORD;
  1763. elfVendorId : array[0..(ELF_VENDOR_SIZE)-1] of BYTE;
  1764. elfCulture : DWORD;
  1765. elfPanose : PANOSE;
  1766. end;
  1767. tagEXTLOGFONT = EXTLOGFONT;
  1768. EMREXTCREATEFONTINDIRECTW = record
  1769. emr : EMR;
  1770. ihFont : DWORD;
  1771. elfw : EXTLOGFONT;
  1772. end;
  1773. PEMREXTCREATEFONTINDIRECTW = EMREXTCREATEFONTINDIRECTW;
  1774. tagEMREXTCREATEFONTINDIRECTW = EMREXTCREATEFONTINDIRECTW;
  1775. EXTLOGPEN = record
  1776. elpPenStyle : UINT;
  1777. elpWidth : UINT;
  1778. elpBrushStyle : UINT;
  1779. elpColor : COLORREF;
  1780. elpHatch : LONG;
  1781. elpNumEntries : DWORD;
  1782. elpStyleEntry : array[0..0] of DWORD;
  1783. end;
  1784. tagEXTLOGPEN = EXTLOGPEN;
  1785. EMREXTCREATEPEN = record
  1786. emr : EMR;
  1787. ihPen : DWORD;
  1788. offBmi : DWORD;
  1789. cbBmi : DWORD;
  1790. offBits : DWORD;
  1791. cbBits : DWORD;
  1792. elp : EXTLOGPEN;
  1793. end;
  1794. PEMREXTCREATEPEN = ^EMREXTCREATEPEN;
  1795. tagEMREXTCREATEPEN = EMREXTCREATEPEN;
  1796. EMREXTFLOODFILL = record
  1797. emr : EMR;
  1798. ptlStart : POINTL;
  1799. crColor : COLORREF;
  1800. iMode : DWORD;
  1801. end;
  1802. PEMREXTFLOODFILL = ^EMREXTFLOODFILL;
  1803. tagEMREXTFLOODFILL = EMREXTFLOODFILL;
  1804. EMREXTSELECTCLIPRGN = record
  1805. emr : EMR;
  1806. cbRgnData : DWORD;
  1807. iMode : DWORD;
  1808. RgnData : array[0..0] of BYTE;
  1809. end;
  1810. PEMREXTSELECTCLIPRGN = ^EMREXTSELECTCLIPRGN;
  1811. tagEMREXTSELECTCLIPRGN = EMREXTSELECTCLIPRGN;
  1812. EMRTEXT = record
  1813. ptlReference : POINTL;
  1814. nChars : DWORD;
  1815. offString : DWORD;
  1816. fOptions : DWORD;
  1817. rcl : RECTL;
  1818. offDx : DWORD;
  1819. end;
  1820. PEMRTEXT = ^EMRTEXT;
  1821. tagEMRTEXT = EMRTEXT;
  1822. EMREXTTEXTOUTA = record
  1823. emr : EMR;
  1824. rclBounds : RECTL;
  1825. iGraphicsMode : DWORD;
  1826. exScale : FLOAT;
  1827. eyScale : FLOAT;
  1828. emrtext : EMRTEXT;
  1829. end;
  1830. PEMREXTTEXTOUTA = ^EMREXTTEXTOUTA;
  1831. EMREXTTEXTOUTW = EMREXTTEXTOUTA;
  1832. PEMREXTTEXTOUTW = ^EMREXTTEXTOUTA;
  1833. tagEMREXTTEXTOUTA = EMREXTTEXTOUTA;
  1834. EMRFILLPATH = record
  1835. emr : EMR;
  1836. rclBounds : RECTL;
  1837. end;
  1838. PEMRFILLPATH = ^EMRFILLPATH;
  1839. EMRSTROKEANDFILLPATH = EMRFILLPATH;
  1840. PEMRSTROKEANDFILLPATH = ^EMRFILLPATH;
  1841. EMRSTROKEPATH = EMRFILLPATH;
  1842. PEMRSTROKEPATH = ^EMRFILLPATH;
  1843. tagEMRFILLPATH = EMRFILLPATH;
  1844. EMRFILLRGN = record
  1845. emr : EMR;
  1846. rclBounds : RECTL;
  1847. cbRgnData : DWORD;
  1848. ihBrush : DWORD;
  1849. RgnData : array[0..0] of BYTE;
  1850. end;
  1851. PEMRFILLRGN = ^EMRFILLRGN;
  1852. tagEMRFILLRGN = EMRFILLRGN;
  1853. EMRFORMAT = record
  1854. dSignature : DWORD;
  1855. nVersion : DWORD;
  1856. cbData : DWORD;
  1857. offData : DWORD;
  1858. end;
  1859. tagEMRFORMAT = EMRFORMAT;
  1860. SIZE = record
  1861. cx : LONG;
  1862. cy : LONG;
  1863. end;
  1864. PSIZE = ^SIZE;
  1865. LPSIZE = ^SIZE;
  1866. SIZEL = SIZE;
  1867. PSIZEL = ^SIZE;
  1868. LPSIZEL = ^SIZE;
  1869. tagSIZE = SIZE;
  1870. EMRFRAMERGN = record
  1871. emr : EMR;
  1872. rclBounds : RECTL;
  1873. cbRgnData : DWORD;
  1874. ihBrush : DWORD;
  1875. szlStroke : SIZEL;
  1876. RgnData : array[0..0] of BYTE;
  1877. end;
  1878. PEMRFRAMERGN = ^EMRFRAMERGN;
  1879. tagEMRFRAMERGN = EMRFRAMERGN;
  1880. EMRGDICOMMENT = record
  1881. emr : EMR;
  1882. cbData : DWORD;
  1883. Data : array[0..0] of BYTE;
  1884. end;
  1885. PEMRGDICOMMENT = ^EMRGDICOMMENT;
  1886. tagEMRGDICOMMENT = EMRGDICOMMENT;
  1887. EMRINVERTRGN = record
  1888. emr : EMR;
  1889. rclBounds : RECTL;
  1890. cbRgnData : DWORD;
  1891. RgnData : array[0..0] of BYTE;
  1892. end;
  1893. PEMRINVERTRGN = ^EMRINVERTRGN;
  1894. EMRPAINTRGN = EMRINVERTRGN;
  1895. PEMRPAINTRGN = ^EMRINVERTRGN;
  1896. tagEMRINVERTRGN = EMRINVERTRGN;
  1897. EMRLINETO = record
  1898. emr : EMR;
  1899. ptl : POINTL;
  1900. end;
  1901. PEMRLINETO = ^EMRLINETO;
  1902. EMRMOVETOEX = EMRLINETO;
  1903. PEMRMOVETOEX = ^EMRLINETO;
  1904. tagEMRLINETO = EMRLINETO;
  1905. EMRMASKBLT = record
  1906. emr : EMR;
  1907. rclBounds : RECTL;
  1908. xDest : LONG;
  1909. yDest : LONG;
  1910. cxDest : LONG;
  1911. cyDest : LONG;
  1912. dwRop : DWORD;
  1913. xSrc : LONG;
  1914. ySrc : LONG;
  1915. xformSrc : XFORM;
  1916. crBkColorSrc : COLORREF;
  1917. iUsageSrc : DWORD;
  1918. offBmiSrc : DWORD;
  1919. cbBmiSrc : DWORD;
  1920. offBitsSrc : DWORD;
  1921. cbBitsSrc : DWORD;
  1922. xMask : LONG;
  1923. yMask : LONG;
  1924. iUsageMask : DWORD;
  1925. offBmiMask : DWORD;
  1926. cbBmiMask : DWORD;
  1927. offBitsMask : DWORD;
  1928. cbBitsMask : DWORD;
  1929. end;
  1930. PEMRMASKBLT = ^EMRMASKBLT;
  1931. tagEMRMASKBLT = EMRMASKBLT;
  1932. EMRMODIFYWORLDTRANSFORM = record
  1933. emr : EMR;
  1934. xform : XFORM;
  1935. iMode : DWORD;
  1936. end;
  1937. PEMRMODIFYWORLDTRANSFORM = EMRMODIFYWORLDTRANSFORM;
  1938. tagEMRMODIFYWORLDTRANSFORM = EMRMODIFYWORLDTRANSFORM;
  1939. EMROFFSETCLIPRGN = record
  1940. emr : EMR;
  1941. ptlOffset : POINTL;
  1942. end;
  1943. PEMROFFSETCLIPRGN = ^EMROFFSETCLIPRGN;
  1944. tagEMROFFSETCLIPRGN = EMROFFSETCLIPRGN;
  1945. EMRPLGBLT = record
  1946. emr : EMR;
  1947. rclBounds : RECTL;
  1948. aptlDest : array[0..2] of POINTL;
  1949. xSrc : LONG;
  1950. ySrc : LONG;
  1951. cxSrc : LONG;
  1952. cySrc : LONG;
  1953. xformSrc : XFORM;
  1954. crBkColorSrc : COLORREF;
  1955. iUsageSrc : DWORD;
  1956. offBmiSrc : DWORD;
  1957. cbBmiSrc : DWORD;
  1958. offBitsSrc : DWORD;
  1959. cbBitsSrc : DWORD;
  1960. xMask : LONG;
  1961. yMask : LONG;
  1962. iUsageMask : DWORD;
  1963. offBmiMask : DWORD;
  1964. cbBmiMask : DWORD;
  1965. offBitsMask : DWORD;
  1966. cbBitsMask : DWORD;
  1967. end;
  1968. PEMRPLGBLT = ^EMRPLGBLT;
  1969. tagEMRPLGBLT = EMRPLGBLT;
  1970. EMRPOLYDRAW = record
  1971. emr : EMR;
  1972. rclBounds : RECTL;
  1973. cptl : DWORD;
  1974. aptl : array[0..0] of POINTL;
  1975. abTypes : array[0..0] of BYTE;
  1976. end;
  1977. PEMRPOLYDRAW = ^EMRPOLYDRAW;
  1978. tagEMRPOLYDRAW = EMRPOLYDRAW;
  1979. EMRPOLYDRAW16 = record
  1980. emr : EMR;
  1981. rclBounds : RECTL;
  1982. cpts : DWORD;
  1983. apts : array[0..0] of POINTS;
  1984. abTypes : array[0..0] of BYTE;
  1985. end;
  1986. PEMRPOLYDRAW16 = ^EMRPOLYDRAW16;
  1987. tagEMRPOLYDRAW16 = EMRPOLYDRAW16;
  1988. EMRPOLYLINE = record
  1989. emr : EMR;
  1990. rclBounds : RECTL;
  1991. cptl : DWORD;
  1992. aptl : array[0..0] of POINTL;
  1993. end;
  1994. PEMRPOLYLINE = ^EMRPOLYLINE;
  1995. EMRPOLYBEZIER = EMRPOLYLINE;
  1996. PEMRPOLYBEZIER = ^EMRPOLYLINE;
  1997. EMRPOLYGON = EMRPOLYLINE;
  1998. PEMRPOLYGON = ^EMRPOLYLINE;
  1999. EMRPOLYBEZIERTO = EMRPOLYLINE;
  2000. PEMRPOLYBEZIERTO = ^EMRPOLYLINE;
  2001. EMRPOLYLINETO = EMRPOLYLINE;
  2002. PEMRPOLYLINETO = ^EMRPOLYLINE;
  2003. tagEMRPOLYLINE = EMRPOLYLINE;
  2004. EMRPOLYLINE16 = record
  2005. emr : EMR;
  2006. rclBounds : RECTL;
  2007. cpts : DWORD;
  2008. apts : array[0..0] of POINTL;
  2009. end;
  2010. PEMRPOLYLINE16 = ^EMRPOLYLINE16;
  2011. EMRPOLYBEZIER16 = EMRPOLYLINE16;
  2012. PEMRPOLYBEZIER16 = ^EMRPOLYLINE16;
  2013. EMRPOLYGON16 = EMRPOLYLINE16;
  2014. PEMRPOLYGON16 = ^EMRPOLYLINE16;
  2015. EMRPOLYBEZIERTO16 = EMRPOLYLINE16;
  2016. PEMRPOLYBEZIERTO16 = ^EMRPOLYLINE16;
  2017. EMRPOLYLINETO16 = EMRPOLYLINE16;
  2018. PEMRPOLYLINETO16 = ^EMRPOLYLINE16;
  2019. tagEMRPOLYLINE16 = EMRPOLYLINE16;
  2020. EMRPOLYPOLYLINE = record
  2021. emr : EMR;
  2022. rclBounds : RECTL;
  2023. nPolys : DWORD;
  2024. cptl : DWORD;
  2025. aPolyCounts : array[0..0] of DWORD;
  2026. aptl : array[0..0] of POINTL;
  2027. end;
  2028. PEMRPOLYPOLYLINE = ^EMRPOLYPOLYLINE;
  2029. EMRPOLYPOLYGON = EMRPOLYPOLYLINE;
  2030. PEMRPOLYPOLYGON = ^EMRPOLYPOLYLINE;
  2031. tagEMRPOLYPOLYLINE = EMRPOLYPOLYLINE;
  2032. EMRPOLYPOLYLINE16 = record
  2033. emr : EMR;
  2034. rclBounds : RECTL;
  2035. nPolys : DWORD;
  2036. cpts : DWORD;
  2037. aPolyCounts : array[0..0] of DWORD;
  2038. apts : array[0..0] of POINTS;
  2039. end;
  2040. PEMRPOLYPOLYLINE16 = ^EMRPOLYPOLYLINE16;
  2041. EMRPOLYPOLYGON16 = EMRPOLYPOLYLINE16;
  2042. PEMRPOLYPOLYGON16 = ^EMRPOLYPOLYLINE16;
  2043. tagEMRPOLYPOLYLINE16 = EMRPOLYPOLYLINE16;
  2044. EMRPOLYTEXTOUTA = record
  2045. emr : EMR;
  2046. rclBounds : RECTL;
  2047. iGraphicsMode : DWORD;
  2048. exScale : FLOAT;
  2049. eyScale : FLOAT;
  2050. cStrings : LONG;
  2051. aemrtext : array[0..0] of EMRTEXT;
  2052. end;
  2053. PEMRPOLYTEXTOUTA = ^EMRPOLYTEXTOUTA;
  2054. EMRPOLYTEXTOUTW = EMRPOLYTEXTOUTA;
  2055. PEMRPOLYTEXTOUTW = ^EMRPOLYTEXTOUTA;
  2056. tagEMRPOLYTEXTOUTA = EMRPOLYTEXTOUTA;
  2057. EMRRESIZEPALETTE = record
  2058. emr : EMR;
  2059. ihPal : DWORD;
  2060. cEntries : DWORD;
  2061. end;
  2062. PEMRRESIZEPALETTE = ^EMRRESIZEPALETTE;
  2063. tagEMRRESIZEPALETTE = EMRRESIZEPALETTE;
  2064. EMRRESTOREDC = record
  2065. emr : EMR;
  2066. iRelative : LONG;
  2067. end;
  2068. PEMRRESTOREDC = ^EMRRESTOREDC;
  2069. tagEMRRESTOREDC = EMRRESTOREDC;
  2070. EMRROUNDRECT = record
  2071. emr : EMR;
  2072. rclBox : RECTL;
  2073. szlCorner : SIZEL;
  2074. end;
  2075. PEMRROUNDRECT = ^EMRROUNDRECT;
  2076. tagEMRROUNDRECT = EMRROUNDRECT;
  2077. EMRSCALEVIEWPORTEXTEX = record
  2078. emr : EMR;
  2079. xNum : LONG;
  2080. xDenom : LONG;
  2081. yNum : LONG;
  2082. yDenom : LONG;
  2083. end;
  2084. PEMRSCALEVIEWPORTEXTEX = ^EMRSCALEVIEWPORTEXTEX;
  2085. EMRSCALEWINDOWEXTEX = EMRSCALEVIEWPORTEXTEX;
  2086. PEMRSCALEWINDOWEXTEX = ^EMRSCALEVIEWPORTEXTEX;
  2087. tagEMRSCALEVIEWPORTEXTEX = EMRSCALEVIEWPORTEXTEX;
  2088. EMRSELECTCOLORSPACE = record
  2089. emr : EMR;
  2090. ihCS : DWORD;
  2091. end;
  2092. PEMRSELECTCOLORSPACE = ^EMRSELECTCOLORSPACE;
  2093. EMRDELETECOLORSPACE = EMRSELECTCOLORSPACE;
  2094. PEMRDELETECOLORSPACE = ^EMRSELECTCOLORSPACE;
  2095. tagEMRSELECTCOLORSPACE = EMRSELECTCOLORSPACE;
  2096. EMRSELECTOBJECT = record
  2097. emr : EMR;
  2098. ihObject : DWORD;
  2099. end;
  2100. PEMRSELECTOBJECT = ^EMRSELECTOBJECT;
  2101. EMRDELETEOBJECT = EMRSELECTOBJECT;
  2102. PEMRDELETEOBJECT = ^EMRSELECTOBJECT;
  2103. tagEMRSELECTOBJECT = EMRSELECTOBJECT;
  2104. EMRSELECTPALETTE = record
  2105. emr : EMR;
  2106. ihPal : DWORD;
  2107. end;
  2108. PEMRSELECTPALETTE = ^EMRSELECTPALETTE;
  2109. tagEMRSELECTPALETTE = EMRSELECTPALETTE;
  2110. EMRSETARCDIRECTION = record
  2111. emr : EMR;
  2112. iArcDirection : DWORD;
  2113. end;
  2114. PEMRSETARCDIRECTION = ^EMRSETARCDIRECTION;
  2115. tagEMRSETARCDIRECTION = EMRSETARCDIRECTION;
  2116. EMRSETBKCOLOR = record
  2117. emr : EMR;
  2118. crColor : COLORREF;
  2119. end;
  2120. PEMRSETBKCOLOR = ^EMRSETBKCOLOR;
  2121. EMRSETTEXTCOLOR = EMRSETBKCOLOR;
  2122. PEMRSETTEXTCOLOR = ^EMRSETBKCOLOR;
  2123. tagEMRSETTEXTCOLOR = EMRSETBKCOLOR;
  2124. EMRSETCOLORADJUSTMENT = record
  2125. emr : EMR;
  2126. ColorAdjustment : COLORADJUSTMENT;
  2127. end;
  2128. PEMRSETCOLORADJUSTMENT = ^EMRSETCOLORADJUSTMENT;
  2129. tagEMRSETCOLORADJUSTMENT = EMRSETCOLORADJUSTMENT;
  2130. EMRSETDIBITSTODEVICE = record
  2131. emr : EMR;
  2132. rclBounds : RECTL;
  2133. xDest : LONG;
  2134. yDest : LONG;
  2135. xSrc : LONG;
  2136. ySrc : LONG;
  2137. cxSrc : LONG;
  2138. cySrc : LONG;
  2139. offBmiSrc : DWORD;
  2140. cbBmiSrc : DWORD;
  2141. offBitsSrc : DWORD;
  2142. cbBitsSrc : DWORD;
  2143. iUsageSrc : DWORD;
  2144. iStartScan : DWORD;
  2145. cScans : DWORD;
  2146. end;
  2147. PEMRSETDIBITSTODEVICE = ^EMRSETDIBITSTODEVICE;
  2148. tagEMRSETDIBITSTODEVICE = EMRSETDIBITSTODEVICE;
  2149. EMRSETMAPPERFLAGS = record
  2150. emr : EMR;
  2151. dwFlags : DWORD;
  2152. end;
  2153. PEMRSETMAPPERFLAGS = ^EMRSETMAPPERFLAGS;
  2154. tagEMRSETMAPPERFLAGS = EMRSETMAPPERFLAGS;
  2155. EMRSETMITERLIMIT = record
  2156. emr : EMR;
  2157. eMiterLimit : FLOAT;
  2158. end;
  2159. PEMRSETMITERLIMIT = ^EMRSETMITERLIMIT;
  2160. tagEMRSETMITERLIMIT = EMRSETMITERLIMIT;
  2161. EMRSETPALETTEENTRIES = record
  2162. emr : EMR;
  2163. ihPal : DWORD;
  2164. iStart : DWORD;
  2165. cEntries : DWORD;
  2166. aPalEntries : array[0..0] of PALETTEENTRY;
  2167. end;
  2168. PEMRSETPALETTEENTRIES = ^EMRSETPALETTEENTRIES;
  2169. tagEMRSETPALETTEENTRIES = EMRSETPALETTEENTRIES;
  2170. EMRSETPIXELV = record
  2171. emr : EMR;
  2172. ptlPixel : POINTL;
  2173. crColor : COLORREF;
  2174. end;
  2175. PEMRSETPIXELV = ^EMRSETPIXELV;
  2176. tagEMRSETPIXELV = EMRSETPIXELV;
  2177. EMRSETVIEWPORTEXTEX = record
  2178. emr : EMR;
  2179. szlExtent : SIZEL;
  2180. end;
  2181. PEMRSETVIEWPORTEXTEX = ^EMRSETVIEWPORTEXTEX;
  2182. EMRSETWINDOWEXTEX = EMRSETVIEWPORTEXTEX;
  2183. PEMRSETWINDOWEXTEX = ^EMRSETVIEWPORTEXTEX;
  2184. tagEMRSETVIEWPORTEXTEX = EMRSETVIEWPORTEXTEX;
  2185. EMRSETVIEWPORTORGEX = record
  2186. emr : EMR;
  2187. ptlOrigin : POINTL;
  2188. end;
  2189. PEMRSETVIEWPORTORGEX = ^EMRSETVIEWPORTORGEX;
  2190. EMRSETWINDOWORGEX = EMRSETVIEWPORTORGEX;
  2191. PEMRSETWINDOWORGEX = ^EMRSETVIEWPORTORGEX;
  2192. EMRSETBRUSHORGEX = EMRSETVIEWPORTORGEX;
  2193. PEMRSETBRUSHORGEX = ^EMRSETVIEWPORTORGEX;
  2194. tagEMRSETVIEWPORTORGEX = EMRSETVIEWPORTORGEX;
  2195. EMRSETWORLDTRANSFORM = record
  2196. emr : EMR;
  2197. xform : XFORM;
  2198. end;
  2199. PEMRSETWORLDTRANSFORM = ^EMRSETWORLDTRANSFORM;
  2200. tagEMRSETWORLDTRANSFORM = EMRSETWORLDTRANSFORM;
  2201. EMRSTRETCHBLT = record
  2202. emr : EMR;
  2203. rclBounds : RECTL;
  2204. xDest : LONG;
  2205. yDest : LONG;
  2206. cxDest : LONG;
  2207. cyDest : LONG;
  2208. dwRop : DWORD;
  2209. xSrc : LONG;
  2210. ySrc : LONG;
  2211. xformSrc : XFORM;
  2212. crBkColorSrc : COLORREF;
  2213. iUsageSrc : DWORD;
  2214. offBmiSrc : DWORD;
  2215. cbBmiSrc : DWORD;
  2216. offBitsSrc : DWORD;
  2217. cbBitsSrc : DWORD;
  2218. cxSrc : LONG;
  2219. cySrc : LONG;
  2220. end;
  2221. PEMRSTRETCHBLT = ^EMRSTRETCHBLT;
  2222. tagEMRSTRETCHBLT = EMRSTRETCHBLT;
  2223. EMRSTRETCHDIBITS = record
  2224. emr : EMR;
  2225. rclBounds : RECTL;
  2226. xDest : LONG;
  2227. yDest : LONG;
  2228. xSrc : LONG;
  2229. ySrc : LONG;
  2230. cxSrc : LONG;
  2231. cySrc : LONG;
  2232. offBmiSrc : DWORD;
  2233. cbBmiSrc : DWORD;
  2234. offBitsSrc : DWORD;
  2235. cbBitsSrc : DWORD;
  2236. iUsageSrc : DWORD;
  2237. dwRop : DWORD;
  2238. cxDest : LONG;
  2239. cyDest : LONG;
  2240. end;
  2241. PEMRSTRETCHDIBITS = ^EMRSTRETCHDIBITS;
  2242. tagEMRSTRETCHDIBITS = EMRSTRETCHDIBITS;
  2243. EMRABORTPATH = record
  2244. emr : EMR;
  2245. end;
  2246. PEMRABORTPATH = ^EMRABORTPATH;
  2247. EMRBEGINPATH = EMRABORTPATH;
  2248. PEMRBEGINPATH = ^EMRABORTPATH;
  2249. EMRENDPATH = EMRABORTPATH;
  2250. PEMRENDPATH = ^EMRABORTPATH;
  2251. EMRCLOSEFIGURE = EMRABORTPATH;
  2252. PEMRCLOSEFIGURE = ^EMRABORTPATH;
  2253. EMRFLATTENPATH = EMRABORTPATH;
  2254. PEMRFLATTENPATH = ^EMRABORTPATH;
  2255. EMRWIDENPATH = EMRABORTPATH;
  2256. PEMRWIDENPATH = ^EMRABORTPATH;
  2257. EMRSETMETARGN = EMRABORTPATH;
  2258. PEMRSETMETARGN = ^EMRABORTPATH;
  2259. EMRSAVEDC = EMRABORTPATH;
  2260. PEMRSAVEDC = ^EMRABORTPATH;
  2261. EMRREALIZEPALETTE = EMRABORTPATH;
  2262. PEMRREALIZEPALETTE = ^EMRABORTPATH;
  2263. tagABORTPATH = EMRABORTPATH;
  2264. EMRSELECTCLIPPATH = record
  2265. emr : EMR;
  2266. iMode : DWORD;
  2267. end;
  2268. PEMRSELECTCLIPPATH = ^EMRSELECTCLIPPATH;
  2269. EMRSETBKMODE = EMRSELECTCLIPPATH;
  2270. PEMRSETBKMODE = ^EMRSELECTCLIPPATH;
  2271. EMRSETMAPMODE = EMRSELECTCLIPPATH;
  2272. PEMRSETMAPMODE = ^EMRSELECTCLIPPATH;
  2273. EMRSETPOLYFILLMODE = EMRSELECTCLIPPATH;
  2274. PEMRSETPOLYFILLMODE = ^EMRSELECTCLIPPATH;
  2275. EMRSETROP2 = EMRSELECTCLIPPATH;
  2276. PEMRSETROP2 = ^EMRSELECTCLIPPATH;
  2277. EMRSETSTRETCHBLTMODE = EMRSELECTCLIPPATH;
  2278. PEMRSETSTRETCHBLTMODE = ^EMRSELECTCLIPPATH;
  2279. EMRSETTEXTALIGN = EMRSELECTCLIPPATH;
  2280. PEMRSETTEXTALIGN = ^EMRSELECTCLIPPATH;
  2281. EMRENABLEICM = EMRSELECTCLIPPATH;
  2282. PEMRENABLEICM = ^EMRSELECTCLIPPATH;
  2283. tagEMRSELECTCLIPPATH = EMRSELECTCLIPPATH;
  2284. NMHDR = record
  2285. hwndFrom : HWND;
  2286. idFrom : UINT;
  2287. code : UINT;
  2288. end;
  2289. tagNMHDR = NMHDR;
  2290. ENCORRECTTEXT = record
  2291. nmhdr : NMHDR;
  2292. chrg : CHARRANGE;
  2293. seltyp : WORD;
  2294. end;
  2295. _encorrecttext = ENCORRECTTEXT;
  2296. ENDROPFILES = record
  2297. nmhdr : NMHDR;
  2298. hDrop : HANDLE;
  2299. cp : LONG;
  2300. fProtected : WINBOOL;
  2301. end;
  2302. _endropfiles = ENDROPFILES;
  2303. ENSAVECLIPBOARD = record
  2304. nmhdr : NMHDR;
  2305. cObjectCount : LONG;
  2306. cch : LONG;
  2307. end;
  2308. ENOLEOPFAILED = record
  2309. nmhdr : NMHDR;
  2310. iob : LONG;
  2311. lOper : LONG;
  2312. hr : HRESULT;
  2313. end;
  2314. ENHMETAHEADER = record
  2315. iType : DWORD;
  2316. nSize : DWORD;
  2317. rclBounds : RECTL;
  2318. rclFrame : RECTL;
  2319. dSignature : DWORD;
  2320. nVersion : DWORD;
  2321. nBytes : DWORD;
  2322. nRecords : DWORD;
  2323. nHandles : WORD;
  2324. sReserved : WORD;
  2325. nDescription : DWORD;
  2326. offDescription : DWORD;
  2327. nPalEntries : DWORD;
  2328. szlDevice : SIZEL;
  2329. szlMillimeters : SIZEL;
  2330. end;
  2331. LPENHMETAHEADER = ^ENHMETAHEADER;
  2332. tagENHMETAHEADER = ENHMETAHEADER;
  2333. ENHMETARECORD = record
  2334. iType : DWORD;
  2335. nSize : DWORD;
  2336. dParm : array[0..0] of DWORD;
  2337. end;
  2338. PENHMETARECORD = ^ENHMETARECORD;
  2339. LPENHMETARECORD = ^ENHMETARECORD;
  2340. tagENHMETARECORD = ENHMETARECORD;
  2341. ENPROTECTED = record
  2342. nmhdr : NMHDR;
  2343. msg : UINT;
  2344. wParam : WPARAM;
  2345. lParam : LPARAM;
  2346. chrg : CHARRANGE;
  2347. end;
  2348. _enprotected = ENPROTECTED;
  2349. SERVICE_STATUS = record
  2350. dwServiceType : DWORD;
  2351. dwCurrentState : DWORD;
  2352. dwControlsAccepted : DWORD;
  2353. dwWin32ExitCode : DWORD;
  2354. dwServiceSpecificExitCode : DWORD;
  2355. dwCheckPoint : DWORD;
  2356. dwWaitHint : DWORD;
  2357. end;
  2358. LPSERVICE_STATUS = ^SERVICE_STATUS;
  2359. _SERVICE_STATUS = SERVICE_STATUS;
  2360. ENUM_SERVICE_STATUS = record
  2361. lpServiceName : LPTSTR;
  2362. lpDisplayName : LPTSTR;
  2363. ServiceStatus : SERVICE_STATUS;
  2364. end;
  2365. LPENUM_SERVICE_STATUS = ^ENUM_SERVICE_STATUS;
  2366. _ENUM_SERVICE_STATUS = ENUM_SERVICE_STATUS;
  2367. ENUMLOGFONT = record
  2368. elfLogFont : LOGFONT;
  2369. elfFullName : array[0..(LF_FULLFACESIZE)-1] of BCHAR;
  2370. elfStyle : array[0..(LF_FACESIZE)-1] of BCHAR;
  2371. end;
  2372. tagENUMLOGFONT = ENUMLOGFONT;
  2373. ENUMLOGFONTEX = record
  2374. elfLogFont : LOGFONT;
  2375. elfFullName : array[0..(LF_FULLFACESIZE)-1] of BCHAR;
  2376. elfStyle : array[0..(LF_FACESIZE)-1] of BCHAR;
  2377. elfScript : array[0..(LF_FACESIZE)-1] of BCHAR;
  2378. end;
  2379. tagENUMLOGFONTEX = ENUMLOGFONTEX;
  2380. {
  2381. Then follow:
  2382. TCHAR SourceName[]
  2383. TCHAR Computername[]
  2384. SID UserSid
  2385. TCHAR Strings[]
  2386. BYTE Data[]
  2387. CHAR Pad[]
  2388. DWORD Length;
  2389. }
  2390. EVENTLOGRECORD = record
  2391. Length : DWORD;
  2392. Reserved : DWORD;
  2393. RecordNumber : DWORD;
  2394. TimeGenerated : DWORD;
  2395. TimeWritten : DWORD;
  2396. EventID : DWORD;
  2397. EventType : WORD;
  2398. NumStrings : WORD;
  2399. EventCategory : WORD;
  2400. ReservedFlags : WORD;
  2401. ClosingRecordNumber : DWORD;
  2402. StringOffset : DWORD;
  2403. UserSidLength : DWORD;
  2404. UserSidOffset : DWORD;
  2405. DataLength : DWORD;
  2406. DataOffset : DWORD;
  2407. end;
  2408. _EVENTLOGRECORD = EVENTLOGRECORD;
  2409. EVENTMSG = record
  2410. message : UINT;
  2411. paramL : UINT;
  2412. paramH : UINT;
  2413. time : DWORD;
  2414. hwnd : HWND;
  2415. end;
  2416. tagEVENTMSG = EVENTMSG;
  2417. EXCEPTION_POINTERS = record
  2418. ExceptionRecord : PEXCEPTION_RECORD;
  2419. ContextRecord : PCONTEXT;
  2420. end;
  2421. PEXCEPTION_POINTERS = ^EXCEPTION_POINTERS;
  2422. LPEXCEPTION_POINTERS = ^EXCEPTION_POINTERS;
  2423. _EXCEPTION_POINTERS = EXCEPTION_POINTERS;
  2424. EXT_BUTTON = record
  2425. idCommand : WORD;
  2426. idsHelp : WORD;
  2427. fsStyle : WORD;
  2428. end;
  2429. LPEXT_BUTTON = ^EXT_BUTTON;
  2430. _EXT_BUTTON = EXT_BUTTON;
  2431. FILTERKEYS = record
  2432. cbSize : UINT;
  2433. dwFlags : DWORD;
  2434. iWaitMSec : DWORD;
  2435. iDelayMSec : DWORD;
  2436. iRepeatMSec : DWORD;
  2437. iBounceMSec : DWORD;
  2438. end;
  2439. tagFILTERKEYS = FILTERKEYS;
  2440. FIND_NAME_BUFFER = record
  2441. length : UCHAR;
  2442. access_control : UCHAR;
  2443. frame_control : UCHAR;
  2444. destination_addr : array[0..5] of UCHAR;
  2445. source_addr : array[0..5] of UCHAR;
  2446. routing_info : array[0..17] of UCHAR;
  2447. end;
  2448. _FIND_NAME_BUFFER = FIND_NAME_BUFFER;
  2449. FIND_NAME_HEADER = record
  2450. node_count : WORD;
  2451. reserved : UCHAR;
  2452. unique_group : UCHAR;
  2453. end;
  2454. _FIND_NAME_HEADER = FIND_NAME_HEADER;
  2455. FINDREPLACE = record
  2456. lStructSize : DWORD;
  2457. hwndOwner : HWND;
  2458. hInstance : HINSTANCE;
  2459. Flags : DWORD;
  2460. lpstrFindWhat : LPTSTR;
  2461. lpstrReplaceWith : LPTSTR;
  2462. wFindWhatLen : WORD;
  2463. wReplaceWithLen : WORD;
  2464. lCustData : LPARAM;
  2465. lpfnHook : LPFRHOOKPROC;
  2466. lpTemplateName : LPCTSTR;
  2467. end;
  2468. LPFINDREPLACE = ^FINDREPLACE;
  2469. {FINDTEXT = record conflicts with FindText function }
  2470. TFINDTEXT = record
  2471. chrg : CHARRANGE;
  2472. lpstrText : LPSTR;
  2473. end;
  2474. _findtext = TFINDTEXT;
  2475. FINDTEXTEX = record
  2476. chrg : CHARRANGE;
  2477. lpstrText : LPSTR;
  2478. chrgText : CHARRANGE;
  2479. end;
  2480. _findtextex = FINDTEXTEX;
  2481. FMS_GETDRIVEINFO = record
  2482. dwTotalSpace : DWORD;
  2483. dwFreeSpace : DWORD;
  2484. szPath : array[0..259] of TCHAR;
  2485. szVolume : array[0..13] of TCHAR;
  2486. szShare : array[0..127] of TCHAR;
  2487. end;
  2488. _FMS_GETDRIVEINFO = FMS_GETDRIVEINFO;
  2489. FMS_GETFILESEL = record
  2490. ftTime : FILETIME;
  2491. dwSize : DWORD;
  2492. bAttr : BYTE;
  2493. szName : array[0..259] of TCHAR;
  2494. end;
  2495. _FMS_GETFILESEL = FMS_GETFILESEL;
  2496. FMS_LOAD = record
  2497. dwSize : DWORD;
  2498. szMenuName : array[0..(MENU_TEXT_LEN)-1] of TCHAR;
  2499. hMenu : HMENU;
  2500. wMenuDelta : UINT;
  2501. end;
  2502. _FMS_LOAD = FMS_LOAD;
  2503. FMS_TOOLBARLOAD = record
  2504. dwSize : DWORD;
  2505. lpButtons : LPEXT_BUTTON;
  2506. cButtons : WORD;
  2507. cBitmaps : WORD;
  2508. idBitmap : WORD;
  2509. hBitmap : HBITMAP;
  2510. end;
  2511. _FMS_TOOLBARLOAD = FMS_TOOLBARLOAD;
  2512. FOCUS_EVENT_RECORD = record
  2513. bSetFocus : WINBOOL;
  2514. end;
  2515. _FOCUS_EVENT_RECORD = FOCUS_EVENT_RECORD;
  2516. FORM_INFO_1 = record
  2517. Flags : DWORD;
  2518. pName : LPTSTR;
  2519. Size : SIZEL;
  2520. ImageableArea : RECTL;
  2521. end;
  2522. _FORM_INFO_1 = FORM_INFO_1;
  2523. FORMAT_PARAMETERS = record
  2524. MediaType : MEDIA_TYPE;
  2525. StartCylinderNumber : DWORD;
  2526. EndCylinderNumber : DWORD;
  2527. StartHeadNumber : DWORD;
  2528. EndHeadNumber : DWORD;
  2529. end;
  2530. _FORMAT_PARAMETERS = FORMAT_PARAMETERS;
  2531. FORMATRANGE = record
  2532. _hdc : HDC;
  2533. hdcTarget : HDC;
  2534. rc : RECT;
  2535. rcPage : RECT;
  2536. chrg : CHARRANGE;
  2537. end;
  2538. _formatrange = FORMATRANGE;
  2539. GCP_RESULTS = record
  2540. lStructSize : DWORD;
  2541. lpOutString : LPTSTR;
  2542. lpOrder : ^UINT;
  2543. lpDx : ^INT;
  2544. lpCaretPos : ^INT;
  2545. lpClass : LPTSTR;
  2546. lpGlyphs : ^UINT;
  2547. nGlyphs : UINT;
  2548. nMaxFit : UINT;
  2549. end;
  2550. LPGCP_RESULTS = ^GCP_RESULTS;
  2551. tagGCP_RESULTS = GCP_RESULTS;
  2552. GENERIC_MAPPING = record
  2553. GenericRead : ACCESS_MASK;
  2554. GenericWrite : ACCESS_MASK;
  2555. GenericExecute : ACCESS_MASK;
  2556. GenericAll : ACCESS_MASK;
  2557. end;
  2558. PGENERIC_MAPPING = ^GENERIC_MAPPING;
  2559. _GENERIC_MAPPING = GENERIC_MAPPING;
  2560. GLYPHMETRICS = record
  2561. gmBlackBoxX : UINT;
  2562. gmBlackBoxY : UINT;
  2563. gmptGlyphOrigin : POINT;
  2564. gmCellIncX : integer;
  2565. gmCellIncY : integer;
  2566. end;
  2567. LPGLYPHMETRICS = ^GLYPHMETRICS;
  2568. _GLYPHMETRICS = GLYPHMETRICS;
  2569. HANDLETABLE = record
  2570. objectHandle : array[0..0] of HGDIOBJ;
  2571. end;
  2572. LPHANDLETABLE = ^HANDLETABLE;
  2573. tagHANDLETABLE = HANDLETABLE;
  2574. HD_HITTESTINFO = record
  2575. pt : POINT;
  2576. flags : UINT;
  2577. iItem : longint;
  2578. end;
  2579. _HD_HITTESTINFO = HD_HITTESTINFO;
  2580. HD_ITEM = record
  2581. mask : UINT;
  2582. cxy : longint;
  2583. pszText : LPTSTR;
  2584. hbm : HBITMAP;
  2585. cchTextMax : longint;
  2586. fmt : longint;
  2587. lParam : LPARAM;
  2588. end;
  2589. _HD_ITEM = HD_ITEM;
  2590. WINDOWPOS = record
  2591. _hwnd : HWND;
  2592. hwndInsertAfter : HWND;
  2593. x : longint;
  2594. y : longint;
  2595. cx : longint;
  2596. cy : longint;
  2597. flags : UINT;
  2598. end;
  2599. PWINDOWPOS = ^WINDOWPOS;
  2600. LPWINDOWPOS = ^WINDOWPOS;
  2601. _WINDOWPOS = WINDOWPOS;
  2602. HD_LAYOUT = record
  2603. prc : ^RECT;
  2604. pwpos : ^WINDOWPOS;
  2605. end;
  2606. _HD_LAYOUT = HD_LAYOUT;
  2607. HD_NOTIFY = record
  2608. hdr : NMHDR;
  2609. iItem : longint;
  2610. iButton : longint;
  2611. pitem : ^HD_ITEM;
  2612. end;
  2613. _HD_NOTIFY = HD_NOTIFY;
  2614. HELPINFO = record
  2615. cbSize : UINT;
  2616. iContextType : longint;
  2617. iCtrlId : longint;
  2618. hItemHandle : HANDLE;
  2619. dwContextId : DWORD;
  2620. MousePos : POINT;
  2621. end;
  2622. LPHELPINFO = ^HELPINFO;
  2623. tagHELPINFO = HELPINFO;
  2624. HELPWININFO = record
  2625. wStructSize : longint;
  2626. x : longint;
  2627. y : longint;
  2628. dx : longint;
  2629. dy : longint;
  2630. wMax : longint;
  2631. rgchMember : array[0..1] of TCHAR;
  2632. end;
  2633. HIGHCONTRAST = record
  2634. cbSize : UINT;
  2635. dwFlags : DWORD;
  2636. lpszDefaultScheme : LPTSTR;
  2637. end;
  2638. LPHIGHCONTRAST = ^HIGHCONTRAST;
  2639. tagHIGHCONTRAST = HIGHCONTRAST;
  2640. HSZPAIR = record
  2641. hszSvc : HSZ;
  2642. hszTopic : HSZ;
  2643. end;
  2644. tagHSZPAIR = HSZPAIR;
  2645. ICONINFO = record
  2646. fIcon : WINBOOL;
  2647. xHotspot : DWORD;
  2648. yHotspot : DWORD;
  2649. hbmMask : HBITMAP;
  2650. hbmColor : HBITMAP;
  2651. end;
  2652. PICONINFO = ^ICONINFO;
  2653. _ICONINFO = ICONINFO;
  2654. ICONMETRICS = record
  2655. cbSize : UINT;
  2656. iHorzSpacing : longint;
  2657. iVertSpacing : longint;
  2658. iTitleWrap : longint;
  2659. lfFont : LOGFONT;
  2660. end;
  2661. LPICONMETRICS = ^ICONMETRICS;
  2662. tagICONMETRICS = ICONMETRICS;
  2663. IMAGEINFO = record
  2664. hbmImage : HBITMAP;
  2665. hbmMask : HBITMAP;
  2666. Unused1 : longint;
  2667. Unused2 : longint;
  2668. rcImage : RECT;
  2669. end;
  2670. _IMAGEINFO = IMAGEINFO;
  2671. {$PACKRECORDS 1}
  2672. type
  2673. KEY_EVENT_RECORD = record
  2674. bKeyDown : WINBOOL;
  2675. wRepeatCount : WORD;
  2676. wVirtualKeyCode : WORD;
  2677. wVirtualScanCode : WORD;
  2678. AsciiChar : char;
  2679. pad : char;
  2680. uChar : record
  2681. case longint of
  2682. 0 : ( UnicodeChar : WCHAR );
  2683. 1 : ( AsciiChar : CHAR );
  2684. end;
  2685. dwControlKeyState : DWORD;
  2686. end;
  2687. _KEY_EVENT_RECORD = KEY_EVENT_RECORD;
  2688. {$PACKRECORDS 4}
  2689. MOUSE_EVENT_RECORD = record
  2690. dwMousePosition : COORD;
  2691. dwButtonState : DWORD;
  2692. dwControlKeyState : DWORD;
  2693. dwEventFlags : DWORD;
  2694. end;
  2695. _MOUSE_EVENT_RECORD = MOUSE_EVENT_RECORD;
  2696. WINDOW_BUFFER_SIZE_RECORD = record
  2697. dwSize : COORD;
  2698. end;
  2699. _WINDOW_BUFFER_SIZE_RECORD = WINDOW_BUFFER_SIZE_RECORD;
  2700. MENU_EVENT_RECORD = record
  2701. dwCommandId : UINT;
  2702. end;
  2703. PMENU_EVENT_RECORD = ^MENU_EVENT_RECORD;
  2704. _MENU_EVENT_RECORD = MENU_EVENT_RECORD;
  2705. {$ifndef __cplus_plus}
  2706. { this will be the wrong size in c++ }
  2707. {$endif}
  2708. type
  2709. INPUT_RECORD = record
  2710. EventType : WORD;
  2711. Event : record
  2712. case longint of
  2713. 0 : ( KeyEvent : KEY_EVENT_RECORD );
  2714. 1 : ( MouseEvent : MOUSE_EVENT_RECORD );
  2715. 2 : ( WindowBufferSizeEvent : WINDOW_BUFFER_SIZE_RECORD );
  2716. 3 : ( MenuEvent : MENU_EVENT_RECORD );
  2717. 4 : ( FocusEvent : FOCUS_EVENT_RECORD );
  2718. end;
  2719. end;
  2720. PINPUT_RECORD = ^INPUT_RECORD;
  2721. _INPUT_RECORD = INPUT_RECORD;
  2722. SYSTEMTIME = record
  2723. wYear : WORD;
  2724. wMonth : WORD;
  2725. wDayOfWeek : WORD;
  2726. wDay : WORD;
  2727. wHour : WORD;
  2728. wMinute : WORD;
  2729. wSecond : WORD;
  2730. wMilliseconds : WORD;
  2731. end;
  2732. LPSYSTEMTIME = ^SYSTEMTIME;
  2733. _SYSTEMTIME = SYSTEMTIME;
  2734. JOB_INFO_1 = record
  2735. JobId : DWORD;
  2736. pPrinterName : LPTSTR;
  2737. pMachineName : LPTSTR;
  2738. pUserName : LPTSTR;
  2739. pDocument : LPTSTR;
  2740. pDatatype : LPTSTR;
  2741. pStatus : LPTSTR;
  2742. Status : DWORD;
  2743. Priority : DWORD;
  2744. Position : DWORD;
  2745. TotalPages : DWORD;
  2746. PagesPrinted : DWORD;
  2747. Submitted : SYSTEMTIME;
  2748. end;
  2749. _JOB_INFO_1 = JOB_INFO_1;
  2750. SID_IDENTIFIER_AUTHORITY = record
  2751. Value : array[0..5] of BYTE;
  2752. end;
  2753. PSID_IDENTIFIER_AUTHORITY = ^SID_IDENTIFIER_AUTHORITY;
  2754. LPSID_IDENTIFIER_AUTHORITY = ^SID_IDENTIFIER_AUTHORITY;
  2755. _SID_IDENTIFIER_AUTHORITY = SID_IDENTIFIER_AUTHORITY;
  2756. SID = record
  2757. Revision : BYTE;
  2758. SubAuthorityCount : BYTE;
  2759. IdentifierAuthority : SID_IDENTIFIER_AUTHORITY;
  2760. SubAuthority : array[0..(ANYSIZE_ARRAY)-1] of DWORD;
  2761. end;
  2762. PSID = ^SID;
  2763. _SID = SID;
  2764. SECURITY_DESCRIPTOR_CONTROL = WORD;
  2765. PSECURITY_DESCRIPTOR_CONTROL = ^SECURITY_DESCRIPTOR_CONTROL;
  2766. SECURITY_DESCRIPTOR = record
  2767. Revision : BYTE;
  2768. Sbz1 : BYTE;
  2769. Control : SECURITY_DESCRIPTOR_CONTROL;
  2770. Owner : PSID;
  2771. Group : PSID;
  2772. Sacl : PACL;
  2773. Dacl : PACL;
  2774. end;
  2775. PSECURITY_DESCRIPTOR = ^SECURITY_DESCRIPTOR;
  2776. _SECURITY_DESCRIPTOR = SECURITY_DESCRIPTOR;
  2777. JOB_INFO_2 = record
  2778. JobId : DWORD;
  2779. pPrinterName : LPTSTR;
  2780. pMachineName : LPTSTR;
  2781. pUserName : LPTSTR;
  2782. pDocument : LPTSTR;
  2783. pNotifyName : LPTSTR;
  2784. pDatatype : LPTSTR;
  2785. pPrintProcessor : LPTSTR;
  2786. pParameters : LPTSTR;
  2787. pDriverName : LPTSTR;
  2788. pDevMode : LPDEVMODE;
  2789. pStatus : LPTSTR;
  2790. pSecurityDescriptor : PSECURITY_DESCRIPTOR;
  2791. Status : DWORD;
  2792. Priority : DWORD;
  2793. Position : DWORD;
  2794. StartTime : DWORD;
  2795. UntilTime : DWORD;
  2796. TotalPages : DWORD;
  2797. Size : DWORD;
  2798. Submitted : SYSTEMTIME;
  2799. Time : DWORD;
  2800. PagesPrinted : DWORD;
  2801. end;
  2802. _JOB_INFO_2 = JOB_INFO_2;
  2803. KERNINGPAIR = record
  2804. wFirst : WORD;
  2805. wSecond : WORD;
  2806. iKernAmount : longint;
  2807. end;
  2808. LPKERNINGPAIR = ^KERNINGPAIR;
  2809. tagKERNINGPAIR = KERNINGPAIR;
  2810. LANA_ENUM = record
  2811. length : UCHAR;
  2812. lana : array[0..(MAX_LANA)-1] of UCHAR;
  2813. end;
  2814. _LANA_ENUM = LANA_ENUM;
  2815. LDT_ENTRY = record
  2816. LimitLow : WORD;
  2817. BaseLow : WORD;
  2818. HighWord : record
  2819. case longint of
  2820. 0 : ( Bytes : record
  2821. BaseMid : BYTE;
  2822. Flags1 : BYTE;
  2823. Flags2 : BYTE;
  2824. BaseHi : BYTE;
  2825. end );
  2826. 1 : ( Bits : record
  2827. flag0 : longint;
  2828. end );
  2829. end;
  2830. end;
  2831. PLDT_ENTRY = ^LDT_ENTRY;
  2832. LPLDT_ENTRY = ^LDT_ENTRY;
  2833. _LDT_ENTRY = LDT_ENTRY;
  2834. const
  2835. bm_LDT_ENTRY_BaseMid = $FF;
  2836. bp_LDT_ENTRY_BaseMid = 0;
  2837. bm_LDT_ENTRY_Type = $1F00;
  2838. bp_LDT_ENTRY_Type = 8;
  2839. bm_LDT_ENTRY_Dpl = $6000;
  2840. bp_LDT_ENTRY_Dpl = 13;
  2841. bm_LDT_ENTRY_Pres = $8000;
  2842. bp_LDT_ENTRY_Pres = 15;
  2843. bm_LDT_ENTRY_LimitHi = $F0000;
  2844. bp_LDT_ENTRY_LimitHi = 16;
  2845. bm_LDT_ENTRY_Sys = $100000;
  2846. bp_LDT_ENTRY_Sys = 20;
  2847. bm_LDT_ENTRY_Reserved_0 = $200000;
  2848. bp_LDT_ENTRY_Reserved_0 = 21;
  2849. bm_LDT_ENTRY_Default_Big = $400000;
  2850. bp_LDT_ENTRY_Default_Big = 22;
  2851. bm_LDT_ENTRY_Granularity = $800000;
  2852. bp_LDT_ENTRY_Granularity = 23;
  2853. bm_LDT_ENTRY_BaseHi = $FF000000;
  2854. bp_LDT_ENTRY_BaseHi = 24;
  2855. type
  2856. LOCALESIGNATURE = record
  2857. lsUsb : array[0..3] of DWORD;
  2858. lsCsbDefault : array[0..1] of DWORD;
  2859. lsCsbSupported : array[0..1] of DWORD;
  2860. end;
  2861. tagLOCALESIGNATURE = LOCALESIGNATURE;
  2862. LOCALGROUP_MEMBERS_INFO_0 = record
  2863. lgrmi0_sid : PSID;
  2864. end;
  2865. _LOCALGROUP_MEMBERS_INFO_0 = LOCALGROUP_MEMBERS_INFO_0;
  2866. LOCALGROUP_MEMBERS_INFO_3 = record
  2867. lgrmi3_domainandname : LPWSTR;
  2868. end;
  2869. _LOCALGROUP_MEMBERS_INFO_3 = LOCALGROUP_MEMBERS_INFO_3;
  2870. FXPT16DOT16 = longint;
  2871. LPFXPT16DOT16 = ^FXPT16DOT16;
  2872. LUID = LARGE_INTEGER;
  2873. PLUID = ^LUID;
  2874. LUID_AND_ATTRIBUTES = record
  2875. Luid : LUID;
  2876. Attributes : DWORD;
  2877. end;
  2878. _LUID_AND_ATTRIBUTES = LUID_AND_ATTRIBUTES;
  2879. LUID_AND_ATTRIBUTES_ARRAY = array[0..(ANYSIZE_ARRAY)-1] of LUID_AND_ATTRIBUTES;
  2880. PLUID_AND_ATTRIBUTES_ARRAY = ^LUID_AND_ATTRIBUTES_ARRAY;
  2881. LV_COLUMN = record
  2882. mask : UINT;
  2883. fmt : longint;
  2884. cx : longint;
  2885. pszText : LPTSTR;
  2886. cchTextMax : longint;
  2887. iSubItem : longint;
  2888. end;
  2889. _LV_COLUMN = LV_COLUMN;
  2890. LV_ITEM = record
  2891. mask : UINT;
  2892. iItem : longint;
  2893. iSubItem : longint;
  2894. state : UINT;
  2895. stateMask : UINT;
  2896. pszText : LPTSTR;
  2897. cchTextMax : longint;
  2898. iImage : longint;
  2899. lParam : LPARAM;
  2900. end;
  2901. _LV_ITEM = LV_ITEM;
  2902. LV_DISPINFO = record
  2903. hdr : NMHDR;
  2904. item : LV_ITEM;
  2905. end;
  2906. tagLV_DISPINFO = LV_DISPINFO;
  2907. LV_FINDINFO = record
  2908. flags : UINT;
  2909. psz : LPCTSTR;
  2910. lParam : LPARAM;
  2911. pt : POINT;
  2912. vkDirection : UINT;
  2913. end;
  2914. _LV_FINDINFO = LV_FINDINFO;
  2915. LV_HITTESTINFO = record
  2916. pt : POINT;
  2917. flags : UINT;
  2918. iItem : longint;
  2919. end;
  2920. _LV_HITTESTINFO = LV_HITTESTINFO;
  2921. LV_KEYDOWN = record
  2922. hdr : NMHDR;
  2923. wVKey : WORD;
  2924. flags : UINT;
  2925. end;
  2926. tagLV_KEYDOWN = LV_KEYDOWN;
  2927. MAT2 = record
  2928. eM11 : FIXED;
  2929. eM12 : FIXED;
  2930. eM21 : FIXED;
  2931. eM22 : FIXED;
  2932. end;
  2933. _MAT2 = MAT2;
  2934. MDICREATESTRUCT = record
  2935. szClass : LPCTSTR;
  2936. szTitle : LPCTSTR;
  2937. hOwner : HANDLE;
  2938. x : longint;
  2939. y : longint;
  2940. cx : longint;
  2941. cy : longint;
  2942. style : DWORD;
  2943. lParam : LPARAM;
  2944. end;
  2945. tagMDICREATESTRUCT = MDICREATESTRUCT;
  2946. LPMDICREATESTRUCT = ^MDICREATESTRUCT;
  2947. MEASUREITEMSTRUCT = record
  2948. CtlType : UINT;
  2949. CtlID : UINT;
  2950. itemID : UINT;
  2951. itemWidth : UINT;
  2952. itemHeight : UINT;
  2953. itemData : DWORD;
  2954. end;
  2955. LPMEASUREITEMSTRUCT = ^MEASUREITEMSTRUCT;
  2956. tagMEASUREITEMSTRUCT = MEASUREITEMSTRUCT;
  2957. MEMORY_BASIC_INFORMATION = record
  2958. BaseAddress : PVOID;
  2959. AllocationBase : PVOID;
  2960. AllocationProtect : DWORD;
  2961. RegionSize : DWORD;
  2962. State : DWORD;
  2963. Protect : DWORD;
  2964. _Type : DWORD;
  2965. end;
  2966. _MEMORY_BASIC_INFORMATION = MEMORY_BASIC_INFORMATION;
  2967. PMEMORY_BASIC_INFORMATION = ^MEMORY_BASIC_INFORMATION;
  2968. MEMORYSTATUS = record
  2969. dwLength : DWORD;
  2970. dwMemoryLoad : DWORD;
  2971. dwTotalPhys : DWORD;
  2972. dwAvailPhys : DWORD;
  2973. dwTotalPageFile : DWORD;
  2974. dwAvailPageFile : DWORD;
  2975. dwTotalVirtual : DWORD;
  2976. dwAvailVirtual : DWORD;
  2977. end;
  2978. LPMEMORYSTATUS = ^MEMORYSTATUS;
  2979. _MEMORYSTATUS = MEMORYSTATUS;
  2980. MENUEX_TEMPLATE_HEADER = record
  2981. wVersion : WORD;
  2982. wOffset : WORD;
  2983. dwHelpId : DWORD;
  2984. end;
  2985. MENUEX_TEMPLATE_ITEM = record
  2986. dwType : DWORD;
  2987. dwState : DWORD;
  2988. uId : UINT;
  2989. bResInfo : BYTE;
  2990. szText : array[0..0] of WCHAR;
  2991. dwHelpId : DWORD;
  2992. end;
  2993. MENUITEMINFO = record
  2994. cbSize : UINT;
  2995. fMask : UINT;
  2996. fType : UINT;
  2997. fState : UINT;
  2998. wID : UINT;
  2999. hSubMenu : HMENU;
  3000. hbmpChecked : HBITMAP;
  3001. hbmpUnchecked : HBITMAP;
  3002. dwItemData : DWORD;
  3003. dwTypeData : LPTSTR;
  3004. cch : UINT;
  3005. end;
  3006. LPMENUITEMINFO = ^MENUITEMINFO;
  3007. tagMENUITEMINFO = MENUITEMINFO;
  3008. (* Const before declarator ignored *)
  3009. LPCMENUITEMINFO = ^MENUITEMINFO;
  3010. MENUITEMTEMPLATE = record
  3011. mtOption : WORD;
  3012. mtID : WORD;
  3013. mtString : array[0..0] of WCHAR;
  3014. end;
  3015. MENUITEMTEMPLATEHEADER = record
  3016. versionNumber : WORD;
  3017. offset : WORD;
  3018. end;
  3019. MENUTEMPLATE = record
  3020. end;
  3021. LPMENUTEMPLATE = ^MENUTEMPLATE;
  3022. METAFILEPICT = record
  3023. mm : LONG;
  3024. xExt : LONG;
  3025. yExt : LONG;
  3026. hMF : HMETAFILE;
  3027. end;
  3028. PMETAFILEPICT = ^METAFILEPICT;
  3029. LPMETAFILEPICT = ^METAFILEPICT;
  3030. tagMETAFILEPICT = METAFILEPICT;
  3031. {$PACKRECORDS 1}
  3032. METAHEADER = record
  3033. mtType : WORD;
  3034. mtHeaderSize : WORD;
  3035. mtVersion : WORD;
  3036. mtSize : DWORD;
  3037. mtNoObjects : WORD;
  3038. mtMaxRecord : DWORD;
  3039. mtNoParameters : WORD;
  3040. end;
  3041. tagMETAHEADER = METAHEADER;
  3042. {$PACKRECORDS 4}
  3043. METARECORD = record
  3044. rdSize : DWORD;
  3045. rdFunction : WORD;
  3046. rdParm : array[0..0] of WORD;
  3047. end;
  3048. LPMETARECORD = ^METARECORD;
  3049. tagMETARECORD = METARECORD;
  3050. MINIMIZEDMETRICS = record
  3051. cbSize : UINT;
  3052. iWidth : longint;
  3053. iHorzGap : longint;
  3054. iVertGap : longint;
  3055. iArrange : longint;
  3056. end;
  3057. LPMINIMIZEDMETRICS = ^MINIMIZEDMETRICS;
  3058. tagMINIMIZEDMETRICS = MINIMIZEDMETRICS;
  3059. MINMAXINFO = record
  3060. ptReserved : POINT;
  3061. ptMaxSize : POINT;
  3062. ptMaxPosition : POINT;
  3063. ptMinTrackSize : POINT;
  3064. ptMaxTrackSize : POINT;
  3065. end;
  3066. tagMINMAXINFO = MINMAXINFO;
  3067. MODEMDEVCAPS = record
  3068. dwActualSize : DWORD;
  3069. dwRequiredSize : DWORD;
  3070. dwDevSpecificOffset : DWORD;
  3071. dwDevSpecificSize : DWORD;
  3072. dwModemProviderVersion : DWORD;
  3073. dwModemManufacturerOffset : DWORD;
  3074. dwModemManufacturerSize : DWORD;
  3075. dwModemModelOffset : DWORD;
  3076. dwModemModelSize : DWORD;
  3077. dwModemVersionOffset : DWORD;
  3078. dwModemVersionSize : DWORD;
  3079. dwDialOptions : DWORD;
  3080. dwCallSetupFailTimer : DWORD;
  3081. dwInactivityTimeout : DWORD;
  3082. dwSpeakerVolume : DWORD;
  3083. dwSpeakerMode : DWORD;
  3084. dwModemOptions : DWORD;
  3085. dwMaxDTERate : DWORD;
  3086. dwMaxDCERate : DWORD;
  3087. abVariablePortion : array[0..0] of BYTE;
  3088. end;
  3089. PMODEMDEVCAPS = ^MODEMDEVCAPS;
  3090. LPMODEMDEVCAPS = ^MODEMDEVCAPS;
  3091. modemdevcaps_tag = MODEMDEVCAPS;
  3092. MODEMSETTINGS = record
  3093. dwActualSize : DWORD;
  3094. dwRequiredSize : DWORD;
  3095. dwDevSpecificOffset : DWORD;
  3096. dwDevSpecificSize : DWORD;
  3097. dwCallSetupFailTimer : DWORD;
  3098. dwInactivityTimeout : DWORD;
  3099. dwSpeakerVolume : DWORD;
  3100. dwSpeakerMode : DWORD;
  3101. dwPreferredModemOptions : DWORD;
  3102. dwNegotiatedModemOptions : DWORD;
  3103. dwNegotiatedDCERate : DWORD;
  3104. abVariablePortion : array[0..0] of BYTE;
  3105. end;
  3106. PMODEMSETTINGS = ^MODEMSETTINGS;
  3107. LPMODEMSETTINGS = ^MODEMSETTINGS;
  3108. modemsettings_tag = MODEMSETTINGS;
  3109. MONCBSTRUCT = record
  3110. cb : UINT;
  3111. dwTime : DWORD;
  3112. hTask : HANDLE;
  3113. dwRet : DWORD;
  3114. wType : UINT;
  3115. wFmt : UINT;
  3116. hConv : HCONV;
  3117. hsz1 : HSZ;
  3118. hsz2 : HSZ;
  3119. hData : HDDEDATA;
  3120. dwData1 : DWORD;
  3121. dwData2 : DWORD;
  3122. cc : CONVCONTEXT;
  3123. cbData : DWORD;
  3124. Data : array[0..7] of DWORD;
  3125. end;
  3126. tagMONCBSTRUCT = MONCBSTRUCT;
  3127. MONCONVSTRUCT = record
  3128. cb : UINT;
  3129. fConnect : WINBOOL;
  3130. dwTime : DWORD;
  3131. hTask : HANDLE;
  3132. hszSvc : HSZ;
  3133. hszTopic : HSZ;
  3134. hConvClient : HCONV;
  3135. hConvServer : HCONV;
  3136. end;
  3137. tagMONCONVSTRUCT = MONCONVSTRUCT;
  3138. MONERRSTRUCT = record
  3139. cb : UINT;
  3140. wLastError : UINT;
  3141. dwTime : DWORD;
  3142. hTask : HANDLE;
  3143. end;
  3144. tagMONERRSTRUCT = MONERRSTRUCT;
  3145. MONHSZSTRUCT = record
  3146. cb : UINT;
  3147. fsAction : WINBOOL;
  3148. dwTime : DWORD;
  3149. hsz : HSZ;
  3150. hTask : HANDLE;
  3151. str : array[0..0] of TCHAR;
  3152. end;
  3153. tagMONHSZSTRUCT = MONHSZSTRUCT;
  3154. MONITOR_INFO_1 = record
  3155. pName : LPTSTR;
  3156. end;
  3157. _MONITOR_INFO_1 = MONITOR_INFO_1;
  3158. MONITOR_INFO_2 = record
  3159. pName : LPTSTR;
  3160. pEnvironment : LPTSTR;
  3161. pDLLName : LPTSTR;
  3162. end;
  3163. _MONITOR_INFO_2 = MONITOR_INFO_2;
  3164. MONLINKSTRUCT = record
  3165. cb : UINT;
  3166. dwTime : DWORD;
  3167. hTask : HANDLE;
  3168. fEstablished : WINBOOL;
  3169. fNoData : WINBOOL;
  3170. hszSvc : HSZ;
  3171. hszTopic : HSZ;
  3172. hszItem : HSZ;
  3173. wFmt : UINT;
  3174. fServer : WINBOOL;
  3175. hConvServer : HCONV;
  3176. hConvClient : HCONV;
  3177. end;
  3178. tagMONLINKSTRUCT = MONLINKSTRUCT;
  3179. MONMSGSTRUCT = record
  3180. cb : UINT;
  3181. hwndTo : HWND;
  3182. dwTime : DWORD;
  3183. hTask : HANDLE;
  3184. wMsg : UINT;
  3185. wParam : WPARAM;
  3186. lParam : LPARAM;
  3187. dmhd : DDEML_MSG_HOOK_DATA;
  3188. end;
  3189. tagMONMSGSTRUCT = MONMSGSTRUCT;
  3190. MOUSEHOOKSTRUCT = record
  3191. pt : POINT;
  3192. hwnd : HWND;
  3193. wHitTestCode : UINT;
  3194. dwExtraInfo : DWORD;
  3195. end;
  3196. PMOUSEHOOKSTRUCT = ^MOUSEHOOKSTRUCT;
  3197. LPMOUSEHOOKSTRUCT = ^MOUSEHOOKSTRUCT;
  3198. tagMOUSEHOOKSTRUCT = MOUSEHOOKSTRUCT;
  3199. MOUSEKEYS = record
  3200. cbSize : DWORD;
  3201. dwFlags : DWORD;
  3202. iMaxSpeed : DWORD;
  3203. iTimeToMaxSpeed : DWORD;
  3204. iCtrlSpeed : DWORD;
  3205. dwReserved1 : DWORD;
  3206. dwReserved2 : DWORD;
  3207. end;
  3208. _MOUSEKEYS = MOUSEKEYS;
  3209. MSG = record
  3210. hwnd : HWND;
  3211. message : UINT;
  3212. wParam : WPARAM;
  3213. lParam : LPARAM;
  3214. time : DWORD;
  3215. pt : POINT;
  3216. end;
  3217. LPMSG = ^MSG;
  3218. tagMSG = MSG;
  3219. MSGBOXCALLBACK = procedure (lpHelpInfo:LPHELPINFO);
  3220. MSGBOXPARAMS = record
  3221. cbSize : UINT;
  3222. hwndOwner : HWND;
  3223. hInstance : HINSTANCE;
  3224. lpszText : LPCSTR;
  3225. lpszCaption : LPCSTR;
  3226. dwStyle : DWORD;
  3227. lpszIcon : LPCSTR;
  3228. dwContextHelpId : DWORD;
  3229. lpfnMsgBoxCallback : MSGBOXCALLBACK;
  3230. dwLanguageId : DWORD;
  3231. end;
  3232. PMSGBOXPARAMS = ^MSGBOXPARAMS;
  3233. LPMSGBOXPARAMS = ^MSGBOXPARAMS;
  3234. MSGFILTER = record
  3235. nmhdr : NMHDR;
  3236. msg : UINT;
  3237. wParam : WPARAM;
  3238. lParam : LPARAM;
  3239. end;
  3240. _msgfilter = MSGFILTER;
  3241. MULTIKEYHELP = record
  3242. mkSize : DWORD;
  3243. mkKeylist : TCHAR;
  3244. szKeyphrase : array[0..0] of TCHAR;
  3245. end;
  3246. tagMULTIKEYHELP = MULTIKEYHELP;
  3247. NAME_BUFFER = record
  3248. name : array[0..(NCBNAMSZ)-1] of UCHAR;
  3249. name_num : UCHAR;
  3250. name_flags : UCHAR;
  3251. end;
  3252. _NAME_BUFFER = NAME_BUFFER;
  3253. p_NCB = ^_NCB;
  3254. NCB = record
  3255. ncb_command : UCHAR;
  3256. ncb_retcode : UCHAR;
  3257. ncb_lsn : UCHAR;
  3258. ncb_num : UCHAR;
  3259. ncb_buffer : PUCHAR;
  3260. ncb_length : WORD;
  3261. ncb_callname : array[0..(NCBNAMSZ)-1] of UCHAR;
  3262. ncb_name : array[0..(NCBNAMSZ)-1] of UCHAR;
  3263. ncb_rto : UCHAR;
  3264. ncb_sto : UCHAR;
  3265. ncb_post : procedure (_para1:p_NCB);CDECL;
  3266. ncb_lana_num : UCHAR;
  3267. ncb_cmd_cplt : UCHAR;
  3268. ncb_reserve : array[0..9] of UCHAR;
  3269. ncb_event : HANDLE;
  3270. end;
  3271. _NCB = NCB;
  3272. NCCALCSIZE_PARAMS = record
  3273. rgrc : array[0..2] of RECT;
  3274. lppos : PWINDOWPOS;
  3275. end;
  3276. _NCCALCSIZE_PARAMS = NCCALCSIZE_PARAMS;
  3277. NDDESHAREINFO = record
  3278. lRevision : LONG;
  3279. lpszShareName : LPTSTR;
  3280. lShareType : LONG;
  3281. lpszAppTopicList : LPTSTR;
  3282. fSharedFlag : LONG;
  3283. fService : LONG;
  3284. fStartAppFlag : LONG;
  3285. nCmdShow : LONG;
  3286. qModifyId : array[0..1] of LONG;
  3287. cNumItems : LONG;
  3288. lpszItemList : LPTSTR;
  3289. end;
  3290. _NDDESHAREINFO = NDDESHAREINFO;
  3291. NETRESOURCE = record
  3292. dwScope : DWORD;
  3293. dwType : DWORD;
  3294. dwDisplayType : DWORD;
  3295. dwUsage : DWORD;
  3296. lpLocalName : LPTSTR;
  3297. lpRemoteName : LPTSTR;
  3298. lpComment : LPTSTR;
  3299. lpProvider : LPTSTR;
  3300. end;
  3301. LPNETRESOURCE = ^NETRESOURCE;
  3302. _NETRESOURCE = NETRESOURCE;
  3303. NEWCPLINFO = record
  3304. dwSize : DWORD;
  3305. dwFlags : DWORD;
  3306. dwHelpContext : DWORD;
  3307. lData : LONG;
  3308. hIcon : HICON;
  3309. szName : array[0..31] of TCHAR;
  3310. szInfo : array[0..63] of TCHAR;
  3311. szHelpFile : array[0..127] of TCHAR;
  3312. end;
  3313. tagNEWCPLINFO = NEWCPLINFO;
  3314. NEWTEXTMETRIC = record
  3315. tmHeight : LONG;
  3316. tmAscent : LONG;
  3317. tmDescent : LONG;
  3318. tmInternalLeading : LONG;
  3319. tmExternalLeading : LONG;
  3320. tmAveCharWidth : LONG;
  3321. tmMaxCharWidth : LONG;
  3322. tmWeight : LONG;
  3323. tmOverhang : LONG;
  3324. tmDigitizedAspectX : LONG;
  3325. tmDigitizedAspectY : LONG;
  3326. tmFirstChar : BCHAR;
  3327. tmLastChar : BCHAR;
  3328. tmDefaultChar : BCHAR;
  3329. tmBreakChar : BCHAR;
  3330. tmItalic : BYTE;
  3331. tmUnderlined : BYTE;
  3332. tmStruckOut : BYTE;
  3333. tmPitchAndFamily : BYTE;
  3334. tmCharSet : BYTE;
  3335. ntmFlags : DWORD;
  3336. ntmSizeEM : UINT;
  3337. ntmCellHeight : UINT;
  3338. ntmAvgWidth : UINT;
  3339. end;
  3340. tagNEWTEXTMETRIC = NEWTEXTMETRIC;
  3341. NEWTEXTMETRICEX = record
  3342. ntmentm : NEWTEXTMETRIC;
  3343. ntmeFontSignature : FONTSIGNATURE;
  3344. end;
  3345. tagNEWTEXTMETRICEX = NEWTEXTMETRICEX;
  3346. NM_LISTVIEW = record
  3347. hdr : NMHDR;
  3348. iItem : longint;
  3349. iSubItem : longint;
  3350. uNewState : UINT;
  3351. uOldState : UINT;
  3352. uChanged : UINT;
  3353. ptAction : POINT;
  3354. lParam : LPARAM;
  3355. end;
  3356. tagNM_LISTVIEW = NM_LISTVIEW;
  3357. {$ifndef windows_include_files}
  3358. { already in defines.pp file }
  3359. TREEITEM = record
  3360. end;
  3361. HTREEITEM = ^TREEITEM;
  3362. {$endif windows_include_files}
  3363. TV_ITEM = record
  3364. mask : UINT;
  3365. hItem : HTREEITEM;
  3366. state : UINT;
  3367. stateMask : UINT;
  3368. pszText : LPTSTR;
  3369. cchTextMax : longint;
  3370. iImage : longint;
  3371. iSelectedImage : longint;
  3372. cChildren : longint;
  3373. lParam : LPARAM;
  3374. end;
  3375. LPTV_ITEM = ^TV_ITEM;
  3376. _TV_ITEM = TV_ITEM;
  3377. NM_TREEVIEW = record
  3378. hdr : NMHDR;
  3379. action : UINT;
  3380. itemOld : TV_ITEM;
  3381. itemNew : TV_ITEM;
  3382. ptDrag : POINT;
  3383. end;
  3384. _NM_TREEVIEW = NM_TREEVIEW;
  3385. LPNM_TREEVIEW = ^NM_TREEVIEW;
  3386. NM_UPDOWNW = record
  3387. hdr : NMHDR;
  3388. iPos : longint;
  3389. iDelta : longint;
  3390. end;
  3391. _NM_UPDOWN = NM_UPDOWNW;
  3392. NONCLIENTMETRICS = record
  3393. cbSize : UINT;
  3394. iBorderWidth : longint;
  3395. iScrollWidth : longint;
  3396. iScrollHeight : longint;
  3397. iCaptionWidth : longint;
  3398. iCaptionHeight : longint;
  3399. lfCaptionFont : LOGFONT;
  3400. iSmCaptionWidth : longint;
  3401. iSmCaptionHeight : longint;
  3402. lfSmCaptionFont : LOGFONT;
  3403. iMenuWidth : longint;
  3404. iMenuHeight : longint;
  3405. lfMenuFont : LOGFONT;
  3406. lfStatusFont : LOGFONT;
  3407. lfMessageFont : LOGFONT;
  3408. end;
  3409. LPNONCLIENTMETRICS = ^NONCLIENTMETRICS;
  3410. tagNONCLIENTMETRICS = NONCLIENTMETRICS;
  3411. SERVICE_ADDRESS = record
  3412. dwAddressType : DWORD;
  3413. dwAddressFlags : DWORD;
  3414. dwAddressLength : DWORD;
  3415. dwPrincipalLength : DWORD;
  3416. lpAddress : ^BYTE;
  3417. lpPrincipal : ^BYTE;
  3418. end;
  3419. _SERVICE_ADDRESS = SERVICE_ADDRESS;
  3420. SERVICE_ADDRESSES = record
  3421. dwAddressCount : DWORD;
  3422. Addresses : array[0..0] of SERVICE_ADDRESS;
  3423. end;
  3424. LPSERVICE_ADDRESSES = ^SERVICE_ADDRESSES;
  3425. _SERVICE_ADDRESSES = SERVICE_ADDRESSES;
  3426. GUID = record
  3427. Data1 : cardinal;
  3428. Data2 : word;
  3429. Data3 : word;
  3430. Data4 : array[0..7] of byte;
  3431. end;
  3432. LPGUID = ^GUID;
  3433. _GUID = GUID;
  3434. CLSID = GUID;
  3435. LPCLSID = ^CLSID;
  3436. SERVICE_INFO = record
  3437. lpServiceType : LPGUID;
  3438. lpServiceName : LPTSTR;
  3439. lpComment : LPTSTR;
  3440. lpLocale : LPTSTR;
  3441. dwDisplayHint : DWORD;
  3442. dwVersion : DWORD;
  3443. dwTime : DWORD;
  3444. lpMachineName : LPTSTR;
  3445. lpServiceAddress : LPSERVICE_ADDRESSES;
  3446. ServiceSpecificInfo : BLOB;
  3447. end;
  3448. _SERVICE_INFO = SERVICE_INFO;
  3449. NS_SERVICE_INFO = record
  3450. dwNameSpace : DWORD;
  3451. ServiceInfo : SERVICE_INFO;
  3452. end;
  3453. _NS_SERVICE_INFO = NS_SERVICE_INFO;
  3454. NUMBERFMT = record
  3455. NumDigits : UINT;
  3456. LeadingZero : UINT;
  3457. Grouping : UINT;
  3458. lpDecimalSep : LPTSTR;
  3459. lpThousandSep : LPTSTR;
  3460. NegativeOrder : UINT;
  3461. end;
  3462. _numberfmt = NUMBERFMT;
  3463. OFSTRUCT = record
  3464. cBytes : BYTE;
  3465. fFixedDisk : BYTE;
  3466. nErrCode : WORD;
  3467. Reserved1 : WORD;
  3468. Reserved2 : WORD;
  3469. szPathName : array[0..(OFS_MAXPATHNAME)-1] of CHAR;
  3470. end;
  3471. LPOFSTRUCT = ^OFSTRUCT;
  3472. _OFSTRUCT = OFSTRUCT;
  3473. OPENFILENAME = record
  3474. lStructSize : DWORD;
  3475. hwndOwner : HWND;
  3476. hInstance : HINSTANCE;
  3477. lpstrFilter : LPCTSTR;
  3478. lpstrCustomFilter : LPTSTR;
  3479. nMaxCustFilter : DWORD;
  3480. nFilterIndex : DWORD;
  3481. lpstrFile : LPTSTR;
  3482. nMaxFile : DWORD;
  3483. lpstrFileTitle : LPTSTR;
  3484. nMaxFileTitle : DWORD;
  3485. lpstrInitialDir : LPCTSTR;
  3486. lpstrTitle : LPCTSTR;
  3487. Flags : DWORD;
  3488. nFileOffset : WORD;
  3489. nFileExtension : WORD;
  3490. lpstrDefExt : LPCTSTR;
  3491. lCustData : DWORD;
  3492. lpfnHook : LPOFNHOOKPROC;
  3493. lpTemplateName : LPCTSTR;
  3494. end;
  3495. LPOPENFILENAME = ^OPENFILENAME;
  3496. tagOFN = OPENFILENAME;
  3497. OFNOTIFY = record
  3498. hdr : NMHDR;
  3499. lpOFN : LPOPENFILENAME;
  3500. pszFile : LPTSTR;
  3501. end;
  3502. LPOFNOTIFY = ^OFNOTIFY;
  3503. _OFNOTIFY = OFNOTIFY;
  3504. OSVERSIONINFO = record
  3505. dwOSVersionInfoSize : DWORD;
  3506. dwMajorVersion : DWORD;
  3507. dwMinorVersion : DWORD;
  3508. dwBuildNumber : DWORD;
  3509. dwPlatformId : DWORD;
  3510. szCSDVersion : array[0..127] of TCHAR;
  3511. end;
  3512. POSVERSIONINFO = ^OSVERSIONINFO;
  3513. LPOSVERSIONINFO = ^OSVERSIONINFO;
  3514. _OSVERSIONINFO = OSVERSIONINFO;
  3515. TEXTMETRIC = record
  3516. tmHeight : LONG;
  3517. tmAscent : LONG;
  3518. tmDescent : LONG;
  3519. tmInternalLeading : LONG;
  3520. tmExternalLeading : LONG;
  3521. tmAveCharWidth : LONG;
  3522. tmMaxCharWidth : LONG;
  3523. tmWeight : LONG;
  3524. tmOverhang : LONG;
  3525. tmDigitizedAspectX : LONG;
  3526. tmDigitizedAspectY : LONG;
  3527. tmFirstChar : BCHAR;
  3528. tmLastChar : BCHAR;
  3529. tmDefaultChar : BCHAR;
  3530. tmBreakChar : BCHAR;
  3531. tmItalic : BYTE;
  3532. tmUnderlined : BYTE;
  3533. tmStruckOut : BYTE;
  3534. tmPitchAndFamily : BYTE;
  3535. tmCharSet : BYTE;
  3536. end;
  3537. LPTEXTMETRIC = ^TEXTMETRIC;
  3538. tagTEXTMETRIC = TEXTMETRIC;
  3539. OUTLINETEXTMETRIC = record
  3540. otmSize : UINT;
  3541. otmTextMetrics : TEXTMETRIC;
  3542. otmFiller : BYTE;
  3543. otmPanoseNumber : PANOSE;
  3544. otmfsSelection : UINT;
  3545. otmfsType : UINT;
  3546. otmsCharSlopeRise : longint;
  3547. otmsCharSlopeRun : longint;
  3548. otmItalicAngle : longint;
  3549. otmEMSquare : UINT;
  3550. otmAscent : longint;
  3551. otmDescent : longint;
  3552. otmLineGap : UINT;
  3553. otmsCapEmHeight : UINT;
  3554. otmsXHeight : UINT;
  3555. otmrcFontBox : RECT;
  3556. otmMacAscent : longint;
  3557. otmMacDescent : longint;
  3558. otmMacLineGap : UINT;
  3559. otmusMinimumPPEM : UINT;
  3560. otmptSubscriptSize : POINT;
  3561. otmptSubscriptOffset : POINT;
  3562. otmptSuperscriptSize : POINT;
  3563. otmptSuperscriptOffset : POINT;
  3564. otmsStrikeoutSize : UINT;
  3565. otmsStrikeoutPosition : longint;
  3566. otmsUnderscoreSize : longint;
  3567. otmsUnderscorePosition : longint;
  3568. otmpFamilyName : PSTR;
  3569. otmpFaceName : PSTR;
  3570. otmpStyleName : PSTR;
  3571. otmpFullName : PSTR;
  3572. end;
  3573. LPOUTLINETEXTMETRIC = ^OUTLINETEXTMETRIC;
  3574. _OUTLINETEXTMETRIC = OUTLINETEXTMETRIC;
  3575. OVERLAPPED = record
  3576. Internal : DWORD;
  3577. InternalHigh : DWORD;
  3578. Offset : DWORD;
  3579. OffsetHigh : DWORD;
  3580. hEvent : HANDLE;
  3581. end;
  3582. LPOVERLAPPED = ^OVERLAPPED;
  3583. _OVERLAPPED = OVERLAPPED;
  3584. {PAGESETUPDLG = record conflicts with function PageSetupDlg }
  3585. TPAGESETUPDLG = record
  3586. lStructSize : DWORD;
  3587. hwndOwner : HWND;
  3588. hDevMode : HGLOBAL;
  3589. hDevNames : HGLOBAL;
  3590. Flags : DWORD;
  3591. ptPaperSize : POINT;
  3592. rtMinMargin : RECT;
  3593. rtMargin : RECT;
  3594. hInstance : HINSTANCE;
  3595. lCustData : LPARAM;
  3596. lpfnPageSetupHook : LPPAGESETUPHOOK;
  3597. lpfnPagePaintHook : LPPAGEPAINTHOOK;
  3598. lpPageSetupTemplateName : LPCTSTR;
  3599. hPageSetupTemplate : HGLOBAL;
  3600. end;
  3601. LPPAGESETUPDLG = ^TPAGESETUPDLG;
  3602. tagPSD = TPAGESETUPDLG;
  3603. PAINTSTRUCT = record
  3604. hdc : HDC;
  3605. fErase : WINBOOL;
  3606. rcPaint : RECT;
  3607. fRestore : WINBOOL;
  3608. fIncUpdate : WINBOOL;
  3609. rgbReserved : array[0..31] of BYTE;
  3610. end;
  3611. LPPAINTSTRUCT = ^PAINTSTRUCT;
  3612. tagPAINTSTRUCT = PAINTSTRUCT;
  3613. PARAFORMAT = record
  3614. cbSize : UINT;
  3615. dwMask : DWORD;
  3616. wNumbering : WORD;
  3617. wReserved : WORD;
  3618. dxStartIndent : LONG;
  3619. dxRightIndent : LONG;
  3620. dxOffset : LONG;
  3621. wAlignment : WORD;
  3622. cTabCount : SHORT;
  3623. rgxTabs : array[0..(MAX_TAB_STOPS)-1] of LONG;
  3624. end;
  3625. _paraformat = PARAFORMAT;
  3626. PERF_COUNTER_BLOCK = record
  3627. ByteLength : DWORD;
  3628. end;
  3629. _PERF_COUNTER_BLOCK = PERF_COUNTER_BLOCK;
  3630. PERF_COUNTER_DEFINITION = record
  3631. ByteLength : DWORD;
  3632. CounterNameTitleIndex : DWORD;
  3633. CounterNameTitle : LPWSTR;
  3634. CounterHelpTitleIndex : DWORD;
  3635. CounterHelpTitle : LPWSTR;
  3636. DefaultScale : DWORD;
  3637. DetailLevel : DWORD;
  3638. CounterType : DWORD;
  3639. CounterSize : DWORD;
  3640. CounterOffset : DWORD;
  3641. end;
  3642. _PERF_COUNTER_DEFINITION = PERF_COUNTER_DEFINITION;
  3643. PERF_DATA_BLOCK = record
  3644. Signature : array[0..3] of WCHAR;
  3645. LittleEndian : DWORD;
  3646. Version : DWORD;
  3647. Revision : DWORD;
  3648. TotalByteLength : DWORD;
  3649. HeaderLength : DWORD;
  3650. NumObjectTypes : DWORD;
  3651. DefaultObject : DWORD;
  3652. SystemTime : SYSTEMTIME;
  3653. PerfTime : LARGE_INTEGER;
  3654. PerfFreq : LARGE_INTEGER;
  3655. PerfTime100nSec : LARGE_INTEGER;
  3656. SystemNameLength : DWORD;
  3657. SystemNameOffset : DWORD;
  3658. end;
  3659. _PERF_DATA_BLOCK = PERF_DATA_BLOCK;
  3660. PERF_INSTANCE_DEFINITION = record
  3661. ByteLength : DWORD;
  3662. ParentObjectTitleIndex : DWORD;
  3663. ParentObjectInstance : DWORD;
  3664. UniqueID : DWORD;
  3665. NameOffset : DWORD;
  3666. NameLength : DWORD;
  3667. end;
  3668. _PERF_INSTANCE_DEFINITION = PERF_INSTANCE_DEFINITION;
  3669. PERF_OBJECT_TYPE = record
  3670. TotalByteLength : DWORD;
  3671. DefinitionLength : DWORD;
  3672. HeaderLength : DWORD;
  3673. ObjectNameTitleIndex : DWORD;
  3674. ObjectNameTitle : LPWSTR;
  3675. ObjectHelpTitleIndex : DWORD;
  3676. ObjectHelpTitle : LPWSTR;
  3677. DetailLevel : DWORD;
  3678. NumCounters : DWORD;
  3679. DefaultCounter : DWORD;
  3680. NumInstances : DWORD;
  3681. CodePage : DWORD;
  3682. PerfTime : LARGE_INTEGER;
  3683. PerfFreq : LARGE_INTEGER;
  3684. end;
  3685. _PERF_OBJECT_TYPE = PERF_OBJECT_TYPE;
  3686. POLYTEXT = record
  3687. x : longint;
  3688. y : longint;
  3689. n : UINT;
  3690. lpstr : LPCTSTR;
  3691. uiFlags : UINT;
  3692. rcl : RECT;
  3693. pdx : ^longint;
  3694. end;
  3695. _POLYTEXT = POLYTEXT;
  3696. PORT_INFO_1 = record
  3697. pName : LPTSTR;
  3698. end;
  3699. _PORT_INFO_1 = PORT_INFO_1;
  3700. PORT_INFO_2 = record
  3701. pPortName : LPSTR;
  3702. pMonitorName : LPSTR;
  3703. pDescription : LPSTR;
  3704. fPortType : DWORD;
  3705. Reserved : DWORD;
  3706. end;
  3707. _PORT_INFO_2 = PORT_INFO_2;
  3708. PREVENT_MEDIA_REMOVAL = record
  3709. PreventMediaRemoval : BOOLEAN;
  3710. end;
  3711. _PREVENT_MEDIA_REMOVAL = PREVENT_MEDIA_REMOVAL;
  3712. {$PACKRECORDS 1}
  3713. {PRINTDLG = record conflicts with PrintDlg function }
  3714. TPRINTDLG = record
  3715. lStructSize : DWORD;
  3716. hwndOwner : HWND;
  3717. hDevMode : HANDLE;
  3718. hDevNames : HANDLE;
  3719. hDC : HDC;
  3720. Flags : DWORD;
  3721. nFromPage : WORD;
  3722. nToPage : WORD;
  3723. nMinPage : WORD;
  3724. nMaxPage : WORD;
  3725. nCopies : WORD;
  3726. hInstance : HINSTANCE;
  3727. lCustData : DWORD;
  3728. lpfnPrintHook : LPPRINTHOOKPROC;
  3729. lpfnSetupHook : LPSETUPHOOKPROC;
  3730. lpPrintTemplateName : LPCTSTR;
  3731. lpSetupTemplateName : LPCTSTR;
  3732. hPrintTemplate : HANDLE;
  3733. hSetupTemplate : HANDLE;
  3734. end;
  3735. LPPRINTDLG = ^TPRINTDLG;
  3736. tagPD = TPRINTDLG;
  3737. {$PACKRECORDS 4}
  3738. PRINTER_DEFAULTS = record
  3739. pDatatype : LPTSTR;
  3740. pDevMode : LPDEVMODE;
  3741. DesiredAccess : ACCESS_MASK;
  3742. end;
  3743. _PRINTER_DEFAULTS = PRINTER_DEFAULTS;
  3744. PRINTER_INFO_1 = record
  3745. Flags : DWORD;
  3746. pDescription : LPTSTR;
  3747. pName : LPTSTR;
  3748. pComment : LPTSTR;
  3749. end;
  3750. PPRINTER_INFO_1 = ^PRINTER_INFO_1;
  3751. LPPRINTER_INFO_1 = ^PRINTER_INFO_1;
  3752. _PRINTER_INFO_1 = PRINTER_INFO_1;
  3753. PRINTER_INFO_2 = record
  3754. pServerName : LPTSTR;
  3755. pPrinterName : LPTSTR;
  3756. pShareName : LPTSTR;
  3757. pPortName : LPTSTR;
  3758. pDriverName : LPTSTR;
  3759. pComment : LPTSTR;
  3760. pLocation : LPTSTR;
  3761. pDevMode : LPDEVMODE;
  3762. pSepFile : LPTSTR;
  3763. pPrintProcessor : LPTSTR;
  3764. pDatatype : LPTSTR;
  3765. pParameters : LPTSTR;
  3766. pSecurityDescriptor : PSECURITY_DESCRIPTOR;
  3767. Attributes : DWORD;
  3768. Priority : DWORD;
  3769. DefaultPriority : DWORD;
  3770. StartTime : DWORD;
  3771. UntilTime : DWORD;
  3772. Status : DWORD;
  3773. cJobs : DWORD;
  3774. AveragePPM : DWORD;
  3775. end;
  3776. _PRINTER_INFO_2 = PRINTER_INFO_2;
  3777. PRINTER_INFO_3 = record
  3778. pSecurityDescriptor : PSECURITY_DESCRIPTOR;
  3779. end;
  3780. _PRINTER_INFO_3 = PRINTER_INFO_3;
  3781. PRINTER_INFO_4 = record
  3782. pPrinterName : LPTSTR;
  3783. pServerName : LPTSTR;
  3784. Attributes : DWORD;
  3785. end;
  3786. _PRINTER_INFO_4 = PRINTER_INFO_4;
  3787. PRINTER_INFO_5 = record
  3788. pPrinterName : LPTSTR;
  3789. pPortName : LPTSTR;
  3790. Attributes : DWORD;
  3791. DeviceNotSelectedTimeout : DWORD;
  3792. TransmissionRetryTimeout : DWORD;
  3793. end;
  3794. _PRINTER_INFO_5 = PRINTER_INFO_5;
  3795. PRINTER_NOTIFY_INFO_DATA = record
  3796. _Type : WORD;
  3797. Field : WORD;
  3798. Reserved : DWORD;
  3799. Id : DWORD;
  3800. NotifyData : record
  3801. case longint of
  3802. 0 : ( adwData : array[0..1] of DWORD );
  3803. 1 : ( Data : record
  3804. cbBuf : DWORD;
  3805. pBuf : LPVOID;
  3806. end );
  3807. end;
  3808. end;
  3809. _PRINTER_NOTIFY_INFO_DATA = PRINTER_NOTIFY_INFO_DATA;
  3810. PRINTER_NOTIFY_INFO = record
  3811. Version : DWORD;
  3812. Flags : DWORD;
  3813. Count : DWORD;
  3814. aData : array[0..0] of PRINTER_NOTIFY_INFO_DATA;
  3815. end;
  3816. _PRINTER_NOTIFY_INFO = PRINTER_NOTIFY_INFO;
  3817. PRINTER_NOTIFY_OPTIONS_TYPE = record
  3818. _Type : WORD;
  3819. Reserved0 : WORD;
  3820. Reserved1 : DWORD;
  3821. Reserved2 : DWORD;
  3822. Count : DWORD;
  3823. pFields : PWORD;
  3824. end;
  3825. PPRINTER_NOTIFY_OPTIONS_TYPE = ^PRINTER_NOTIFY_OPTIONS_TYPE;
  3826. _PRINTER_NOTIFY_OPTIONS_TYPE = PRINTER_NOTIFY_OPTIONS_TYPE;
  3827. PRINTER_NOTIFY_OPTIONS = record
  3828. Version : DWORD;
  3829. Flags : DWORD;
  3830. Count : DWORD;
  3831. pTypes : PPRINTER_NOTIFY_OPTIONS_TYPE;
  3832. end;
  3833. _PRINTER_NOTIFY_OPTIONS = PRINTER_NOTIFY_OPTIONS;
  3834. PRINTPROCESSOR_INFO_1 = record
  3835. pName : LPTSTR;
  3836. end;
  3837. _PRINTPROCESSOR_INFO_1 = PRINTPROCESSOR_INFO_1;
  3838. PRIVILEGE_SET = record
  3839. PrivilegeCount : DWORD;
  3840. Control : DWORD;
  3841. Privilege : array[0..(ANYSIZE_ARRAY)-1] of LUID_AND_ATTRIBUTES;
  3842. end;
  3843. PPRIVILEGE_SET = ^PRIVILEGE_SET;
  3844. LPPRIVILEGE_SET = ^PRIVILEGE_SET;
  3845. _PRIVILEGE_SET = PRIVILEGE_SET;
  3846. PROCESS_HEAPENTRY = record
  3847. lpData : PVOID;
  3848. cbData : DWORD;
  3849. cbOverhead : BYTE;
  3850. iRegionIndex : BYTE;
  3851. wFlags : WORD;
  3852. dwCommittedSize : DWORD;
  3853. dwUnCommittedSize : DWORD;
  3854. lpFirstBlock : LPVOID;
  3855. lpLastBlock : LPVOID;
  3856. hMem : HANDLE;
  3857. end;
  3858. LPPROCESS_HEAP_ENTRY = ^PROCESS_HEAPENTRY;
  3859. _PROCESS_HEAP_ENTRY = PROCESS_HEAPENTRY;
  3860. PROCESS_INFORMATION = record
  3861. hProcess : HANDLE;
  3862. hThread : HANDLE;
  3863. dwProcessId : DWORD;
  3864. dwThreadId : DWORD;
  3865. end;
  3866. LPPROCESS_INFORMATION = ^PROCESS_INFORMATION;
  3867. _PROCESS_INFORMATION = PROCESS_INFORMATION;
  3868. LPFNPSPCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPVOID):UINT;
  3869. PROPSHEETPAGE = record
  3870. dwSize : DWORD;
  3871. dwFlags : DWORD;
  3872. hInstance : HINSTANCE;
  3873. u1 : record
  3874. case longint of
  3875. 0 : ( pszTemplate : LPCTSTR );
  3876. 1 : ( pResource : LPCDLGTEMPLATE );
  3877. end;
  3878. u2 : record
  3879. case longint of
  3880. 0 : ( hIcon : HICON );
  3881. 1 : ( pszIcon : LPCTSTR );
  3882. end;
  3883. pszTitle : LPCTSTR;
  3884. pfnDlgProc : DLGPROC;
  3885. lParam : LPARAM;
  3886. pfnCallback : LPFNPSPCALLBACK;
  3887. pcRefParent : ^UINT;
  3888. end;
  3889. LPPROPSHEETPAGE = ^PROPSHEETPAGE;
  3890. _PROPSHEETPAGE = PROPSHEETPAGE;
  3891. (* Const before type ignored *)
  3892. LPCPROPSHEETPAGE = ^PROPSHEETPAGE;
  3893. emptyrecord = record
  3894. end;
  3895. HPROPSHEETPAGE = ^emptyrecord;
  3896. PROPSHEETHEADER = record
  3897. dwSize : DWORD;
  3898. dwFlags : DWORD;
  3899. hwndParent : HWND;
  3900. hInstance : HINSTANCE;
  3901. u1 : record
  3902. case longint of
  3903. 0 : ( hIcon : HICON );
  3904. 1 : ( pszIcon : LPCTSTR );
  3905. end;
  3906. pszCaption : LPCTSTR;
  3907. nPages : UINT;
  3908. u2 : record
  3909. case longint of
  3910. 0 : ( nStartPage : UINT );
  3911. 1 : ( pStartPage : LPCTSTR );
  3912. end;
  3913. u3 : record
  3914. case longint of
  3915. 0 : ( ppsp : LPCPROPSHEETPAGE );
  3916. 1 : ( phpage : ^HPROPSHEETPAGE );
  3917. end;
  3918. pfnCallback : PFNPROPSHEETCALLBACK;
  3919. end;
  3920. LPPROPSHEETHEADER = ^PROPSHEETHEADER;
  3921. _PROPSHEETHEADER = PROPSHEETHEADER;
  3922. (* Const before type ignored *)
  3923. LPCPROPSHEETHEADER = ^PROPSHEETHEADER;
  3924. { PropertySheet callbacks }
  3925. LPFNADDPROPSHEETPAGE = function (_para1:HPROPSHEETPAGE; _para2:LPARAM):WINBOOL;
  3926. LPFNADDPROPSHEETPAGES = function (_para1:LPVOID; _para2:LPFNADDPROPSHEETPAGE; _para3:LPARAM):WINBOOL;
  3927. PROTOCOL_INFO = record
  3928. dwServiceFlags : DWORD;
  3929. iAddressFamily : INT;
  3930. iMaxSockAddr : INT;
  3931. iMinSockAddr : INT;
  3932. iSocketType : INT;
  3933. iProtocol : INT;
  3934. dwMessageSize : DWORD;
  3935. lpProtocol : LPTSTR;
  3936. end;
  3937. _PROTOCOL_INFO = PROTOCOL_INFO;
  3938. PROVIDOR_INFO_1 = record
  3939. pName : LPTSTR;
  3940. pEnvironment : LPTSTR;
  3941. pDLLName : LPTSTR;
  3942. end;
  3943. _PROVIDOR_INFO_1 = PROVIDOR_INFO_1;
  3944. PSHNOTIFY = record
  3945. hdr : NMHDR;
  3946. lParam : LPARAM;
  3947. end;
  3948. LPPSHNOTIFY = ^PSHNOTIFY;
  3949. _PSHNOTIFY = PSHNOTIFY;
  3950. PUNCTUATION = record
  3951. iSize : UINT;
  3952. szPunctuation : LPSTR;
  3953. end;
  3954. _punctuation = PUNCTUATION;
  3955. QUERY_SERVICE_CONFIG = record
  3956. dwServiceType : DWORD;
  3957. dwStartType : DWORD;
  3958. dwErrorControl : DWORD;
  3959. lpBinaryPathName : LPTSTR;
  3960. lpLoadOrderGroup : LPTSTR;
  3961. dwTagId : DWORD;
  3962. lpDependencies : LPTSTR;
  3963. lpServiceStartName : LPTSTR;
  3964. lpDisplayName : LPTSTR;
  3965. end;
  3966. LPQUERY_SERVICE_CONFIG = ^QUERY_SERVICE_CONFIG;
  3967. _QUERY_SERVICE_CONFIG = QUERY_SERVICE_CONFIG;
  3968. QUERY_SERVICE_LOCK_STATUS = record
  3969. fIsLocked : DWORD;
  3970. lpLockOwner : LPTSTR;
  3971. dwLockDuration : DWORD;
  3972. end;
  3973. LPQUERY_SERVICE_LOCK_STATUS = ^QUERY_SERVICE_LOCK_STATUS;
  3974. _QUERY_SERVICE_LOCK_STATUS = QUERY_SERVICE_LOCK_STATUS;
  3975. RASAMB = record
  3976. dwSize : DWORD;
  3977. dwError : DWORD;
  3978. szNetBiosError : array[0..(NETBIOS_NAME_LEN + 1)-1] of TCHAR;
  3979. bLana : BYTE;
  3980. end;
  3981. _RASAMB = RASAMB;
  3982. RASCONN = record
  3983. dwSize : DWORD;
  3984. hrasconn : HRASCONN;
  3985. szEntryName : array[0..(RAS_MaxEntryName + 1)-1] of TCHAR;
  3986. szDeviceType : array[0..(RAS_MaxDeviceType + 1)-1] of CHAR;
  3987. szDeviceName : array[0..(RAS_MaxDeviceName + 1)-1] of CHAR;
  3988. end;
  3989. _RASCONN = RASCONN;
  3990. RASCONNSTATUS = record
  3991. dwSize : DWORD;
  3992. rasconnstate : RASCONNSTATE;
  3993. dwError : DWORD;
  3994. szDeviceType : array[0..(RAS_MaxDeviceType + 1)-1] of TCHAR;
  3995. szDeviceName : array[0..(RAS_MaxDeviceName + 1)-1] of TCHAR;
  3996. end;
  3997. _RASCONNSTATUS = RASCONNSTATUS;
  3998. RASDIALEXTENSIONS = record
  3999. dwSize : DWORD;
  4000. dwfOptions : DWORD;
  4001. hwndParent : HWND;
  4002. reserved : DWORD;
  4003. end;
  4004. _RASDIALEXTENSIONS = RASDIALEXTENSIONS;
  4005. RASDIALPARAMS = record
  4006. dwSize : DWORD;
  4007. szEntryName : array[0..(RAS_MaxEntryName + 1)-1] of TCHAR;
  4008. szPhoneNumber : array[0..(RAS_MaxPhoneNumber + 1)-1] of TCHAR;
  4009. szCallbackNumber : array[0..(RAS_MaxCallbackNumber + 1)-1] of TCHAR;
  4010. szUserName : array[0..(UNLEN + 1)-1] of TCHAR;
  4011. szPassword : array[0..(PWLEN + 1)-1] of TCHAR;
  4012. szDomain : array[0..(DNLEN + 1)-1] of TCHAR;
  4013. end;
  4014. _RASDIALPARAMS = RASDIALPARAMS;
  4015. RASENTRYNAME = record
  4016. dwSize : DWORD;
  4017. szEntryName : array[0..(RAS_MaxEntryName + 1)-1] of TCHAR;
  4018. end;
  4019. _RASENTRYNAME = RASENTRYNAME;
  4020. RASPPPIP = record
  4021. dwSize : DWORD;
  4022. dwError : DWORD;
  4023. szIpAddress : array[0..(RAS_MaxIpAddress + 1)-1] of TCHAR;
  4024. end;
  4025. _RASPPPIP = RASPPPIP;
  4026. RASPPPIPX = record
  4027. dwSize : DWORD;
  4028. dwError : DWORD;
  4029. szIpxAddress : array[0..(RAS_MaxIpxAddress + 1)-1] of TCHAR;
  4030. end;
  4031. _RASPPPIPX = RASPPPIPX;
  4032. RASPPPNBF = record
  4033. dwSize : DWORD;
  4034. dwError : DWORD;
  4035. dwNetBiosError : DWORD;
  4036. szNetBiosError : array[0..(NETBIOS_NAME_LEN + 1)-1] of TCHAR;
  4037. szWorkstationName : array[0..(NETBIOS_NAME_LEN + 1)-1] of TCHAR;
  4038. bLana : BYTE;
  4039. end;
  4040. _RASPPPNBF = RASPPPNBF;
  4041. RASTERIZER_STATUS = record
  4042. nSize : integer;
  4043. wFlags : integer;
  4044. nLanguageID : integer;
  4045. end;
  4046. LPRASTERIZER_STATUS = ^RASTERIZER_STATUS;
  4047. _RASTERIZER_STATUS = RASTERIZER_STATUS;
  4048. REASSIGN_BLOCKS = record
  4049. Reserved : WORD;
  4050. Count : WORD;
  4051. BlockNumber : array[0..0] of DWORD;
  4052. end;
  4053. _REASSIGN_BLOCKS = REASSIGN_BLOCKS;
  4054. REMOTE_NAME_INFO = record
  4055. lpUniversalName : LPTSTR;
  4056. lpConnectionName : LPTSTR;
  4057. lpRemainingPath : LPTSTR;
  4058. end;
  4059. _REMOTE_NAME_INFO = REMOTE_NAME_INFO;
  4060. (*
  4061. TODO: OLE
  4062. typedef struct _reobject {
  4063. DWORD cbStruct;
  4064. LONG cp;
  4065. CLSID clsid;
  4066. LPOLEOBJECT poleobj;
  4067. LPSTORAGE pstg;
  4068. LPOLECLIENTSITE polesite;
  4069. SIZEL sizel;
  4070. DWORD dvaspect;
  4071. DWORD dwFlags;
  4072. DWORD dwUser;
  4073. } REOBJECT;
  4074. *)
  4075. REPASTESPECIAL = record
  4076. dwAspect : DWORD;
  4077. dwParam : DWORD;
  4078. end;
  4079. _repastespecial = REPASTESPECIAL;
  4080. REQRESIZE = record
  4081. nmhdr : NMHDR;
  4082. rc : RECT;
  4083. end;
  4084. _reqresize = REQRESIZE;
  4085. RGNDATAHEADER = record
  4086. dwSize : DWORD;
  4087. iType : DWORD;
  4088. nCount : DWORD;
  4089. nRgnSize : DWORD;
  4090. rcBound : RECT;
  4091. end;
  4092. _RGNDATAHEADER = RGNDATAHEADER;
  4093. RGNDATA = record
  4094. rdh : RGNDATAHEADER;
  4095. Buffer : array[0..0] of char;
  4096. end;
  4097. LPRGNDATA = ^RGNDATA;
  4098. _RGNDATA = RGNDATA;
  4099. SCROLLINFO = record
  4100. cbSize : UINT;
  4101. fMask : UINT;
  4102. nMin : longint;
  4103. nMax : longint;
  4104. nPage : UINT;
  4105. nPos : longint;
  4106. nTrackPos : longint;
  4107. end;
  4108. LPSCROLLINFO = ^SCROLLINFO;
  4109. tagSCROLLINFO = SCROLLINFO;
  4110. (* Const before declarator ignored *)
  4111. LPCSCROLLINFO = ^SCROLLINFO;
  4112. SECURITY_ATTRIBUTES = record
  4113. nLength : DWORD;
  4114. lpSecurityDescriptor : LPVOID;
  4115. bInheritHandle : WINBOOL;
  4116. end;
  4117. LPSECURITY_ATTRIBUTES = ^SECURITY_ATTRIBUTES;
  4118. _SECURITY_ATTRIBUTES = SECURITY_ATTRIBUTES;
  4119. SECURITY_INFORMATION = DWORD;
  4120. PSECURITY_INFORMATION = ^SECURITY_INFORMATION;
  4121. SELCHANGE = record
  4122. nmhdr : NMHDR;
  4123. chrg : CHARRANGE;
  4124. seltyp : WORD;
  4125. end;
  4126. _selchange = SELCHANGE;
  4127. SERIALKEYS = record
  4128. cbSize : DWORD;
  4129. dwFlags : DWORD;
  4130. lpszActivePort : LPSTR;
  4131. lpszPort : LPSTR;
  4132. iBaudRate : DWORD;
  4133. iPortState : DWORD;
  4134. end;
  4135. LPSERIALKEYS = ^SERIALKEYS;
  4136. tagSERIALKEYS = SERIALKEYS;
  4137. SERVICE_TABLE_ENTRY = record
  4138. lpServiceName : LPTSTR;
  4139. lpServiceProc : LPSERVICE_MAIN_FUNCTION;
  4140. end;
  4141. LPSERVICE_TABLE_ENTRY = ^SERVICE_TABLE_ENTRY;
  4142. _SERVICE_TABLE_ENTRY = SERVICE_TABLE_ENTRY;
  4143. SERVICE_TYPE_VALUE_ABS = record
  4144. dwNameSpace : DWORD;
  4145. dwValueType : DWORD;
  4146. dwValueSize : DWORD;
  4147. lpValueName : LPTSTR;
  4148. lpValue : PVOID;
  4149. end;
  4150. _SERVICE_TYPE_VALUE_ABS = SERVICE_TYPE_VALUE_ABS;
  4151. SERVICE_TYPE_INFO_ABS = record
  4152. lpTypeName : LPTSTR;
  4153. dwValueCount : DWORD;
  4154. Values : array[0..0] of SERVICE_TYPE_VALUE_ABS;
  4155. end;
  4156. _SERVICE_TYPE_INFO_ABS = SERVICE_TYPE_INFO_ABS;
  4157. SESSION_BUFFER = record
  4158. lsn : UCHAR;
  4159. state : UCHAR;
  4160. local_name : array[0..(NCBNAMSZ)-1] of UCHAR;
  4161. remote_name : array[0..(NCBNAMSZ)-1] of UCHAR;
  4162. rcvs_outstanding : UCHAR;
  4163. sends_outstanding : UCHAR;
  4164. end;
  4165. _SESSION_BUFFER = SESSION_BUFFER;
  4166. SESSION_HEADER = record
  4167. sess_name : UCHAR;
  4168. num_sess : UCHAR;
  4169. rcv_dg_outstanding : UCHAR;
  4170. rcv_any_outstanding : UCHAR;
  4171. end;
  4172. _SESSION_HEADER = SESSION_HEADER;
  4173. SET_PARTITION_INFORMATION = record
  4174. PartitionType : BYTE;
  4175. end;
  4176. _SET_PARTITION_INFORMATION = SET_PARTITION_INFORMATION;
  4177. SHCONTF = (SHCONTF_FOLDERS := 32,SHCONTF_NONFOLDERS := 64,
  4178. SHCONTF_INCLUDEHIDDEN := 128);
  4179. tagSHCONTF = SHCONTF;
  4180. SHFILEINFO = record
  4181. hIcon : HICON;
  4182. iIcon : longint;
  4183. dwAttributes : DWORD;
  4184. szDisplayName : array[0..(MAX_PATH)-1] of char;
  4185. szTypeName : array[0..79] of char;
  4186. end;
  4187. _SHFILEINFO = SHFILEINFO;
  4188. FILEOP_FLAGS = WORD;
  4189. SHFILEOPSTRUCT = record
  4190. hwnd : HWND;
  4191. wFunc : UINT;
  4192. pFrom : LPCSTR;
  4193. pTo : LPCSTR;
  4194. fFlags : FILEOP_FLAGS;
  4195. fAnyOperationsAborted : WINBOOL;
  4196. hNameMappings : LPVOID;
  4197. lpszProgressTitle : LPCSTR;
  4198. end;
  4199. LPSHFILEOPSTRUCT = ^SHFILEOPSTRUCT;
  4200. _SHFILEOPSTRUCT = SHFILEOPSTRUCT;
  4201. SHGNO = (SHGDN_NORMAL := 0,SHGDN_INFOLDER := 1,
  4202. SHGDN_FORPARSING := $8000);
  4203. tagSHGDN = SHGNO;
  4204. SHNAMEMAPPING = record
  4205. pszOldPath : LPSTR;
  4206. pszNewPath : LPSTR;
  4207. cchOldPath : longint;
  4208. cchNewPath : longint;
  4209. end;
  4210. LPSHNAMEMAPPING = ^SHNAMEMAPPING;
  4211. _SHNAMEMAPPING = SHNAMEMAPPING;
  4212. SID_AND_ATTRIBUTES = record
  4213. Sid : PSID;
  4214. Attributes : DWORD;
  4215. end;
  4216. _SID_AND_ATTRIBUTES = SID_AND_ATTRIBUTES;
  4217. SID_AND_ATTRIBUTES_ARRAY = array[0..(ANYSIZE_ARRAY)-1] of SID_AND_ATTRIBUTES;
  4218. PSID_AND_ATTRIBUTES_ARRAY = ^SID_AND_ATTRIBUTES_ARRAY;
  4219. SINGLE_LIST_ENTRY = record
  4220. Next : ^_SINGLE_LIST_ENTRY;
  4221. end;
  4222. _SINGLE_LIST_ENTRY = SINGLE_LIST_ENTRY;
  4223. SOUNDSENTRY = record
  4224. cbSize : UINT;
  4225. dwFlags : DWORD;
  4226. iFSTextEffect : DWORD;
  4227. iFSTextEffectMSec : DWORD;
  4228. iFSTextEffectColorBits : DWORD;
  4229. iFSGrafEffect : DWORD;
  4230. iFSGrafEffectMSec : DWORD;
  4231. iFSGrafEffectColor : DWORD;
  4232. iWindowsEffect : DWORD;
  4233. iWindowsEffectMSec : DWORD;
  4234. lpszWindowsEffectDLL : LPTSTR;
  4235. iWindowsEffectOrdinal : DWORD;
  4236. end;
  4237. LPSOUNDSENTRY = ^SOUNDSENTRY;
  4238. tagSOUNDSENTRY = SOUNDSENTRY;
  4239. STARTUPINFO = record
  4240. cb : DWORD;
  4241. lpReserved : LPTSTR;
  4242. lpDesktop : LPTSTR;
  4243. lpTitle : LPTSTR;
  4244. dwX : DWORD;
  4245. dwY : DWORD;
  4246. dwXSize : DWORD;
  4247. dwYSize : DWORD;
  4248. dwXCountChars : DWORD;
  4249. dwYCountChars : DWORD;
  4250. dwFillAttribute : DWORD;
  4251. dwFlags : DWORD;
  4252. wShowWindow : WORD;
  4253. cbReserved2 : WORD;
  4254. lpReserved2 : LPBYTE;
  4255. hStdInput : HANDLE;
  4256. hStdOutput : HANDLE;
  4257. hStdError : HANDLE;
  4258. end;
  4259. LPSTARTUPINFO = ^STARTUPINFO;
  4260. _STARTUPINFO = STARTUPINFO;
  4261. STICKYKEYS = record
  4262. cbSize : DWORD;
  4263. dwFlags : DWORD;
  4264. end;
  4265. LPSTICKYKEYS = ^STICKYKEYS;
  4266. tagSTICKYKEYS = STICKYKEYS;
  4267. STRRET = record
  4268. uType : UINT;
  4269. DUMMYUNIONNAME : record
  4270. case longint of
  4271. 0 : ( pOleStr : LPWSTR );
  4272. 1 : ( uOffset : UINT );
  4273. 2 : ( cStr : array[0..(MAX_PATH)-1] of char );
  4274. end;
  4275. end;
  4276. LPSTRRET = ^STRRET;
  4277. _STRRET = STRRET;
  4278. STYLEBUF = record
  4279. dwStyle : DWORD;
  4280. szDescription : array[0..31] of CHAR;
  4281. end;
  4282. LPSTYLEBUF = ^STYLEBUF;
  4283. _tagSTYLEBUF = STYLEBUF;
  4284. STYLESTRUCT = record
  4285. styleOld : DWORD;
  4286. styleNew : DWORD;
  4287. end;
  4288. LPSTYLESTRUCT = ^STYLESTRUCT;
  4289. tagSTYLESTRUCT = STYLESTRUCT;
  4290. SYSTEM_AUDIT_ACE = record
  4291. Header : ACE_HEADER;
  4292. Mask : ACCESS_MASK;
  4293. SidStart : DWORD;
  4294. end;
  4295. _SYSTEM_AUDIT_ACE = SYSTEM_AUDIT_ACE;
  4296. SYSTEM_INFO = record
  4297. u : record
  4298. case longint of
  4299. 0 : ( dwOemId : DWORD );
  4300. 1 : ( s : record
  4301. wProcessorArchitecture : WORD;
  4302. wReserved : WORD;
  4303. end );
  4304. end;
  4305. dwPageSize : DWORD;
  4306. lpMinimumApplicationAddress : LPVOID;
  4307. lpMaximumApplicationAddress : LPVOID;
  4308. dwActiveProcessorMask : DWORD;
  4309. dwNumberOfProcessors : DWORD;
  4310. dwProcessorType : DWORD;
  4311. dwAllocationGranularity : DWORD;
  4312. wProcessorLevel : WORD;
  4313. wProcessorRevision : WORD;
  4314. end;
  4315. LPSYSTEM_INFO = ^SYSTEM_INFO;
  4316. _SYSTEM_INFO = SYSTEM_INFO;
  4317. SYSTEM_POWER_STATUS = record
  4318. ACLineStatus : BYTE;
  4319. BatteryFlag : BYTE;
  4320. BatteryLifePercent : BYTE;
  4321. Reserved1 : BYTE;
  4322. BatteryLifeTime : DWORD;
  4323. BatteryFullLifeTime : DWORD;
  4324. end;
  4325. _SYSTEM_POWER_STATUS = SYSTEM_POWER_STATUS;
  4326. LPSYSTEM_POWER_STATUS = ^emptyrecord;
  4327. TAPE_ERASE = record
  4328. _Type : ULONG;
  4329. end;
  4330. _TAPE_ERASE = TAPE_ERASE;
  4331. TAPE_GET_DRIVE_PARAMETERS = record
  4332. ECC : BOOLEAN;
  4333. Compression : BOOLEAN;
  4334. DataPadding : BOOLEAN;
  4335. ReportSetmarks : BOOLEAN;
  4336. DefaultBlockSize : ULONG;
  4337. MaximumBlockSize : ULONG;
  4338. MinimumBlockSize : ULONG;
  4339. MaximumPartitionCount : ULONG;
  4340. FeaturesLow : ULONG;
  4341. FeaturesHigh : ULONG;
  4342. EOTWarningZoneSize : ULONG;
  4343. end;
  4344. _TAPE_GET_DRIVE_PARAMETERS = TAPE_GET_DRIVE_PARAMETERS;
  4345. TAPE_GET_MEDIA_PARAMETERS = record
  4346. Capacity : LARGE_INTEGER;
  4347. Remaining : LARGE_INTEGER;
  4348. BlockSize : DWORD;
  4349. PartitionCount : DWORD;
  4350. WriteProtected : BOOLEAN;
  4351. end;
  4352. _TAPE_GET_MEDIA_PARAMETERS = TAPE_GET_MEDIA_PARAMETERS;
  4353. TAPE_GET_POSITION = record
  4354. _Type : ULONG;
  4355. Partition : ULONG;
  4356. OffsetLow : ULONG;
  4357. OffsetHigh : ULONG;
  4358. end;
  4359. _TAPE_GET_POSITION = TAPE_GET_POSITION;
  4360. TAPE_PREPARE = record
  4361. Operation : ULONG;
  4362. end;
  4363. _TAPE_PREPARE = TAPE_PREPARE;
  4364. TAPE_SET_DRIVE_PARAMETERS = record
  4365. ECC : BOOLEAN;
  4366. Compression : BOOLEAN;
  4367. DataPadding : BOOLEAN;
  4368. ReportSetmarks : BOOLEAN;
  4369. EOTWarningZoneSize : ULONG;
  4370. end;
  4371. _TAPE_SET_DRIVE_PARAMETERS = TAPE_SET_DRIVE_PARAMETERS;
  4372. TAPE_SET_MEDIA_PARAMETERS = record
  4373. BlockSize : ULONG;
  4374. end;
  4375. _TAPE_SET_MEDIA_PARAMETERS = TAPE_SET_MEDIA_PARAMETERS;
  4376. TAPE_SET_POSITION = record
  4377. Method : ULONG;
  4378. Partition : ULONG;
  4379. OffsetLow : ULONG;
  4380. OffsetHigh : ULONG;
  4381. end;
  4382. _TAPE_SET_POSITION = TAPE_SET_POSITION;
  4383. TAPE_WRITE_MARKS = record
  4384. _Type : ULONG;
  4385. Count : ULONG;
  4386. end;
  4387. _TAPE_WRITE_MARKS = TAPE_WRITE_MARKS;
  4388. TBADDBITMAP = record
  4389. hInst : HINSTANCE;
  4390. nID : UINT;
  4391. end;
  4392. LPTBADDBITMAP = ^TBADDBITMAP;
  4393. TBBUTTON = record
  4394. iBitmap : longint;
  4395. idCommand : longint;
  4396. fsState : BYTE;
  4397. fsStyle : BYTE;
  4398. dwData : DWORD;
  4399. iString : longint;
  4400. end;
  4401. PTBBUTTON = ^TBBUTTON;
  4402. LPTBBUTTON = ^TBBUTTON;
  4403. _TBBUTTON = TBBUTTON;
  4404. (* Const before type ignored *)
  4405. LPCTBBUTTON = ^TBBUTTON;
  4406. TBNOTIFY = record
  4407. hdr : NMHDR;
  4408. iItem : longint;
  4409. tbButton : TBBUTTON;
  4410. cchText : longint;
  4411. pszText : LPTSTR;
  4412. end;
  4413. LPTBNOTIFY = ^TBNOTIFY;
  4414. TBSAVEPARAMS = record
  4415. hkr : HKEY;
  4416. pszSubKey : LPCTSTR;
  4417. pszValueName : LPCTSTR;
  4418. end;
  4419. TC_HITTESTINFO = record
  4420. pt : POINT;
  4421. flags : UINT;
  4422. end;
  4423. _TC_HITTESTINFO = TC_HITTESTINFO;
  4424. TC_ITEM = record
  4425. mask : UINT;
  4426. lpReserved1 : UINT;
  4427. lpReserved2 : UINT;
  4428. pszText : LPTSTR;
  4429. cchTextMax : longint;
  4430. iImage : longint;
  4431. lParam : LPARAM;
  4432. end;
  4433. _TC_ITEM = TC_ITEM;
  4434. TC_ITEMHEADER = record
  4435. mask : UINT;
  4436. lpReserved1 : UINT;
  4437. lpReserved2 : UINT;
  4438. pszText : LPTSTR;
  4439. cchTextMax : longint;
  4440. iImage : longint;
  4441. end;
  4442. _TC_ITEMHEADER = TC_ITEMHEADER;
  4443. TC_KEYDOWN = record
  4444. hdr : NMHDR;
  4445. wVKey : WORD;
  4446. flags : UINT;
  4447. end;
  4448. _TC_KEYDOWN = TC_KEYDOWN;
  4449. TEXTRANGE = record
  4450. chrg : CHARRANGE;
  4451. lpstrText : LPSTR;
  4452. end;
  4453. _textrange = TEXTRANGE;
  4454. TIME_ZONE_INFORMATION = record
  4455. Bias : LONG;
  4456. StandardName : array[0..31] of WCHAR;
  4457. StandardDate : SYSTEMTIME;
  4458. StandardBias : LONG;
  4459. DaylightName : array[0..31] of WCHAR;
  4460. DaylightDate : SYSTEMTIME;
  4461. DaylightBias : LONG;
  4462. end;
  4463. LPTIME_ZONE_INFORMATION = ^TIME_ZONE_INFORMATION;
  4464. _TIME_ZONE_INFORMATION = TIME_ZONE_INFORMATION;
  4465. TOGGLEKEYS = record
  4466. cbSize : DWORD;
  4467. dwFlags : DWORD;
  4468. end;
  4469. tagTOGGLEKEYS = TOGGLEKEYS;
  4470. TOKEN_SOURCE = record
  4471. SourceName : array[0..7] of CHAR;
  4472. SourceIdentifier : LUID;
  4473. end;
  4474. _TOKEN_SOURCE = TOKEN_SOURCE;
  4475. TOKEN_CONTROL = record
  4476. TokenId : LUID;
  4477. AuthenticationId : LUID;
  4478. ModifiedId : LUID;
  4479. TokenSource : TOKEN_SOURCE;
  4480. end;
  4481. _TOKEN_CONTROL = TOKEN_CONTROL;
  4482. TOKEN_DEFAULT_DACL = record
  4483. DefaultDacl : PACL;
  4484. end;
  4485. _TOKEN_DEFAULT_DACL = TOKEN_DEFAULT_DACL;
  4486. TOKEN_GROUPS = record
  4487. GroupCount : DWORD;
  4488. Groups : array[0..(ANYSIZE_ARRAY)-1] of SID_AND_ATTRIBUTES;
  4489. end;
  4490. PTOKEN_GROUPS = ^TOKEN_GROUPS;
  4491. LPTOKEN_GROUPS = ^TOKEN_GROUPS;
  4492. _TOKEN_GROUPS = TOKEN_GROUPS;
  4493. TOKEN_OWNER = record
  4494. Owner : PSID;
  4495. end;
  4496. _TOKEN_OWNER = TOKEN_OWNER;
  4497. TOKEN_PRIMARY_GROUP = record
  4498. PrimaryGroup : PSID;
  4499. end;
  4500. _TOKEN_PRIMARY_GROUP = TOKEN_PRIMARY_GROUP;
  4501. TOKEN_PRIVILEGES = record
  4502. PrivilegeCount : DWORD;
  4503. Privileges : array[0..(ANYSIZE_ARRAY)-1] of LUID_AND_ATTRIBUTES;
  4504. end;
  4505. PTOKEN_PRIVILEGES = ^TOKEN_PRIVILEGES;
  4506. LPTOKEN_PRIVILEGES = ^TOKEN_PRIVILEGES;
  4507. _TOKEN_PRIVILEGES = TOKEN_PRIVILEGES;
  4508. TOKEN_STATISTICS = record
  4509. TokenId : LUID;
  4510. AuthenticationId : LUID;
  4511. ExpirationTime : LARGE_INTEGER;
  4512. TokenType : TOKEN_TYPE;
  4513. ImpersonationLevel : SECURITY_IMPERSONATION_LEVEL;
  4514. DynamicCharged : DWORD;
  4515. DynamicAvailable : DWORD;
  4516. GroupCount : DWORD;
  4517. PrivilegeCount : DWORD;
  4518. ModifiedId : LUID;
  4519. end;
  4520. _TOKEN_STATISTICS = TOKEN_STATISTICS;
  4521. TOKEN_USER = record
  4522. User : SID_AND_ATTRIBUTES;
  4523. end;
  4524. _TOKEN_USER = TOKEN_USER;
  4525. TOOLINFO = record
  4526. cbSize : UINT;
  4527. uFlags : UINT;
  4528. hwnd : HWND;
  4529. uId : UINT;
  4530. rect : RECT;
  4531. hinst : HINSTANCE;
  4532. lpszText : LPTSTR;
  4533. end;
  4534. PTOOLINFO = ^TOOLINFO;
  4535. LPTOOLINFO = ^TOOLINFO;
  4536. TOOLTIPTEXT = record
  4537. hdr : NMHDR;
  4538. lpszText : LPTSTR;
  4539. szText : array[0..79] of char;
  4540. hinst : HINSTANCE;
  4541. uFlags : UINT;
  4542. end;
  4543. LPTOOLTIPTEXT = ^TOOLTIPTEXT;
  4544. TPMPARAMS = record
  4545. cbSize : UINT;
  4546. rcExclude : RECT;
  4547. end;
  4548. LPTPMPARAMS = ^TPMPARAMS;
  4549. tagTPMPARAMS = TPMPARAMS;
  4550. TRANSMIT_FILE_BUFFERS = record
  4551. Head : PVOID;
  4552. HeadLength : DWORD;
  4553. Tail : PVOID;
  4554. TailLength : DWORD;
  4555. end;
  4556. _TRANSMIT_FILE_BUFFERS = TRANSMIT_FILE_BUFFERS;
  4557. TTHITTESTINFO = record
  4558. hwnd : HWND;
  4559. pt : POINT;
  4560. ti : TOOLINFO;
  4561. end;
  4562. LPHITTESTINFO = ^TTHITTESTINFO;
  4563. _TT_HITTESTINFO = TTHITTESTINFO;
  4564. TTPOLYCURVE = record
  4565. wType : WORD;
  4566. cpfx : WORD;
  4567. apfx : array[0..0] of POINTFX;
  4568. end;
  4569. LPTTPOLYCURVE = ^TTPOLYCURVE;
  4570. tagTTPOLYCURVE = TTPOLYCURVE;
  4571. TTPOLYGONHEADER = record
  4572. cb : DWORD;
  4573. dwType : DWORD;
  4574. pfxStart : POINTFX;
  4575. end;
  4576. LPTTPOLYGONHEADER = ^TTPOLYGONHEADER;
  4577. _TTPOLYGONHEADER = TTPOLYGONHEADER;
  4578. TV_DISPINFO = record
  4579. hdr : NMHDR;
  4580. item : TV_ITEM;
  4581. end;
  4582. _TV_DISPINFO = TV_DISPINFO;
  4583. TV_HITTESTINFO = record
  4584. pt : POINT;
  4585. flags : UINT;
  4586. hItem : HTREEITEM;
  4587. end;
  4588. LPTV_HITTESTINFO = ^TV_HITTESTINFO;
  4589. _TVHITTESTINFO = TV_HITTESTINFO;
  4590. TV_INSERTSTRUCT = record
  4591. hParent : HTREEITEM;
  4592. hInsertAfter : HTREEITEM;
  4593. item : TV_ITEM;
  4594. end;
  4595. LPTV_INSERTSTRUCT = ^TV_INSERTSTRUCT;
  4596. _TV_INSERTSTRUCT = TV_INSERTSTRUCT;
  4597. TV_KEYDOWN = record
  4598. hdr : NMHDR;
  4599. wVKey : WORD;
  4600. flags : UINT;
  4601. end;
  4602. _TV_KEYDOWN = TV_KEYDOWN;
  4603. TV_SORTCB = record
  4604. hParent : HTREEITEM;
  4605. lpfnCompare : PFNTVCOMPARE;
  4606. lParam : LPARAM;
  4607. end;
  4608. LPTV_SORTCB = ^TV_SORTCB;
  4609. _TV_SORTCB = TV_SORTCB;
  4610. UDACCEL = record
  4611. nSec : UINT;
  4612. nInc : UINT;
  4613. end;
  4614. ULARGE_INTEGER = record
  4615. LowPart : DWORD;
  4616. HighPart : DWORD;
  4617. end;
  4618. PULARGE_INTEGER = ^ULARGE_INTEGER;
  4619. _ULARGE_INTEGER = ULARGE_INTEGER;
  4620. UNIVERSAL_NAME_INFO = record
  4621. lpUniversalName : LPTSTR;
  4622. end;
  4623. _UNIVERSAL_NAME_INFO = UNIVERSAL_NAME_INFO;
  4624. USEROBJECTFLAGS = record
  4625. fInherit : WINBOOL;
  4626. fReserved : WINBOOL;
  4627. dwFlags : DWORD;
  4628. end;
  4629. tagUSEROBJECTFLAGS = USEROBJECTFLAGS;
  4630. VALENT = record
  4631. ve_valuename : LPTSTR;
  4632. ve_valuelen : DWORD;
  4633. ve_valueptr : DWORD;
  4634. ve_type : DWORD;
  4635. end;
  4636. PVALENT = ^VALENT;
  4637. value_ent = VALENT;
  4638. VERIFY_INFORMATION = record
  4639. StartingOffset : LARGE_INTEGER;
  4640. Length : DWORD;
  4641. end;
  4642. _VERIFY_INFORMATION = VERIFY_INFORMATION;
  4643. VS_FIXEDFILEINFO = record
  4644. dwSignature : DWORD;
  4645. dwStrucVersion : DWORD;
  4646. dwFileVersionMS : DWORD;
  4647. dwFileVersionLS : DWORD;
  4648. dwProductVersionMS : DWORD;
  4649. dwProductVersionLS : DWORD;
  4650. dwFileFlagsMask : DWORD;
  4651. dwFileFlags : DWORD;
  4652. dwFileOS : DWORD;
  4653. dwFileType : DWORD;
  4654. dwFileSubtype : DWORD;
  4655. dwFileDateMS : DWORD;
  4656. dwFileDateLS : DWORD;
  4657. end;
  4658. _VS_FIXEDFILEINFO = VS_FIXEDFILEINFO;
  4659. WIN32_FIND_DATA = record
  4660. dwFileAttributes : DWORD;
  4661. ftCreationTime : FILETIME;
  4662. ftLastAccessTime : FILETIME;
  4663. ftLastWriteTime : FILETIME;
  4664. nFileSizeHigh : DWORD;
  4665. nFileSizeLow : DWORD;
  4666. dwReserved0 : DWORD;
  4667. dwReserved1 : DWORD;
  4668. cFileName : array[0..(MAX_PATH)-1] of TCHAR;
  4669. cAlternateFileName : array[0..13] of TCHAR;
  4670. end;
  4671. LPWIN32_FIND_DATA = ^WIN32_FIND_DATA;
  4672. PWIN32_FIND_DATA = ^WIN32_FIND_DATA;
  4673. _WIN32_FIND_DATA = WIN32_FIND_DATA;
  4674. WIN32_STREAM_ID = record
  4675. dwStreamId : DWORD;
  4676. dwStreamAttributes : DWORD;
  4677. Size : LARGE_INTEGER;
  4678. dwStreamNameSize : DWORD;
  4679. cStreamName : ^WCHAR;
  4680. end;
  4681. _WIN32_STREAM_ID = WIN32_STREAM_ID;
  4682. WINDOWPLACEMENT = record
  4683. length : UINT;
  4684. flags : UINT;
  4685. showCmd : UINT;
  4686. ptMinPosition : POINT;
  4687. ptMaxPosition : POINT;
  4688. rcNormalPosition : RECT;
  4689. end;
  4690. _WINDOWPLACEMENT = WINDOWPLACEMENT;
  4691. WNDCLASS = record
  4692. style : UINT;
  4693. lpfnWndProc : WNDPROC;
  4694. cbClsExtra : longint;
  4695. cbWndExtra : longint;
  4696. hInstance : HANDLE;
  4697. hIcon : HICON;
  4698. hCursor : HCURSOR;
  4699. hbrBackground : HBRUSH;
  4700. lpszMenuName : LPCTSTR;
  4701. lpszClassName : LPCTSTR;
  4702. end;
  4703. LPWNDCLASS = ^WNDCLASS;
  4704. _WNDCLASS = WNDCLASS;
  4705. WNDCLASSEX = record
  4706. cbSize : UINT;
  4707. style : UINT;
  4708. lpfnWndProc : WNDPROC;
  4709. cbClsExtra : longint;
  4710. cbWndExtra : longint;
  4711. hInstance : HANDLE;
  4712. _hIcon : HICON;
  4713. hCursor : HCURSOR;
  4714. hbrBackground : HBRUSH;
  4715. lpszMenuName : LPCTSTR;
  4716. lpszClassName : LPCTSTR;
  4717. hIconSm : HICON;
  4718. end;
  4719. LPWNDCLASSEX = ^WNDCLASSEX;
  4720. _WNDCLASSEX = WNDCLASSEX;
  4721. CONNECTDLGSTRUCT = record
  4722. cbStructure : DWORD;
  4723. hwndOwner : HWND;
  4724. lpConnRes : LPNETRESOURCE;
  4725. dwFlags : DWORD;
  4726. dwDevNum : DWORD;
  4727. end;
  4728. LPCONNECTDLGSTRUCT = ^CONNECTDLGSTRUCT;
  4729. _CONNECTDLGSTRUCT = CONNECTDLGSTRUCT;
  4730. DISCDLGSTRUCT = record
  4731. cbStructure : DWORD;
  4732. hwndOwner : HWND;
  4733. lpLocalName : LPTSTR;
  4734. lpRemoteName : LPTSTR;
  4735. dwFlags : DWORD;
  4736. end;
  4737. LPDISCDLGSTRUCT = ^DISCDLGSTRUCT;
  4738. _DISCDLGSTRUCT = DISCDLGSTRUCT;
  4739. NETINFOSTRUCT = record
  4740. cbStructure : DWORD;
  4741. dwProviderVersion : DWORD;
  4742. dwStatus : DWORD;
  4743. dwCharacteristics : DWORD;
  4744. dwHandle : DWORD;
  4745. wNetType : WORD;
  4746. dwPrinters : DWORD;
  4747. dwDrives : DWORD;
  4748. end;
  4749. LPNETINFOSTRUCT = ^NETINFOSTRUCT;
  4750. _NETINFOSTRUCT = NETINFOSTRUCT;
  4751. NETCONNECTINFOSTRUCT = record
  4752. cbStructure : DWORD;
  4753. dwFlags : DWORD;
  4754. dwSpeed : DWORD;
  4755. dwDelay : DWORD;
  4756. dwOptDataSize : DWORD;
  4757. end;
  4758. LPNETCONNECTINFOSTRUCT = ^NETCONNECTINFOSTRUCT;
  4759. _NETCONNECTINFOSTRUCT = NETCONNECTINFOSTRUCT;
  4760. ENUMMETAFILEPROC = function (_para1:HDC; _para2:HANDLETABLE; _para3:METARECORD; _para4:longint; _para5:LPARAM):longint;
  4761. ENHMETAFILEPROC = function (_para1:HDC; _para2:HANDLETABLE; _para3:ENHMETARECORD; _para4:longint; _para5:LPARAM):longint;
  4762. ENUMFONTSPROC = function (_para1:LPLOGFONT; _para2:LPTEXTMETRIC; _para3:DWORD; _para4:LPARAM):longint;
  4763. FONTENUMPROC = function (var _para1:ENUMLOGFONT; var _para2:NEWTEXTMETRIC; _para3:longint; _para4:LPARAM):longint;
  4764. FONTENUMEXPROC = function (var _para1:ENUMLOGFONTEX;var _para2:NEWTEXTMETRICEX; _para3:longint; _para4:LPARAM):longint;
  4765. LPOVERLAPPED_COMPLETION_ROUTINE = procedure (_para1:DWORD; _para2:DWORD; _para3:LPOVERLAPPED);
  4766. {
  4767. Structures for the extensions to OpenGL
  4768. }
  4769. POINTFLOAT = record
  4770. x : FLOAT;
  4771. y : FLOAT;
  4772. end;
  4773. PPOINTFLOAT = ^POINTFLOAT;
  4774. _POINTFLOAT = POINTFLOAT;
  4775. GLYPHMETRICSFLOAT = record
  4776. gmfBlackBoxX : FLOAT;
  4777. gmfBlackBoxY : FLOAT;
  4778. gmfptGlyphOrigin : POINTFLOAT;
  4779. gmfCellIncX : FLOAT;
  4780. gmfCellIncY : FLOAT;
  4781. end;
  4782. PGLYPHMETRICSFLOAT = ^GLYPHMETRICSFLOAT;
  4783. LPGLYPHMETRICSFLOAT = ^GLYPHMETRICSFLOAT;
  4784. _GLYPHMETRICSFLOAT = GLYPHMETRICSFLOAT;
  4785. LAYERPLANEDESCRIPTOR = record
  4786. nSize : WORD;
  4787. nVersion : WORD;
  4788. dwFlags : DWORD;
  4789. iPixelType : BYTE;
  4790. cColorBits : BYTE;
  4791. cRedBits : BYTE;
  4792. cRedShift : BYTE;
  4793. cGreenBits : BYTE;
  4794. cGreenShift : BYTE;
  4795. cBlueBits : BYTE;
  4796. cBlueShift : BYTE;
  4797. cAlphaBits : BYTE;
  4798. cAlphaShift : BYTE;
  4799. cAccumBits : BYTE;
  4800. cAccumRedBits : BYTE;
  4801. cAccumGreenBits : BYTE;
  4802. cAccumBlueBits : BYTE;
  4803. cAccumAlphaBits : BYTE;
  4804. cDepthBits : BYTE;
  4805. cStencilBits : BYTE;
  4806. cAuxBuffers : BYTE;
  4807. iLayerPlane : BYTE;
  4808. bReserved : BYTE;
  4809. crTransparent : COLORREF;
  4810. end;
  4811. PLAYERPLANEDESCRIPTOR = ^LAYERPLANEDESCRIPTOR;
  4812. LPLAYERPLANEDESCRIPTOR = ^LAYERPLANEDESCRIPTOR;
  4813. tagLAYERPLANEDESCRIPTOR = LAYERPLANEDESCRIPTOR;
  4814. PIXELFORMATDESCRIPTOR = record
  4815. nSize : WORD;
  4816. nVersion : WORD;
  4817. dwFlags : DWORD;
  4818. iPixelType : BYTE;
  4819. cColorBits : BYTE;
  4820. cRedBits : BYTE;
  4821. cRedShift : BYTE;
  4822. cGreenBits : BYTE;
  4823. cGreenShift : BYTE;
  4824. cBlueBits : BYTE;
  4825. cBlueShift : BYTE;
  4826. cAlphaBits : BYTE;
  4827. cAlphaShift : BYTE;
  4828. cAccumBits : BYTE;
  4829. cAccumRedBits : BYTE;
  4830. cAccumGreenBits : BYTE;
  4831. cAccumBlueBits : BYTE;
  4832. cAccumAlphaBits : BYTE;
  4833. cDepthBits : BYTE;
  4834. cStencilBits : BYTE;
  4835. cAuxBuffers : BYTE;
  4836. iLayerType : BYTE;
  4837. bReserved : BYTE;
  4838. dwLayerMask : DWORD;
  4839. dwVisibleMask : DWORD;
  4840. dwDamageMask : DWORD;
  4841. end;
  4842. PPIXELFORMATDESCRIPTOR = ^PIXELFORMATDESCRIPTOR;
  4843. LPPIXELFORMATDESCRIPTOR = ^PIXELFORMATDESCRIPTOR;
  4844. tagPIXELFORMATDESCRIPTOR = PIXELFORMATDESCRIPTOR;
  4845. USER_INFO_2 = record
  4846. usri2_name : LPWSTR;
  4847. usri2_password : LPWSTR;
  4848. usri2_password_age : DWORD;
  4849. usri2_priv : DWORD;
  4850. usri2_home_dir : LPWSTR;
  4851. usri2_comment : LPWSTR;
  4852. usri2_flags : DWORD;
  4853. usri2_script_path : LPWSTR;
  4854. usri2_auth_flags : DWORD;
  4855. usri2_full_name : LPWSTR;
  4856. usri2_usr_comment : LPWSTR;
  4857. usri2_parms : LPWSTR;
  4858. usri2_workstations : LPWSTR;
  4859. usri2_last_logon : DWORD;
  4860. usri2_last_logoff : DWORD;
  4861. usri2_acct_expires : DWORD;
  4862. usri2_max_storage : DWORD;
  4863. usri2_units_per_week : DWORD;
  4864. usri2_logon_hours : PBYTE;
  4865. usri2_bad_pw_count : DWORD;
  4866. usri2_num_logons : DWORD;
  4867. usri2_logon_server : LPWSTR;
  4868. usri2_country_code : DWORD;
  4869. usri2_code_page : DWORD;
  4870. end;
  4871. PUSER_INFO_2 = ^USER_INFO_2;
  4872. LPUSER_INFO_2 = ^USER_INFO_2;
  4873. USER_INFO_0 = record
  4874. usri0_name : LPWSTR;
  4875. end;
  4876. PUSER_INFO_0 = ^USER_INFO_0;
  4877. LPUSER_INFO_0 = ^USER_INFO_0;
  4878. USER_INFO_3 = record
  4879. usri3_name : LPWSTR;
  4880. usri3_password : LPWSTR;
  4881. usri3_password_age : DWORD;
  4882. usri3_priv : DWORD;
  4883. usri3_home_dir : LPWSTR;
  4884. usri3_comment : LPWSTR;
  4885. usri3_flags : DWORD;
  4886. usri3_script_path : LPWSTR;
  4887. usri3_auth_flags : DWORD;
  4888. usri3_full_name : LPWSTR;
  4889. usri3_usr_comment : LPWSTR;
  4890. usri3_parms : LPWSTR;
  4891. usri3_workstations : LPWSTR;
  4892. usri3_last_logon : DWORD;
  4893. usri3_last_logoff : DWORD;
  4894. usri3_acct_expires : DWORD;
  4895. usri3_max_storage : DWORD;
  4896. usri3_units_per_week : DWORD;
  4897. usri3_logon_hours : PBYTE;
  4898. usri3_bad_pw_count : DWORD;
  4899. usri3_num_logons : DWORD;
  4900. usri3_logon_server : LPWSTR;
  4901. usri3_country_code : DWORD;
  4902. usri3_code_page : DWORD;
  4903. usri3_user_id : DWORD;
  4904. usri3_primary_group_id : DWORD;
  4905. usri3_profile : LPWSTR;
  4906. usri3_home_dir_drive : LPWSTR;
  4907. usri3_password_expired : DWORD;
  4908. end;
  4909. PUSER_INFO_3 = ^USER_INFO_3;
  4910. LPUSER_INFO_3 = ^USER_INFO_3;
  4911. GROUP_INFO_2 = record
  4912. grpi2_name : LPWSTR;
  4913. grpi2_comment : LPWSTR;
  4914. grpi2_group_id : DWORD;
  4915. grpi2_attributes : DWORD;
  4916. end;
  4917. PGROUP_INFO_2 = ^GROUP_INFO_2;
  4918. LOCALGROUP_INFO_0 = record
  4919. lgrpi0_name : LPWSTR;
  4920. end;
  4921. PLOCALGROUP_INFO_0 = ^LOCALGROUP_INFO_0;
  4922. LPLOCALGROUP_INFO_0 = ^LOCALGROUP_INFO_0;
  4923. { PE executable header. }
  4924. { Magic number, 0x5a4d }
  4925. { Bytes on last page of file, 0x90 }
  4926. { Pages in file, 0x3 }
  4927. { Relocations, 0x0 }
  4928. { Size of header in paragraphs, 0x4 }
  4929. { Minimum extra paragraphs needed, 0x0 }
  4930. { Maximum extra paragraphs needed, 0xFFFF }
  4931. { Initial (relative) SS value, 0x0 }
  4932. { Initial SP value, 0xb8 }
  4933. { Checksum, 0x0 }
  4934. { Initial IP value, 0x0 }
  4935. { Initial (relative) CS value, 0x0 }
  4936. { File address of relocation table, 0x40 }
  4937. { Overlay number, 0x0 }
  4938. { Reserved words, all 0x0 }
  4939. { OEM identifier (for e_oeminfo), 0x0 }
  4940. { OEM information; e_oemid specific, 0x0 }
  4941. { Reserved words, all 0x0 }
  4942. { File address of new exe header, 0x80 }
  4943. { We leave out the next two fields, since they aren't in the
  4944. Windows header file. }
  4945. { DWORD dos_message[16]; text which always follows dos header }
  4946. { DWORD nt_signature; required NT signature, 0x4550 }
  4947. IMAGE_DOS_HEADER = record
  4948. e_magic : WORD;
  4949. e_cblp : WORD;
  4950. e_cp : WORD;
  4951. e_crlc : WORD;
  4952. e_cparhdr : WORD;
  4953. e_minalloc : WORD;
  4954. e_maxalloc : WORD;
  4955. e_ss : WORD;
  4956. e_sp : WORD;
  4957. e_csum : WORD;
  4958. e_ip : WORD;
  4959. e_cs : WORD;
  4960. e_lfarlc : WORD;
  4961. e_ovno : WORD;
  4962. e_res : array[0..3] of WORD;
  4963. e_oemid : WORD;
  4964. e_oeminfo : WORD;
  4965. e_res2 : array[0..9] of WORD;
  4966. e_lfanew : LONG;
  4967. end;
  4968. PIMAGE_DOS_HEADER = ^IMAGE_DOS_HEADER;
  4969. { C++ end of extern C conditionnal removed }
  4970. { __cplusplus }
  4971. {$endif}
  4972. { _GNU_H_WINDOWS32_STRUCTURES }
  4973. {$endif read_interface}
  4974. {$ifndef windows_include_files}
  4975. implementation
  4976. const External_library='kernel32'; {Setup as you need!}
  4977. {$endif not windows_include_files}
  4978. {$ifdef read_implementation}
  4979. function fBinary(var a : DCB) : DWORD;
  4980. begin
  4981. fBinary:=(a.flag0 and bm_DCB_fBinary) shr bp_DCB_fBinary;
  4982. end;
  4983. procedure set_fBinary(var a : DCB; __fBinary : DWORD);
  4984. begin
  4985. a.flag0:=a.flag0 or ((__fBinary shl bp_DCB_fBinary) and bm_DCB_fBinary);
  4986. end;
  4987. function fParity(var a : DCB) : DWORD;
  4988. begin
  4989. fParity:=(a.flag0 and bm_DCB_fParity) shr bp_DCB_fParity;
  4990. end;
  4991. procedure set_fParity(var a : DCB; __fParity : DWORD);
  4992. begin
  4993. a.flag0:=a.flag0 or ((__fParity shl bp_DCB_fParity) and bm_DCB_fParity);
  4994. end;
  4995. function fOutxCtsFlow(var a : DCB) : DWORD;
  4996. begin
  4997. fOutxCtsFlow:=(a.flag0 and bm_DCB_fOutxCtsFlow) shr bp_DCB_fOutxCtsFlow;
  4998. end;
  4999. procedure set_fOutxCtsFlow(var a : DCB; __fOutxCtsFlow : DWORD);
  5000. begin
  5001. a.flag0:=a.flag0 or ((__fOutxCtsFlow shl bp_DCB_fOutxCtsFlow) and bm_DCB_fOutxCtsFlow);
  5002. end;
  5003. function fOutxDsrFlow(var a : DCB) : DWORD;
  5004. begin
  5005. fOutxDsrFlow:=(a.flag0 and bm_DCB_fOutxDsrFlow) shr bp_DCB_fOutxDsrFlow;
  5006. end;
  5007. procedure set_fOutxDsrFlow(var a : DCB; __fOutxDsrFlow : DWORD);
  5008. begin
  5009. a.flag0:=a.flag0 or ((__fOutxDsrFlow shl bp_DCB_fOutxDsrFlow) and bm_DCB_fOutxDsrFlow);
  5010. end;
  5011. function fDtrControl(var a : DCB) : DWORD;
  5012. begin
  5013. fDtrControl:=(a.flag0 and bm_DCB_fDtrControl) shr bp_DCB_fDtrControl;
  5014. end;
  5015. procedure set_fDtrControl(var a : DCB; __fDtrControl : DWORD);
  5016. begin
  5017. a.flag0:=a.flag0 or ((__fDtrControl shl bp_DCB_fDtrControl) and bm_DCB_fDtrControl);
  5018. end;
  5019. function fDsrSensitivity(var a : DCB) : DWORD;
  5020. begin
  5021. fDsrSensitivity:=(a.flag0 and bm_DCB_fDsrSensitivity) shr bp_DCB_fDsrSensitivity;
  5022. end;
  5023. procedure set_fDsrSensitivity(var a : DCB; __fDsrSensitivity : DWORD);
  5024. begin
  5025. a.flag0:=a.flag0 or ((__fDsrSensitivity shl bp_DCB_fDsrSensitivity) and bm_DCB_fDsrSensitivity);
  5026. end;
  5027. function fTXContinueOnXoff(var a : DCB) : DWORD;
  5028. begin
  5029. fTXContinueOnXoff:=(a.flag0 and bm_DCB_fTXContinueOnXoff) shr bp_DCB_fTXContinueOnXoff;
  5030. end;
  5031. procedure set_fTXContinueOnXoff(var a : DCB; __fTXContinueOnXoff : DWORD);
  5032. begin
  5033. a.flag0:=a.flag0 or ((__fTXContinueOnXoff shl bp_DCB_fTXContinueOnXoff) and bm_DCB_fTXContinueOnXoff);
  5034. end;
  5035. function fOutX(var a : DCB) : DWORD;
  5036. begin
  5037. fOutX:=(a.flag0 and bm_DCB_fOutX) shr bp_DCB_fOutX;
  5038. end;
  5039. procedure set_fOutX(var a : DCB; __fOutX : DWORD);
  5040. begin
  5041. a.flag0:=a.flag0 or ((__fOutX shl bp_DCB_fOutX) and bm_DCB_fOutX);
  5042. end;
  5043. function fInX(var a : DCB) : DWORD;
  5044. begin
  5045. fInX:=(a.flag0 and bm_DCB_fInX) shr bp_DCB_fInX;
  5046. end;
  5047. procedure set_fInX(var a : DCB; __fInX : DWORD);
  5048. begin
  5049. a.flag0:=a.flag0 or ((__fInX shl bp_DCB_fInX) and bm_DCB_fInX);
  5050. end;
  5051. function fErrorChar(var a : DCB) : DWORD;
  5052. begin
  5053. fErrorChar:=(a.flag0 and bm_DCB_fErrorChar) shr bp_DCB_fErrorChar;
  5054. end;
  5055. procedure set_fErrorChar(var a : DCB; __fErrorChar : DWORD);
  5056. begin
  5057. a.flag0:=a.flag0 or ((__fErrorChar shl bp_DCB_fErrorChar) and bm_DCB_fErrorChar);
  5058. end;
  5059. function fNull(var a : DCB) : DWORD;
  5060. begin
  5061. fNull:=(a.flag0 and bm_DCB_fNull) shr bp_DCB_fNull;
  5062. end;
  5063. procedure set_fNull(var a : DCB; __fNull : DWORD);
  5064. begin
  5065. a.flag0:=a.flag0 or ((__fNull shl bp_DCB_fNull) and bm_DCB_fNull);
  5066. end;
  5067. function fRtsControl(var a : DCB) : DWORD;
  5068. begin
  5069. fRtsControl:=(a.flag0 and bm_DCB_fRtsControl) shr bp_DCB_fRtsControl;
  5070. end;
  5071. procedure set_fRtsControl(var a : DCB; __fRtsControl : DWORD);
  5072. begin
  5073. a.flag0:=a.flag0 or ((__fRtsControl shl bp_DCB_fRtsControl) and bm_DCB_fRtsControl);
  5074. end;
  5075. function fAbortOnError(var a : DCB) : DWORD;
  5076. begin
  5077. fAbortOnError:=(a.flag0 and bm_DCB_fAbortOnError) shr bp_DCB_fAbortOnError;
  5078. end;
  5079. procedure set_fAbortOnError(var a : DCB; __fAbortOnError : DWORD);
  5080. begin
  5081. a.flag0:=a.flag0 or ((__fAbortOnError shl bp_DCB_fAbortOnError) and bm_DCB_fAbortOnError);
  5082. end;
  5083. function fDummy2(var a : DCB) : DWORD;
  5084. begin
  5085. fDummy2:=(a.flag0 and bm_DCB_fDummy2) shr bp_DCB_fDummy2;
  5086. end;
  5087. procedure set_fDummy2(var a : DCB; __fDummy2 : DWORD);
  5088. begin
  5089. a.flag0:=a.flag0 or ((__fDummy2 shl bp_DCB_fDummy2) and bm_DCB_fDummy2);
  5090. end;
  5091. function fCtsHold(var a : COMSTAT) : DWORD;
  5092. begin
  5093. fCtsHold:=(a.flag0 and bm_COMSTAT_fCtsHold) shr bp_COMSTAT_fCtsHold;
  5094. end;
  5095. procedure set_fCtsHold(var a : COMSTAT; __fCtsHold : DWORD);
  5096. begin
  5097. a.flag0:=a.flag0 or ((__fCtsHold shl bp_COMSTAT_fCtsHold) and bm_COMSTAT_fCtsHold);
  5098. end;
  5099. function fDsrHold(var a : COMSTAT) : DWORD;
  5100. begin
  5101. fDsrHold:=(a.flag0 and bm_COMSTAT_fDsrHold) shr bp_COMSTAT_fDsrHold;
  5102. end;
  5103. procedure set_fDsrHold(var a : COMSTAT; __fDsrHold : DWORD);
  5104. begin
  5105. a.flag0:=a.flag0 or ((__fDsrHold shl bp_COMSTAT_fDsrHold) and bm_COMSTAT_fDsrHold);
  5106. end;
  5107. function fRlsdHold(var a : COMSTAT) : DWORD;
  5108. begin
  5109. fRlsdHold:=(a.flag0 and bm_COMSTAT_fRlsdHold) shr bp_COMSTAT_fRlsdHold;
  5110. end;
  5111. procedure set_fRlsdHold(var a : COMSTAT; __fRlsdHold : DWORD);
  5112. begin
  5113. a.flag0:=a.flag0 or ((__fRlsdHold shl bp_COMSTAT_fRlsdHold) and bm_COMSTAT_fRlsdHold);
  5114. end;
  5115. function fXoffHold(var a : COMSTAT) : DWORD;
  5116. begin
  5117. fXoffHold:=(a.flag0 and bm_COMSTAT_fXoffHold) shr bp_COMSTAT_fXoffHold;
  5118. end;
  5119. procedure set_fXoffHold(var a : COMSTAT; __fXoffHold : DWORD);
  5120. begin
  5121. a.flag0:=a.flag0 or ((__fXoffHold shl bp_COMSTAT_fXoffHold) and bm_COMSTAT_fXoffHold);
  5122. end;
  5123. function fXoffSent(var a : COMSTAT) : DWORD;
  5124. begin
  5125. fXoffSent:=(a.flag0 and bm_COMSTAT_fXoffSent) shr bp_COMSTAT_fXoffSent;
  5126. end;
  5127. procedure set_fXoffSent(var a : COMSTAT; __fXoffSent : DWORD);
  5128. begin
  5129. a.flag0:=a.flag0 or ((__fXoffSent shl bp_COMSTAT_fXoffSent) and bm_COMSTAT_fXoffSent);
  5130. end;
  5131. function fEof(var a : COMSTAT) : DWORD;
  5132. begin
  5133. fEof:=(a.flag0 and bm_COMSTAT_fEof) shr bp_COMSTAT_fEof;
  5134. end;
  5135. procedure set_fEof(var a : COMSTAT; __fEof : DWORD);
  5136. begin
  5137. a.flag0:=a.flag0 or ((__fEof shl bp_COMSTAT_fEof) and bm_COMSTAT_fEof);
  5138. end;
  5139. function fTxim(var a : COMSTAT) : DWORD;
  5140. begin
  5141. fTxim:=(a.flag0 and bm_COMSTAT_fTxim) shr bp_COMSTAT_fTxim;
  5142. end;
  5143. procedure set_fTxim(var a : COMSTAT; __fTxim : DWORD);
  5144. begin
  5145. a.flag0:=a.flag0 or ((__fTxim shl bp_COMSTAT_fTxim) and bm_COMSTAT_fTxim);
  5146. end;
  5147. function fReserved(var a : COMSTAT) : DWORD;
  5148. begin
  5149. fReserved:=(a.flag0 and bm_COMSTAT_fReserved) shr bp_COMSTAT_fReserved;
  5150. end;
  5151. procedure set_fReserved(var a : COMSTAT; __fReserved : DWORD);
  5152. begin
  5153. a.flag0:=a.flag0 or ((__fReserved shl bp_COMSTAT_fReserved) and bm_COMSTAT_fReserved);
  5154. end;
  5155. function bAppReturnCode(var a : DDEACK) : word;
  5156. begin
  5157. bAppReturnCode:=(a.flag0 and bm_DDEACK_bAppReturnCode) shr bp_DDEACK_bAppReturnCode;
  5158. end;
  5159. procedure set_bAppReturnCode(var a : DDEACK; __bAppReturnCode : word);
  5160. begin
  5161. a.flag0:=a.flag0 or ((__bAppReturnCode shl bp_DDEACK_bAppReturnCode) and bm_DDEACK_bAppReturnCode);
  5162. end;
  5163. function reserved(var a : DDEACK) : word;
  5164. begin
  5165. reserved:=(a.flag0 and bm_DDEACK_reserved) shr bp_DDEACK_reserved;
  5166. end;
  5167. procedure set_reserved(var a : DDEACK; __reserved : word);
  5168. begin
  5169. a.flag0:=a.flag0 or ((__reserved shl bp_DDEACK_reserved) and bm_DDEACK_reserved);
  5170. end;
  5171. function fBusy(var a : DDEACK) : word;
  5172. begin
  5173. fBusy:=(a.flag0 and bm_DDEACK_fBusy) shr bp_DDEACK_fBusy;
  5174. end;
  5175. procedure set_fBusy(var a : DDEACK; __fBusy : word);
  5176. begin
  5177. a.flag0:=a.flag0 or ((__fBusy shl bp_DDEACK_fBusy) and bm_DDEACK_fBusy);
  5178. end;
  5179. function fAck(var a : DDEACK) : word;
  5180. begin
  5181. fAck:=(a.flag0 and bm_DDEACK_fAck) shr bp_DDEACK_fAck;
  5182. end;
  5183. procedure set_fAck(var a : DDEACK; __fAck : word);
  5184. begin
  5185. a.flag0:=a.flag0 or ((__fAck shl bp_DDEACK_fAck) and bm_DDEACK_fAck);
  5186. end;
  5187. function reserved(var a : DDEADVISE) : word;
  5188. begin
  5189. reserved:=(a.flag0 and bm_DDEADVISE_reserved) shr bp_DDEADVISE_reserved;
  5190. end;
  5191. procedure set_reserved(var a : DDEADVISE; __reserved : word);
  5192. begin
  5193. a.flag0:=a.flag0 or ((__reserved shl bp_DDEADVISE_reserved) and bm_DDEADVISE_reserved);
  5194. end;
  5195. function fDeferUpd(var a : DDEADVISE) : word;
  5196. begin
  5197. fDeferUpd:=(a.flag0 and bm_DDEADVISE_fDeferUpd) shr bp_DDEADVISE_fDeferUpd;
  5198. end;
  5199. procedure set_fDeferUpd(var a : DDEADVISE; __fDeferUpd : word);
  5200. begin
  5201. a.flag0:=a.flag0 or ((__fDeferUpd shl bp_DDEADVISE_fDeferUpd) and bm_DDEADVISE_fDeferUpd);
  5202. end;
  5203. function fAckReq(var a : DDEADVISE) : word;
  5204. begin
  5205. fAckReq:=(a.flag0 and bm_DDEADVISE_fAckReq) shr bp_DDEADVISE_fAckReq;
  5206. end;
  5207. procedure set_fAckReq(var a : DDEADVISE; __fAckReq : word);
  5208. begin
  5209. a.flag0:=a.flag0 or ((__fAckReq shl bp_DDEADVISE_fAckReq) and bm_DDEADVISE_fAckReq);
  5210. end;
  5211. function unused(var a : DDEDATA) : word;
  5212. begin
  5213. unused:=(a.flag0 and bm_DDEDATA_unused) shr bp_DDEDATA_unused;
  5214. end;
  5215. procedure set_unused(var a : DDEDATA; __unused : word);
  5216. begin
  5217. a.flag0:=a.flag0 or ((__unused shl bp_DDEDATA_unused) and bm_DDEDATA_unused);
  5218. end;
  5219. function fResponse(var a : DDEDATA) : word;
  5220. begin
  5221. fResponse:=(a.flag0 and bm_DDEDATA_fResponse) shr bp_DDEDATA_fResponse;
  5222. end;
  5223. procedure set_fResponse(var a : DDEDATA; __fResponse : word);
  5224. begin
  5225. a.flag0:=a.flag0 or ((__fResponse shl bp_DDEDATA_fResponse) and bm_DDEDATA_fResponse);
  5226. end;
  5227. function fRelease(var a : DDEDATA) : word;
  5228. begin
  5229. fRelease:=(a.flag0 and bm_DDEDATA_fRelease) shr bp_DDEDATA_fRelease;
  5230. end;
  5231. procedure set_fRelease(var a : DDEDATA; __fRelease : word);
  5232. begin
  5233. a.flag0:=a.flag0 or ((__fRelease shl bp_DDEDATA_fRelease) and bm_DDEDATA_fRelease);
  5234. end;
  5235. function reserved(var a : DDEDATA) : word;
  5236. begin
  5237. reserved:=(a.flag0 and bm_DDEDATA_reserved) shr bp_DDEDATA_reserved;
  5238. end;
  5239. procedure set_reserved(var a : DDEDATA; __reserved : word);
  5240. begin
  5241. a.flag0:=a.flag0 or ((__reserved shl bp_DDEDATA_reserved) and bm_DDEDATA_reserved);
  5242. end;
  5243. function fAckReq(var a : DDEDATA) : word;
  5244. begin
  5245. fAckReq:=(a.flag0 and bm_DDEDATA_fAckReq) shr bp_DDEDATA_fAckReq;
  5246. end;
  5247. procedure set_fAckReq(var a : DDEDATA; __fAckReq : word);
  5248. begin
  5249. a.flag0:=a.flag0 or ((__fAckReq shl bp_DDEDATA_fAckReq) and bm_DDEDATA_fAckReq);
  5250. end;
  5251. function unused(var a : DDELN) : word;
  5252. begin
  5253. unused:=(a.flag0 and bm_DDELN_unused) shr bp_DDELN_unused;
  5254. end;
  5255. procedure set_unused(var a : DDELN; __unused : word);
  5256. begin
  5257. a.flag0:=a.flag0 or ((__unused shl bp_DDELN_unused) and bm_DDELN_unused);
  5258. end;
  5259. function fRelease(var a : DDELN) : word;
  5260. begin
  5261. fRelease:=(a.flag0 and bm_DDELN_fRelease) shr bp_DDELN_fRelease;
  5262. end;
  5263. procedure set_fRelease(var a : DDELN; __fRelease : word);
  5264. begin
  5265. a.flag0:=a.flag0 or ((__fRelease shl bp_DDELN_fRelease) and bm_DDELN_fRelease);
  5266. end;
  5267. function fDeferUpd(var a : DDELN) : word;
  5268. begin
  5269. fDeferUpd:=(a.flag0 and bm_DDELN_fDeferUpd) shr bp_DDELN_fDeferUpd;
  5270. end;
  5271. procedure set_fDeferUpd(var a : DDELN; __fDeferUpd : word);
  5272. begin
  5273. a.flag0:=a.flag0 or ((__fDeferUpd shl bp_DDELN_fDeferUpd) and bm_DDELN_fDeferUpd);
  5274. end;
  5275. function fAckReq(var a : DDELN) : word;
  5276. begin
  5277. fAckReq:=(a.flag0 and bm_DDELN_fAckReq) shr bp_DDELN_fAckReq;
  5278. end;
  5279. procedure set_fAckReq(var a : DDELN; __fAckReq : word);
  5280. begin
  5281. a.flag0:=a.flag0 or ((__fAckReq shl bp_DDELN_fAckReq) and bm_DDELN_fAckReq);
  5282. end;
  5283. function unused(var a : DDEPOKE) : word;
  5284. begin
  5285. unused:=(a.flag0 and bm_DDEPOKE_unused) shr bp_DDEPOKE_unused;
  5286. end;
  5287. procedure set_unused(var a : DDEPOKE; __unused : word);
  5288. begin
  5289. a.flag0:=a.flag0 or ((__unused shl bp_DDEPOKE_unused) and bm_DDEPOKE_unused);
  5290. end;
  5291. function fRelease(var a : DDEPOKE) : word;
  5292. begin
  5293. fRelease:=(a.flag0 and bm_DDEPOKE_fRelease) shr bp_DDEPOKE_fRelease;
  5294. end;
  5295. procedure set_fRelease(var a : DDEPOKE; __fRelease : word);
  5296. begin
  5297. a.flag0:=a.flag0 or ((__fRelease shl bp_DDEPOKE_fRelease) and bm_DDEPOKE_fRelease);
  5298. end;
  5299. function fReserved(var a : DDEPOKE) : word;
  5300. begin
  5301. fReserved:=(a.flag0 and bm_DDEPOKE_fReserved) shr bp_DDEPOKE_fReserved;
  5302. end;
  5303. procedure set_fReserved(var a : DDEPOKE; __fReserved : word);
  5304. begin
  5305. a.flag0:=a.flag0 or ((__fReserved shl bp_DDEPOKE_fReserved) and bm_DDEPOKE_fReserved);
  5306. end;
  5307. function unused(var a : DDEUP) : word;
  5308. begin
  5309. unused:=(a.flag0 and bm_DDEUP_unused) shr bp_DDEUP_unused;
  5310. end;
  5311. procedure set_unused(var a : DDEUP; __unused : word);
  5312. begin
  5313. a.flag0:=a.flag0 or ((__unused shl bp_DDEUP_unused) and bm_DDEUP_unused);
  5314. end;
  5315. function fAck(var a : DDEUP) : word;
  5316. begin
  5317. fAck:=(a.flag0 and bm_DDEUP_fAck) shr bp_DDEUP_fAck;
  5318. end;
  5319. procedure set_fAck(var a : DDEUP; __fAck : word);
  5320. begin
  5321. a.flag0:=a.flag0 or ((__fAck shl bp_DDEUP_fAck) and bm_DDEUP_fAck);
  5322. end;
  5323. function fRelease(var a : DDEUP) : word;
  5324. begin
  5325. fRelease:=(a.flag0 and bm_DDEUP_fRelease) shr bp_DDEUP_fRelease;
  5326. end;
  5327. procedure set_fRelease(var a : DDEUP; __fRelease : word);
  5328. begin
  5329. a.flag0:=a.flag0 or ((__fRelease shl bp_DDEUP_fRelease) and bm_DDEUP_fRelease);
  5330. end;
  5331. function fReserved(var a : DDEUP) : word;
  5332. begin
  5333. fReserved:=(a.flag0 and bm_DDEUP_fReserved) shr bp_DDEUP_fReserved;
  5334. end;
  5335. procedure set_fReserved(var a : DDEUP; __fReserved : word);
  5336. begin
  5337. a.flag0:=a.flag0 or ((__fReserved shl bp_DDEUP_fReserved) and bm_DDEUP_fReserved);
  5338. end;
  5339. function fAckReq(var a : DDEUP) : word;
  5340. begin
  5341. fAckReq:=(a.flag0 and bm_DDEUP_fAckReq) shr bp_DDEUP_fAckReq;
  5342. end;
  5343. procedure set_fAckReq(var a : DDEUP; __fAckReq : word);
  5344. begin
  5345. a.flag0:=a.flag0 or ((__fAckReq shl bp_DDEUP_fAckReq) and bm_DDEUP_fAckReq);
  5346. end;
  5347. {$endif read_implementation}
  5348. {$ifndef windows_include_files}
  5349. end.
  5350. {$endif not windows_include_files}
  5351. {
  5352. $Log$
  5353. Revision 1.4 1998-08-31 11:53:59 pierre
  5354. * compilable windows.pp file
  5355. still to do :
  5356. - findout problems
  5357. - findout the correct DLL for each call !!
  5358. Revision 1.3 1998/06/25 08:41:48 florian
  5359. * better rtti
  5360. Revision 1.2 1998/05/06 12:36:50 michael
  5361. + Removed log from before restored version.
  5362. Revision 1.1.1.1 1998/03/25 11:18:47 root
  5363. * Restored version
  5364. }