| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452 |
- {******************************************************************************}
- {* *}
- {* Copyright (C) Microsoft Corporation. All Rights Reserved. *}
- {* *}
- {* Files: dpaddr.h dplobby8.h dplay8.h dvoice.h *}
- {* Content: DirectPlay8 include files *}
- {* *}
- {* DirectX 9.0 Delphi adaptation by Alexey Barkovoy *}
- {* E-Mail: clootie@reactor.ru *}
- {* *}
- {* Modified: 27-Apr-2003 *}
- {* *}
- {* Latest version can be downloaded from: *}
- {* http://clootie.narod.ru/delphi *}
- {* *}
- {******************************************************************************}
- { }
- { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI) }
- { }
- { The contents of this file are used with permission, subject to the Mozilla }
- { Public License Version 1.1 (the "License"); you may not use this file except }
- { in compliance with the License. You may obtain a copy of the License at }
- { http://www.mozilla.org/MPL/MPL-1.1.html }
- { }
- { Software distributed under the License is distributed on an "AS IS" basis, }
- { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
- { the specific language governing rights and limitations under the License. }
- { }
- { Alternatively, the contents of this file may be used under the terms of the }
- { GNU Lesser General Public License (the "LGPL License"), in which case the }
- { provisions of the LGPL License are applicable instead of those above. }
- { If you wish to allow use of your version of this file only under the terms }
- { of the LGPL License and not to allow others to use your version of this file }
- { under the MPL, indicate your decision by deleting the provisions above and }
- { replace them with the notice and other provisions required by the LGPL }
- { License. If you do not delete the provisions above, a recipient may use }
- { your version of this file under either the MPL or the LGPL License. }
- { }
- { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
- { }
- {******************************************************************************}
- {$I DirectX.inc}
- unit DirectPlay8;
- interface
- (*$HPPEMIT '#include "dplay8.h"' *)
- (*$HPPEMIT '#include "dplobby8.h"' *)
- (*$HPPEMIT '#include "dvoice.h"' *)
- uses
- Windows, WinSock, DirectSound;
- (*==========================================================================;
- *
- * Copyright (C) 2000-2002 Microsoft Corporation. All Rights Reserved.
- *
- * File: dpaddr.h
- * Content: DirectPlayAddress include file
- ***************************************************************************)
- const
- (****************************************************************************
- *
- * DirectPlay8Address CLSIDs
- *
- ****************************************************************************)
- // {934A9523-A3CA-4bc5-ADA0-D6D95D979421}
- CLSID_DirectPlay8Address: TGUID = '{934a9523-a3ca-4bc5-ada0-d6d95d979421}';
- {$EXTERNALSYM CLSID_DirectPlay8Address}
-
- (****************************************************************************
- *
- * DirectPlay8Address Interface IIDs
- *
- ****************************************************************************)
- type
- DPNAREFIID = TGUID;
- {$EXTERNALSYM DPNAREFIID}
- TDPNARefIID = DPNAREFIID;
- (****************************************************************************
- *
- * DirectPlay8Address Constants
- *
- ****************************************************************************)
- const
- //
- // Asynchronous operation flags
- //
- DPNA_DATATYPE_STRING = $00000001;
- {$EXTERNALSYM DPNA_DATATYPE_STRING}
- DPNA_DATATYPE_DWORD = $00000002;
- {$EXTERNALSYM DPNA_DATATYPE_DWORD}
- DPNA_DATATYPE_GUID = $00000003;
- {$EXTERNALSYM DPNA_DATATYPE_GUID}
- DPNA_DATATYPE_BINARY = $00000004;
- {$EXTERNALSYM DPNA_DATATYPE_BINARY}
- DPNA_DATATYPE_STRING_ANSI = $00000005;
- {$EXTERNALSYM DPNA_DATATYPE_STRING_ANSI}
- DPNA_DPNSVR_PORT = 6073;
- {$EXTERNALSYM DPNA_DPNSVR_PORT}
- DPNA_INDEX_INVALID = $FFFFFFFF;
- {$EXTERNALSYM DPNA_INDEX_INVALID}
- (****************************************************************************
- *
- * DirectPlay8Address Address Elements
- *
- ****************************************************************************)
- DPNA_SEPARATOR_KEYVALUE = WideChar('=');
- {$EXTERNALSYM DPNA_SEPARATOR_KEYVALUE}
- DPNA_SEPARATOR_USERDATA = WideChar('#');
- {$EXTERNALSYM DPNA_SEPARATOR_USERDATA}
- DPNA_SEPARATOR_COMPONENT = WideChar(';');
- {$EXTERNALSYM DPNA_SEPARATOR_COMPONENT}
- DPNA_ESCAPECHAR = WideChar('%');
- {$EXTERNALSYM DPNA_ESCAPECHAR}
- // Header
- DPNA_HEADER = 'x-directplay:/';
- {$EXTERNALSYM DPNA_HEADER}
- // key names for address components
- DPNA_KEY_NAT_RESOLVER = 'natresolver';
- {$EXTERNALSYM DPNA_KEY_NAT_RESOLVER}
- DPNA_KEY_NAT_RESOLVER_USER_STRING = 'natresolveruserstring';
- {$EXTERNALSYM DPNA_KEY_NAT_RESOLVER_USER_STRING}
- DPNA_KEY_APPLICATION_INSTANCE = 'applicationinstance';
- {$EXTERNALSYM DPNA_KEY_APPLICATION_INSTANCE}
- DPNA_KEY_DEVICE = 'device';
- {$EXTERNALSYM DPNA_KEY_DEVICE}
- DPNA_KEY_HOSTNAME = 'hostname';
- {$EXTERNALSYM DPNA_KEY_HOSTNAME}
- DPNA_KEY_PORT = 'port';
- {$EXTERNALSYM DPNA_KEY_PORT}
- DPNA_KEY_NAMEINFO = 'nameinfo';
- {$EXTERNALSYM DPNA_KEY_NAMEINFO}
- DPNA_KEY_PROCESSOR = 'processor';
- {$EXTERNALSYM DPNA_KEY_PROCESSOR}
- DPNA_KEY_PROGRAM = 'program';
- {$EXTERNALSYM DPNA_KEY_PROGRAM}
- DPNA_KEY_PROVIDER = 'provider';
- {$EXTERNALSYM DPNA_KEY_PROVIDER}
- DPNA_KEY_SCOPE = 'scope';
- {$EXTERNALSYM DPNA_KEY_SCOPE}
- DPNA_KEY_TRAVERSALMODE = 'traversalmode';
- {$EXTERNALSYM DPNA_KEY_TRAVERSALMODE}
- DPNA_KEY_BAUD = 'baud';
- {$EXTERNALSYM DPNA_KEY_BAUD}
- DPNA_KEY_FLOWCONTROL = 'flowcontrol';
- {$EXTERNALSYM DPNA_KEY_FLOWCONTROL}
- DPNA_KEY_PARITY = 'parity';
- {$EXTERNALSYM DPNA_KEY_PARITY}
- DPNA_KEY_PHONENUMBER = 'phonenumber';
- {$EXTERNALSYM DPNA_KEY_PHONENUMBER}
- DPNA_KEY_STOPBITS = 'stopbits';
- {$EXTERNALSYM DPNA_KEY_STOPBITS}
- // values for baud rate
- DPNA_BAUD_RATE_9600 = 9600;
- {$EXTERNALSYM DPNA_BAUD_RATE_9600}
- DPNA_BAUD_RATE_14400 = 14400;
- {$EXTERNALSYM DPNA_BAUD_RATE_14400}
- DPNA_BAUD_RATE_19200 = 19200;
- {$EXTERNALSYM DPNA_BAUD_RATE_19200}
- DPNA_BAUD_RATE_38400 = 38400;
- {$EXTERNALSYM DPNA_BAUD_RATE_38400}
- DPNA_BAUD_RATE_56000 = 56000;
- {$EXTERNALSYM DPNA_BAUD_RATE_56000}
- DPNA_BAUD_RATE_57600 = 57600;
- {$EXTERNALSYM DPNA_BAUD_RATE_57600}
- DPNA_BAUD_RATE_115200 = 115200;
- {$EXTERNALSYM DPNA_BAUD_RATE_115200}
- // values for stop bits
- DPNA_STOP_BITS_ONE = '1';
- {$EXTERNALSYM DPNA_STOP_BITS_ONE}
- DPNA_STOP_BITS_ONE_FIVE = '1.5';
- {$EXTERNALSYM DPNA_STOP_BITS_ONE_FIVE}
- DPNA_STOP_BITS_TWO = '2';
- {$EXTERNALSYM DPNA_STOP_BITS_TWO}
- // values for parity
- DPNA_PARITY_NONE = 'NONE';
- {$EXTERNALSYM DPNA_PARITY_NONE}
- DPNA_PARITY_EVEN = 'EVEN';
- {$EXTERNALSYM DPNA_PARITY_EVEN}
- DPNA_PARITY_ODD = 'ODD';
- {$EXTERNALSYM DPNA_PARITY_ODD}
- DPNA_PARITY_MARK = 'MARK';
- {$EXTERNALSYM DPNA_PARITY_MARK}
- DPNA_PARITY_SPACE = 'SPACE';
- {$EXTERNALSYM DPNA_PARITY_SPACE}
- // values for flow control
- DPNA_FLOW_CONTROL_NONE = 'NONE';
- {$EXTERNALSYM DPNA_FLOW_CONTROL_NONE}
- DPNA_FLOW_CONTROL_XONXOFF = 'XONXOFF';
- {$EXTERNALSYM DPNA_FLOW_CONTROL_XONXOFF}
- DPNA_FLOW_CONTROL_RTS = 'RTS';
- {$EXTERNALSYM DPNA_FLOW_CONTROL_RTS}
- DPNA_FLOW_CONTROL_DTR = 'DTR';
- {$EXTERNALSYM DPNA_FLOW_CONTROL_DTR}
- DPNA_FLOW_CONTROL_RTSDTR = 'RTSDTR';
- {$EXTERNALSYM DPNA_FLOW_CONTROL_RTSDTR}
- // values for traversal mode
- DPNA_TRAVERSALMODE_NONE = 0;
- {$EXTERNALSYM DPNA_TRAVERSALMODE_NONE}
- DPNA_TRAVERSALMODE_PORTREQUIRED = 1;
- {$EXTERNALSYM DPNA_TRAVERSALMODE_PORTREQUIRED}
- DPNA_TRAVERSALMODE_PORTRECOMMENDED = 2;
- {$EXTERNALSYM DPNA_TRAVERSALMODE_PORTRECOMMENDED}
- // Shortcut values
- //
- // These can be used instead of the corresponding CLSID_DP8SP_XXXX guids
- //
- DPNA_VALUE_TCPIPPROVIDER = 'IP';
- {$EXTERNALSYM DPNA_VALUE_TCPIPPROVIDER}
- DPNA_VALUE_IPXPROVIDER = 'IPX';
- {$EXTERNALSYM DPNA_VALUE_IPXPROVIDER}
- DPNA_VALUE_MODEMPROVIDER = 'MODEM';
- {$EXTERNALSYM DPNA_VALUE_MODEMPROVIDER}
- DPNA_VALUE_SERIALPROVIDER = 'SERIAL';
- {$EXTERNALSYM DPNA_VALUE_SERIALPROVIDER}
- //// ANSI DEFINITIONS
- // Header
- DPNA_HEADER_A = 'x-directplay:/';
- {$EXTERNALSYM DPNA_HEADER_A}
- DPNA_SEPARATOR_KEYVALUE_A = '=';
- {$EXTERNALSYM DPNA_SEPARATOR_KEYVALUE_A}
- DPNA_SEPARATOR_USERDATA_A = '#';
- {$EXTERNALSYM DPNA_SEPARATOR_USERDATA_A}
- DPNA_SEPARATOR_COMPONENT_A = ';';
- {$EXTERNALSYM DPNA_SEPARATOR_COMPONENT_A}
- DPNA_ESCAPECHAR_A = '%';
- {$EXTERNALSYM DPNA_ESCAPECHAR_A}
- // key names for address components
- DPNA_KEY_NAT_RESOLVER_A = 'natresolver';
- {$EXTERNALSYM DPNA_KEY_NAT_RESOLVER_A}
- DPNA_KEY_NAT_RESOLVER_USER_STRING_A = 'natresolveruserstring';
- {$EXTERNALSYM DPNA_KEY_NAT_RESOLVER_USER_STRING_A}
- DPNA_KEY_APPLICATION_INSTANCE_A = 'applicationinstance';
- {$EXTERNALSYM DPNA_KEY_APPLICATION_INSTANCE_A}
- DPNA_KEY_DEVICE_A = 'device';
- {$EXTERNALSYM DPNA_KEY_DEVICE_A}
- DPNA_KEY_HOSTNAME_A = 'hostname';
- {$EXTERNALSYM DPNA_KEY_HOSTNAME_A}
- DPNA_KEY_PORT_A = 'port';
- {$EXTERNALSYM DPNA_KEY_PORT_A}
- DPNA_KEY_NAMEINFO_A = 'nameinfo';
- {$EXTERNALSYM DPNA_KEY_NAMEINFO_A}
- DPNA_KEY_PROCESSOR_A = 'processor';
- {$EXTERNALSYM DPNA_KEY_PROCESSOR_A}
- DPNA_KEY_PROGRAM_A = 'program';
- {$EXTERNALSYM DPNA_KEY_PROGRAM_A}
- DPNA_KEY_PROVIDER_A = 'provider';
- {$EXTERNALSYM DPNA_KEY_PROVIDER_A}
- DPNA_KEY_SCOPE_A = 'scope';
- {$EXTERNALSYM DPNA_KEY_SCOPE_A}
- DPNA_KEY_TRAVERSALMODE_A = 'traversalmode';
- {$EXTERNALSYM DPNA_KEY_TRAVERSALMODE_A}
- DPNA_KEY_BAUD_A = 'baud';
- {$EXTERNALSYM DPNA_KEY_BAUD_A}
- DPNA_KEY_FLOWCONTROL_A = 'flowcontrol';
- {$EXTERNALSYM DPNA_KEY_FLOWCONTROL_A}
- DPNA_KEY_PARITY_A = 'parity';
- {$EXTERNALSYM DPNA_KEY_PARITY_A}
- DPNA_KEY_PHONENUMBER_A = 'phonenumber';
- {$EXTERNALSYM DPNA_KEY_PHONENUMBER_A}
- DPNA_KEY_STOPBITS_A = 'stopbits';
- {$EXTERNALSYM DPNA_KEY_STOPBITS_A}
- // values for stop bits
- DPNA_STOP_BITS_ONE_A = '1';
- {$EXTERNALSYM DPNA_STOP_BITS_ONE_A}
- DPNA_STOP_BITS_ONE_FIVE_A = '1.5';
- {$EXTERNALSYM DPNA_STOP_BITS_ONE_FIVE_A}
- DPNA_STOP_BITS_TWO_A = '2';
- {$EXTERNALSYM DPNA_STOP_BITS_TWO_A}
- // values for parity
- DPNA_PARITY_NONE_A = 'NONE';
- {$EXTERNALSYM DPNA_PARITY_NONE_A}
- DPNA_PARITY_EVEN_A = 'EVEN';
- {$EXTERNALSYM DPNA_PARITY_EVEN_A}
- DPNA_PARITY_ODD_A = 'ODD';
- {$EXTERNALSYM DPNA_PARITY_ODD_A}
- DPNA_PARITY_MARK_A = 'MARK';
- {$EXTERNALSYM DPNA_PARITY_MARK_A}
- DPNA_PARITY_SPACE_A = 'SPACE';
- {$EXTERNALSYM DPNA_PARITY_SPACE_A}
- // values for flow control
- DPNA_FLOW_CONTROL_NONE_A = 'NONE';
- {$EXTERNALSYM DPNA_FLOW_CONTROL_NONE_A}
- DPNA_FLOW_CONTROL_XONXOFF_A = 'XONXOFF';
- {$EXTERNALSYM DPNA_FLOW_CONTROL_XONXOFF_A}
- DPNA_FLOW_CONTROL_RTS_A = 'RTS';
- {$EXTERNALSYM DPNA_FLOW_CONTROL_RTS_A}
- DPNA_FLOW_CONTROL_DTR_A = 'DTR';
- {$EXTERNALSYM DPNA_FLOW_CONTROL_DTR_A}
- DPNA_FLOW_CONTROL_RTSDTR_A = 'RTSDTR';
- {$EXTERNALSYM DPNA_FLOW_CONTROL_RTSDTR_A}
- // Shortcut values
- //
- // These can be used instead of the corresponding CLSID_DP8SP_XXXX guids
- //
- DPNA_VALUE_TCPIPPROVIDER_A = 'IP';
- {$EXTERNALSYM DPNA_VALUE_TCPIPPROVIDER_A}
- DPNA_VALUE_IPXPROVIDER_A = 'IPX';
- {$EXTERNALSYM DPNA_VALUE_IPXPROVIDER_A}
- DPNA_VALUE_MODEMPROVIDER_A = 'MODEM';
- {$EXTERNALSYM DPNA_VALUE_MODEMPROVIDER_A}
- DPNA_VALUE_SERIALPROVIDER_A = 'SERIAL';
- {$EXTERNALSYM DPNA_VALUE_SERIALPROVIDER_A}
- type
- (****************************************************************************
- *
- * DirectPlay8Address Forward Declarations For External Types
- *
- ****************************************************************************)
- SOCKADDR = TSockAddr;
- {$EXTERNALSYM SOCKADDR}
- (****************************************************************************
- *
- * DirectPlay8Address Functions
- *
- ****************************************************************************)
- (*
- *
- * This function is no longer supported. It is recommended that CoCreateInstance be used to create
- * DirectPlay8 address objects.
- *
- * HRESULT WINAPI DirectPlay8AddressCreate( const GUID * pcIID, void **ppvInterface, IUnknown *pUnknown);
- *
- *)
- (****************************************************************************
- *
- * DirectPlay8Address Application Interfaces
- *
- ****************************************************************************)
- //
- // COM definition for IDirectPlay8Address Generic Interface
- //
- {$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectPlay8Address);'}
- {$EXTERNALSYM IDirectPlay8Address}
- IDirectPlay8Address = interface(IUnknown)
- ['{83783300-4063-4c8a-9db3-82830a7feb31}']
- (*** IDirectPlay8Address methods ***)
- function BuildFromURLW(pwszSourceURL: PWideChar): HResult; stdcall;
- function BuildFromURLA(pszSourceURL: PAnsiChar): HResult; stdcall;
- function Duplicate(out ppdpaNewAddress: IDirectPlay8Address): HResult; stdcall;
- function SetEqual(pdpaAddress: IDirectPlay8Address): HResult; stdcall;
- function IsEqual(pdpaAddress: IDirectPlay8Address): HResult; stdcall;
- function Clear: HResult; stdcall;
- function GetURLW(pwszURL: PWideChar; var pdwNumChars: DWORD): HResult; stdcall;
- function GetURLA(pszURL: PAnsiChar; var pdwNumChars: DWORD): HResult; stdcall;
- function GetSP(out pguidSP: TGUID): HResult; stdcall;
- function GetUserData(pvUserData: Pointer; var pdwBufferSize: DWORD): HResult; stdcall;
- function SetSP(const pguidSP: TGUID): HResult; stdcall;
- function SetUserData(pvUserData: Pointer; dwDataSize: DWORD): HResult; stdcall;
- function GetNumComponents(out pdwNumComponents: DWORD): HResult; stdcall;
- function GetComponentByName(pwszName: PWideChar; pvBuffer: Pointer; var pdwBufferSize: DWORD; out pdwDataType: DWORD): HResult; stdcall;
- function GetComponentByIndex(dwComponentID: DWORD; pwszName: PWideChar; var pdwNameLen: DWORD; pvBuffer: Pointer; var pdwBufferSize: DWORD; out pdwDataType: DWORD): HResult; stdcall;
- function AddComponent(pwszName: PWideChar; lpvData: Pointer; dwDataSize, dwDataType: DWORD): HResult; stdcall;
- function GetDevice(out pguidDevice: TGUID): HResult; stdcall;
- function SetDevice(const pguidDevice: TGUID): HResult; stdcall;
- function BuildFromDPADDRESS(pvAddress: Pointer; dwDataSize: DWORD): HResult; stdcall;
- end;
- {$NODEFINE PIDirectPlay8Address}
- {$HPPEMIT 'typedef _di_IDirectPlay8Address *PIDirectPlay8Address;'}
- PIDirectPlay8Address = ^IDirectPlay8Address;
- //
- // COM definition for IDirectPlay8AddressIP Generic Interface
- //
- {$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectPlay8AddressIP);'}
- {$EXTERNALSYM IDirectPlay8AddressIP}
- IDirectPlay8AddressIP = interface(IUnknown)
- ['{e5a0e990-2bad-430b-87da-a142cf75de58}']
- (*** IDirectPlay8AddressIP methods ***)
- // Constructs a IDirectPlay8 TCP Address from a SOCKADDR structure
- function BuildFromSockAddr(const pSockAddr: TSockAddr): HResult; stdcall;
- // Constructs a TCP Address from a string (hostname) and port
- function BuildAddress(wszAddress: PWideChar; usPort: Word): HResult; stdcall;
- // Builds a local TCP Address
- function BuildLocalAddress(const pguidAdapter: TGUID; usPort: Word): HResult; stdcall;
- // Gets the address from the structure in SOCKADR format
- function GetSockAddress(psockAddress: PSockAddr; var pdwAddressBufferSize: DWORD): HResult; stdcall;
- // Gets the local afddress
- function GetLocalAddress(out pguidAdapter: TGUID; out pusPort: Word): HResult; stdcall;
- // Gets the remote address
- function GetAddress(wszAddress: PWideChar; var pdwAddressLength: DWORD; out psPort: Word): HResult; stdcall;
- end;
- (****************************************************************************
- *
- * DirectPlay8Address Interface IIDs
- *
- ****************************************************************************)
- type
- // {83783300-4063-4c8a-9DB3-82830A7FEB31}
- IID_IDirectPlay8Address = IDirectPlay8Address;
- {$EXTERNALSYM IID_IDirectPlay8Address}
- // {E5A0E990-2BAD-430b-87DA-A142CF75DE58}
- IID_IDirectPlay8AddressIP = IDirectPlay8AddressIP;
- {$EXTERNALSYM IID_IDirectPlay8AddressIP}
- (*==========================================================================;
- *
- * Copyright (C) 1998-2002 Microsoft Corporation. All Rights Reserved.
- *
- * File: DPlay8.h
- * Content: DirectPlay8 include file
- *
- ***************************************************************************)
- const
- (****************************************************************************
- *
- * DirectPlay8 CLSIDs
- *
- ****************************************************************************)
- // {743F1DC6-5ABA-429f-8BDF-C54D03253DC2}
- CLSID_DirectPlay8Client: TGUID = '{743f1dc6-5aba-429f-8bdf-c54d03253dc2}';
- {$EXTERNALSYM CLSID_DirectPlay8Client}
- // {DA825E1B-6830-43d7-835D-0B5AD82956A2}
- CLSID_DirectPlay8Server: TGUID = '{da825e1b-6830-43d7-835d-0b5ad82956a2}';
- {$EXTERNALSYM CLSID_DirectPlay8Server}
- // {286F484D-375E-4458-A272-B138E2F80A6A}
- CLSID_DirectPlay8Peer: TGUID = '{286f484d-375e-4458-a272-b138e2f80a6a}';
- {$EXTERNALSYM CLSID_DirectPlay8Peer}
- // CLSIDs added for DirectX 9
- // {FC47060E-6153-4b34-B975-8E4121EB7F3C}
- CLSID_DirectPlay8ThreadPool: TGUID = '{fc47060e-6153-4b34-b975-8e4121eb7f3c}';
- {$EXTERNALSYM CLSID_DirectPlay8ThreadPool}
- // {E4C1D9A2-CBF7-48bd-9A69-34A55E0D8941}
- CLSID_DirectPlay8NATResolver: TGUID = '{e4c1d9a2-cbf7-48bd-9a69-34a55e0d8941}';
- {$EXTERNALSYM CLSID_DirectPlay8NATResolver}
- (****************************************************************************
- *
- * DirectPlay8 Service Provider GUIDs
- *
- ****************************************************************************)
- // {53934290-628D-11D2-AE0F-006097B01411}
- CLSID_DP8SP_IPX: TGUID = '{53934290-628d-11d2-ae0f-006097b01411}';
- {$EXTERNALSYM CLSID_DP8SP_IPX}
- // {6D4A3650-628D-11D2-AE0F-006097B01411}
- CLSID_DP8SP_MODEM: TGUID = '{6d4a3650-628d-11d2-ae0f-006097b01411}';
- {$EXTERNALSYM CLSID_DP8SP_MODEM}
- // {743B5D60-628D-11D2-AE0F-006097B01411}
- CLSID_DP8SP_SERIAL: TGUID = '{743b5d60-628d-11d2-ae0f-006097b01411}';
- {$EXTERNALSYM CLSID_DP8SP_SERIAL}
- // {EBFE7BA0-628D-11D2-AE0F-006097B01411}
- CLSID_DP8SP_TCPIP: TGUID = '{ebfe7ba0-628d-11d2-ae0f-006097b01411}';
- {$EXTERNALSYM CLSID_DP8SP_TCPIP}
- // Service providers added for DirectX 9
- // {995513AF-3027-4b9a-956E-C772B3F78006}
- CLSID_DP8SP_BLUETOOTH: TGUID = '{995513af-3027-4b9a-956e-c772b3f78006}';
- {$EXTERNALSYM CLSID_DP8SP_BLUETOOTH}
- type
- (****************************************************************************
- *
- * DirectPlay8 Callback Functions
- *
- ****************************************************************************)
- //
- // Callback Function Type Definition
- //
- TFNDPNMessageHandler = function (pvUserContext: Pointer; dwMessageType: DWORD; pMessage: Pointer): HRESULT; stdcall;
- {$NODEFINE TFNDPNMessageHandler}
- {$HPPEMIT 'typedef PFNDPNMESSAGEHANDLER TFNDPNMessageHandler;'}
- (****************************************************************************
- *
- * DirectPlay8 Datatypes (Non-Structure / Non-Message)
- *
- ****************************************************************************)
- //
- // Player IDs. Used to uniquely identify a player in a session
- //
- PDPNID = ^DPNID;
- {$EXTERNALSYM PDPNID}
- DPNID = {$IFDEF TYPE_IDENTITY}type {$ENDIF}DWORD;
- {$EXTERNALSYM DPNID}
- TDPNID = DPNID;
- //
- // Used as identifiers for operations
- //
- PDPNHandle = ^TDPNHandle;
- DPNHANDLE = {$IFDEF TYPE_IDENTITY}type {$ENDIF}DWORD;
- {$EXTERNALSYM DPNHANDLE}
- TDPNHandle = DPNHANDLE;
- (****************************************************************************
- *
- * DirectPlay8 Message Identifiers
- *
- ****************************************************************************)
- const
- DPN_MSGID_OFFSET = $FFFF0000;
- {$EXTERNALSYM DPN_MSGID_OFFSET}
- DPN_MSGID_ADD_PLAYER_TO_GROUP = (DPN_MSGID_OFFSET or $0001);
- {$EXTERNALSYM DPN_MSGID_ADD_PLAYER_TO_GROUP}
- DPN_MSGID_APPLICATION_DESC = (DPN_MSGID_OFFSET or $0002);
- {$EXTERNALSYM DPN_MSGID_APPLICATION_DESC}
- DPN_MSGID_ASYNC_OP_COMPLETE = (DPN_MSGID_OFFSET or $0003);
- {$EXTERNALSYM DPN_MSGID_ASYNC_OP_COMPLETE}
- DPN_MSGID_CLIENT_INFO = (DPN_MSGID_OFFSET or $0004);
- {$EXTERNALSYM DPN_MSGID_CLIENT_INFO}
- DPN_MSGID_CONNECT_COMPLETE = (DPN_MSGID_OFFSET or $0005);
- {$EXTERNALSYM DPN_MSGID_CONNECT_COMPLETE}
- DPN_MSGID_CREATE_GROUP = (DPN_MSGID_OFFSET or $0006);
- {$EXTERNALSYM DPN_MSGID_CREATE_GROUP}
- DPN_MSGID_CREATE_PLAYER = (DPN_MSGID_OFFSET or $0007);
- {$EXTERNALSYM DPN_MSGID_CREATE_PLAYER}
- DPN_MSGID_DESTROY_GROUP = (DPN_MSGID_OFFSET or $0008);
- {$EXTERNALSYM DPN_MSGID_DESTROY_GROUP}
- DPN_MSGID_DESTROY_PLAYER = (DPN_MSGID_OFFSET or $0009);
- {$EXTERNALSYM DPN_MSGID_DESTROY_PLAYER}
- DPN_MSGID_ENUM_HOSTS_QUERY = (DPN_MSGID_OFFSET or $000a);
- {$EXTERNALSYM DPN_MSGID_ENUM_HOSTS_QUERY}
- DPN_MSGID_ENUM_HOSTS_RESPONSE = (DPN_MSGID_OFFSET or $000b);
- {$EXTERNALSYM DPN_MSGID_ENUM_HOSTS_RESPONSE}
- DPN_MSGID_GROUP_INFO = (DPN_MSGID_OFFSET or $000c);
- {$EXTERNALSYM DPN_MSGID_GROUP_INFO}
- DPN_MSGID_HOST_MIGRATE = (DPN_MSGID_OFFSET or $000d);
- {$EXTERNALSYM DPN_MSGID_HOST_MIGRATE}
- DPN_MSGID_INDICATE_CONNECT = (DPN_MSGID_OFFSET or $000e);
- {$EXTERNALSYM DPN_MSGID_INDICATE_CONNECT}
- DPN_MSGID_INDICATED_CONNECT_ABORTED = (DPN_MSGID_OFFSET or $000f);
- {$EXTERNALSYM DPN_MSGID_INDICATED_CONNECT_ABORTED}
- DPN_MSGID_PEER_INFO = (DPN_MSGID_OFFSET or $0010);
- {$EXTERNALSYM DPN_MSGID_PEER_INFO}
- DPN_MSGID_RECEIVE = (DPN_MSGID_OFFSET or $0011);
- {$EXTERNALSYM DPN_MSGID_RECEIVE}
- DPN_MSGID_REMOVE_PLAYER_FROM_GROUP = (DPN_MSGID_OFFSET or $0012);
- {$EXTERNALSYM DPN_MSGID_REMOVE_PLAYER_FROM_GROUP}
- DPN_MSGID_RETURN_BUFFER = (DPN_MSGID_OFFSET or $0013);
- {$EXTERNALSYM DPN_MSGID_RETURN_BUFFER}
- DPN_MSGID_SEND_COMPLETE = (DPN_MSGID_OFFSET or $0014);
- {$EXTERNALSYM DPN_MSGID_SEND_COMPLETE}
- DPN_MSGID_SERVER_INFO = (DPN_MSGID_OFFSET or $0015);
- {$EXTERNALSYM DPN_MSGID_SERVER_INFO}
- DPN_MSGID_TERMINATE_SESSION = (DPN_MSGID_OFFSET or $0016);
- {$EXTERNALSYM DPN_MSGID_TERMINATE_SESSION}
- // Messages added for DirectX 9
- DPN_MSGID_CREATE_THREAD = (DPN_MSGID_OFFSET or $0017);
- {$EXTERNALSYM DPN_MSGID_CREATE_THREAD}
- DPN_MSGID_DESTROY_THREAD = (DPN_MSGID_OFFSET or $0018);
- {$EXTERNALSYM DPN_MSGID_DESTROY_THREAD}
- DPN_MSGID_NAT_RESOLVER_QUERY = (DPN_MSGID_OFFSET or $0101);
- {$EXTERNALSYM DPN_MSGID_NAT_RESOLVER_QUERY}
- (****************************************************************************
- *
- * DirectPlay8 Constants
- *
- ****************************************************************************)
- DPNID_ALL_PLAYERS_GROUP = 0;
- {$EXTERNALSYM DPNID_ALL_PLAYERS_GROUP}
- //
- // DESTROY_GROUP reasons
- //
- DPNDESTROYGROUPREASON_NORMAL = $0001;
- {$EXTERNALSYM DPNDESTROYGROUPREASON_NORMAL}
- DPNDESTROYGROUPREASON_AUTODESTRUCTED = $0002;
- {$EXTERNALSYM DPNDESTROYGROUPREASON_AUTODESTRUCTED}
- DPNDESTROYGROUPREASON_SESSIONTERMINATED = $0003;
- {$EXTERNALSYM DPNDESTROYGROUPREASON_SESSIONTERMINATED}
- //
- // DESTROY_PLAYER reasons
- //
- DPNDESTROYPLAYERREASON_NORMAL = $0001;
- {$EXTERNALSYM DPNDESTROYPLAYERREASON_NORMAL}
- DPNDESTROYPLAYERREASON_CONNECTIONLOST = $0002;
- {$EXTERNALSYM DPNDESTROYPLAYERREASON_CONNECTIONLOST}
- DPNDESTROYPLAYERREASON_SESSIONTERMINATED = $0003;
- {$EXTERNALSYM DPNDESTROYPLAYERREASON_SESSIONTERMINATED}
- DPNDESTROYPLAYERREASON_HOSTDESTROYEDPLAYER = $0004;
- {$EXTERNALSYM DPNDESTROYPLAYERREASON_HOSTDESTROYEDPLAYER}
- DPN_MAX_APPDESC_RESERVEDDATA_SIZE = 64;
- {$EXTERNALSYM DPN_MAX_APPDESC_RESERVEDDATA_SIZE}
- (****************************************************************************
- *
- * DirectPlay8 Flags
- *
- ****************************************************************************)
- //
- // Asynchronous operation flags (For Async Ops)
- //
- DPNOP_SYNC = $80000000;
- {$EXTERNALSYM DPNOP_SYNC}
- //
- // Add player to group flags (For AddPlayerToGroup)
- //
- DPNADDPLAYERTOGROUP_SYNC = DPNOP_SYNC;
- {$EXTERNALSYM DPNADDPLAYERTOGROUP_SYNC}
- //
- // Cancel flags
- //
- DPNCANCEL_CONNECT = $0001;
- {$EXTERNALSYM DPNCANCEL_CONNECT}
- DPNCANCEL_ENUM = $0002;
- {$EXTERNALSYM DPNCANCEL_ENUM}
- DPNCANCEL_SEND = $0004;
- {$EXTERNALSYM DPNCANCEL_SEND}
- DPNCANCEL_ALL_OPERATIONS = $8000;
- {$EXTERNALSYM DPNCANCEL_ALL_OPERATIONS}
- // Flags added for DirectX 9
- DPNCANCEL_PLAYER_SENDS = $80000000;
- {$EXTERNALSYM DPNCANCEL_PLAYER_SENDS}
- DPNCANCEL_PLAYER_SENDS_PRIORITY_HIGH = (DPNCANCEL_PLAYER_SENDS or $00010000);
- {$EXTERNALSYM DPNCANCEL_PLAYER_SENDS_PRIORITY_HIGH}
- DPNCANCEL_PLAYER_SENDS_PRIORITY_NORMAL = (DPNCANCEL_PLAYER_SENDS or $00020000);
- {$EXTERNALSYM DPNCANCEL_PLAYER_SENDS_PRIORITY_NORMAL}
- DPNCANCEL_PLAYER_SENDS_PRIORITY_LOW = (DPNCANCEL_PLAYER_SENDS or $00040000);
- {$EXTERNALSYM DPNCANCEL_PLAYER_SENDS_PRIORITY_LOW}
- //
- // Close flags (for Close, added for DirectX 9)
- //
- DPNCLOSE_IMMEDIATE = $00000001;
- {$EXTERNALSYM DPNCLOSE_IMMEDIATE}
- //
- // Connect flags (For Connect)
- //
- DPNCONNECT_SYNC = DPNOP_SYNC;
- {$EXTERNALSYM DPNCONNECT_SYNC}
- DPNCONNECT_OKTOQUERYFORADDRESSING = $0001;
- {$EXTERNALSYM DPNCONNECT_OKTOQUERYFORADDRESSING}
- //
- // Create group flags (For CreateGroup)
- //
- DPNCREATEGROUP_SYNC = DPNOP_SYNC;
- {$EXTERNALSYM DPNCREATEGROUP_SYNC}
- //
- // Destroy group flags (For DestroyGroup)
- //
- DPNDESTROYGROUP_SYNC = DPNOP_SYNC;
- {$EXTERNALSYM DPNDESTROYGROUP_SYNC}
- //
- // Enumerate clients and groups flags (For EnumPlayersAndGroups)
- //
- DPNENUM_PLAYERS = $0001;
- {$EXTERNALSYM DPNENUM_PLAYERS}
- DPNENUM_GROUPS = $0010;
- {$EXTERNALSYM DPNENUM_GROUPS}
- //
- // Enum hosts flags (For EnumHosts)
- //
- DPNENUMHOSTS_SYNC = DPNOP_SYNC;
- {$EXTERNALSYM DPNENUMHOSTS_SYNC}
- DPNENUMHOSTS_OKTOQUERYFORADDRESSING = $0001;
- {$EXTERNALSYM DPNENUMHOSTS_OKTOQUERYFORADDRESSING}
- DPNENUMHOSTS_NOBROADCASTFALLBACK = $0002;
- {$EXTERNALSYM DPNENUMHOSTS_NOBROADCASTFALLBACK}
- //
- // Enum service provider flags (For EnumSP)
- //
- DPNENUMSERVICEPROVIDERS_ALL = $0001;
- {$EXTERNALSYM DPNENUMSERVICEPROVIDERS_ALL}
- //
- // GetLocalHostAddresses flags (added for DirectX 9)
- //
- DPNGETLOCALHOSTADDRESSES_COMBINED = $0001;
- {$EXTERNALSYM DPNGETLOCALHOSTADDRESSES_COMBINED}
- //
- // Get send queue info flags (For GetSendQueueInfo)
- //
- DPNGETSENDQUEUEINFO_PRIORITY_NORMAL = $0001;
- {$EXTERNALSYM DPNGETSENDQUEUEINFO_PRIORITY_NORMAL}
- DPNGETSENDQUEUEINFO_PRIORITY_HIGH = $0002;
- {$EXTERNALSYM DPNGETSENDQUEUEINFO_PRIORITY_HIGH}
- DPNGETSENDQUEUEINFO_PRIORITY_LOW = $0004;
- {$EXTERNALSYM DPNGETSENDQUEUEINFO_PRIORITY_LOW}
- //
- // Group information flags (For Group Info)
- //
- DPNGROUP_AUTODESTRUCT = $0001;
- {$EXTERNALSYM DPNGROUP_AUTODESTRUCT}
- //
- // Host flags (For Host)
- //
- DPNHOST_OKTOQUERYFORADDRESSING = $0001;
- {$EXTERNALSYM DPNHOST_OKTOQUERYFORADDRESSING}
- //
- // Set info
- //
- DPNINFO_NAME = $0001;
- {$EXTERNALSYM DPNINFO_NAME}
- DPNINFO_DATA = $0002;
- {$EXTERNALSYM DPNINFO_DATA}
- //
- // Initialize flags (For Initialize)
- //
- DPNINITIALIZE_DISABLEPARAMVAL = $0001;
- {$EXTERNALSYM DPNINITIALIZE_DISABLEPARAMVAL}
- // Flags added for DirectX 9
- DPNINITIALIZE_HINT_LANSESSION = $0002;
- {$EXTERNALSYM DPNINITIALIZE_HINT_LANSESSION}
- DPNINITIALIZE_DISABLELINKTUNING = $0004;
- {$EXTERNALSYM DPNINITIALIZE_DISABLELINKTUNING}
- //
- // Register Lobby flags
- //
- DPNLOBBY_REGISTER = $0001;
- {$EXTERNALSYM DPNLOBBY_REGISTER}
- DPNLOBBY_UNREGISTER = $0002;
- {$EXTERNALSYM DPNLOBBY_UNREGISTER}
- //
- // Player information flags (For Player Info / Player Messages)
- //
- DPNPLAYER_LOCAL = $0002;
- {$EXTERNALSYM DPNPLAYER_LOCAL}
- DPNPLAYER_HOST = $0004;
- {$EXTERNALSYM DPNPLAYER_HOST}
- //
- // Receive indication flags (added for DirectX 9)
- //
- DPNRECEIVE_GUARANTEED = $0001;
- {$EXTERNALSYM DPNRECEIVE_GUARANTEED}
- DPNRECEIVE_COALESCED = $0002;
- {$EXTERNALSYM DPNRECEIVE_COALESCED}
- //
- // Remove player from group flags (For RemovePlayerFromGroup)
- //
- DPNREMOVEPLAYERFROMGROUP_SYN = DPNOP_SYNC;
- {$EXTERNALSYM DPNREMOVEPLAYERFROMGROUP_SYN}
- //
- // Send flags (For Send/SendTo)
- //
- DPNSEND_SYNC = DPNOP_SYNC;
- {$EXTERNALSYM DPNSEND_SYNC}
- DPNSEND_NOCOPY = $0001;
- {$EXTERNALSYM DPNSEND_NOCOPY}
- DPNSEND_NOCOMPLETE = $0002;
- {$EXTERNALSYM DPNSEND_NOCOMPLETE}
- DPNSEND_COMPLETEONPROCESS = $0004;
- {$EXTERNALSYM DPNSEND_COMPLETEONPROCESS}
- DPNSEND_GUARANTEED = $0008;
- {$EXTERNALSYM DPNSEND_GUARANTEED}
- DPNSEND_NONSEQUENTIAL = $0010;
- {$EXTERNALSYM DPNSEND_NONSEQUENTIAL}
- DPNSEND_NOLOOPBACK = $0020;
- {$EXTERNALSYM DPNSEND_NOLOOPBACK}
- DPNSEND_PRIORITY_LOW = $0040;
- {$EXTERNALSYM DPNSEND_PRIORITY_LOW}
- DPNSEND_PRIORITY_HIGH = $0080;
- {$EXTERNALSYM DPNSEND_PRIORITY_HIGH}
- // Flag added for DirectX 9
- DPNSEND_COALESCE = $0100;
- {$EXTERNALSYM DPNSEND_COALESCE}
- //
- // Send complete indication flags (added for DirectX 9)
- //
- DPNSENDCOMPLETE_GUARANTEED = $0001;
- {$EXTERNALSYM DPNSENDCOMPLETE_GUARANTEED}
- DPNSENDCOMPLETE_COALESCED = $0002;
- {$EXTERNALSYM DPNSENDCOMPLETE_COALESCED}
- //
- // Session Flags (for DPN_APPLICATION_DESC)
- //
- DPNSESSION_CLIENT_SERVER = $0001;
- {$EXTERNALSYM DPNSESSION_CLIENT_SERVER}
- DPNSESSION_MIGRATE_HOST = $0004;
- {$EXTERNALSYM DPNSESSION_MIGRATE_HOST}
- DPNSESSION_NODPNSVR = $0040;
- {$EXTERNALSYM DPNSESSION_NODPNSVR}
- DPNSESSION_REQUIREPASSWORD = $0080;
- {$EXTERNALSYM DPNSESSION_REQUIREPASSWORD}
- // Flag added for DirectX 9
- DPNSESSION_NOENUMS = $0100;
- {$EXTERNALSYM DPNSESSION_NOENUMS}
- DPNSESSION_FAST_SIGNED = $0200;
- {$EXTERNALSYM DPNSESSION_FAST_SIGNED}
- DPNSESSION_FULL_SIGNED = $0400;
- {$EXTERNALSYM DPNSESSION_FULL_SIGNED}
- //
- // Set client info flags (For SetClientInfo)
- //
- DPNSETCLIENTINFO_SYNC = DPNOP_SYNC;
- {$EXTERNALSYM DPNSETCLIENTINFO_SYNC}
- //
- // Set group info flags (For SetGroupInfo)
- //
- DPNSETGROUPINFO_SYNC = DPNOP_SYNC;
- {$EXTERNALSYM DPNSETGROUPINFO_SYNC}
- //
- // Set peer info flags (For SetPeerInfo)
- //
- DPNSETPEERINFO_SYNC = DPNOP_SYNC;
- {$EXTERNALSYM DPNSETPEERINFO_SYNC}
- //
- // Set server info flags (For SetServerInfo)
- //
- DPNSETSERVERINFO_SYNC = DPNOP_SYNC;
- {$EXTERNALSYM DPNSETSERVERINFO_SYNC}
- //
- // SP capabilities flags
- //
- DPNSPCAPS_SUPPORTSDPNSVR = $0001;
- {$EXTERNALSYM DPNSPCAPS_SUPPORTSDPNSVR}
- DPNSPCAPS_SUPPORTSDPNSRV = DPNSPCAPS_SUPPORTSDPNSVR;
- {$EXTERNALSYM DPNSPCAPS_SUPPORTSDPNSRV}
- DPNSPCAPS_SUPPORTSBROADCAST = $0002;
- {$EXTERNALSYM DPNSPCAPS_SUPPORTSBROADCAST}
- DPNSPCAPS_SUPPORTSALLADAPTERS = $0004;
- {$EXTERNALSYM DPNSPCAPS_SUPPORTSALLADAPTERS}
- // Flags added for DirectX 9
- DPNSPCAPS_SUPPORTSTHREADPOOL = $0008;
- {$EXTERNALSYM DPNSPCAPS_SUPPORTSTHREADPOOL}
- DPNSPCAPS_NETWORKSIMULATOR = $0010;
- {$EXTERNALSYM DPNSPCAPS_NETWORKSIMULATOR}
- //
- // SP information flags (added for DirectX 9)
- //
- DPNSPINFO_NETWORKSIMULATORDEVICE = $0001;
- {$EXTERNALSYM DPNSPINFO_NETWORKSIMULATORDEVICE}
- (****************************************************************************
- *
- * DirectPlay8 Structures (Non-Message)
- *
- ****************************************************************************)
- type
- //
- // Application description
- //
- PDPNApplicationDesc = ^TDPNApplicationDesc;
- _DPN_APPLICATION_DESC = packed record
- dwSize: DWORD; // Size of this structure
- dwFlags: DWORD; // Flags (DPNSESSION_...)
- guidInstance: TGUID; // Instance GUID
- guidApplication: TGUID; // Application GUID
- dwMaxPlayers: DWORD; // Maximum # of players allowed (0=no limit)
- dwCurrentPlayers: DWORD; // Current # of players allowed
- pwszSessionName: PWideChar; // Name of the session
- pwszPassword: PWideChar; // Password for the session
- pvReservedData: Pointer;
- dwReservedDataSize: DWORD;
- pvApplicationReservedData: Pointer;
- dwApplicationReservedDataSize: DWORD;
- end;
- {$EXTERNALSYM _DPN_APPLICATION_DESC}
- DPN_APPLICATION_DESC = _DPN_APPLICATION_DESC;
- {$EXTERNALSYM DPN_APPLICATION_DESC}
- TDPNApplicationDesc = _DPN_APPLICATION_DESC;
- //
- // Generic Buffer Description
- //
- PBufferDesc = ^TBufferDesc;
- _BUFFERDESC = packed record
- wBufferSize:DWORD;
- pBufferData: PByte;
- end;
- {$EXTERNALSYM _BUFFERDESC}
- BUFFERDESC = _BUFFERDESC;
- {$EXTERNALSYM BUFFERDESC}
- TBufferDesc = _BUFFERDESC;
- PDPNBufferDesc = ^TDPNBufferDesc;
- DPN_BUFFER_DESC = _BUFFERDESC;
- {$EXTERNALSYM DPN_BUFFER_DESC}
- TDPNBufferDesc = DPN_BUFFER_DESC;
- //
- // DirectPlay8 capabilities
- //
- PDPNCaps = ^TDPNCaps;
- _DPN_CAPS = packed record
- dwSize: DWORD; // Size of this structure
- dwFlags: DWORD; // Flags
- dwConnectTimeout: DWORD; // ms before a connect request times out
- dwConnectRetries: DWORD; // # of times to attempt the connection
- dwTimeoutUntilKeepAlive: DWORD; // ms of inactivity before a keep alive is sent
- end;
- {$EXTERNALSYM _DPN_CAPS}
- DPN_CAPS = _DPN_CAPS;
- {$EXTERNALSYM DPN_CAPS}
- TDPNCaps = _DPN_CAPS;
- //
- // Extended capabilities structures (added for DirectX 9)
- //
- PDPNCapsEx = ^TDPNCapsEx;
- _DPN_CAPS_EX = packed record
- dwSize: DWORD; // Size of this structure
- dwFlags: DWORD; // Flags
- dwConnectTimeout: DWORD; // ms before a connect request times out
- dwConnectRetries: DWORD; // # of times to attempt the connection
- dwTimeoutUntilKeepAlive: DWORD; // ms of inactivity before a keep alive is sent
- dwMaxRecvMsgSize: DWORD; // maximum size in bytes of message that can be received
- dwNumSendRetries: DWORD; // maximum number of send retries before link is considered dead
- dwMaxSendRetryInterval: DWORD; // maximum period in msec between send retries
- dwDropThresholdRate: DWORD; // percentage of dropped packets before throttling
- dwThrottleRate: DWORD; // percentage amount to reduce send window when throttling
- dwNumHardDisconnectSends: DWORD; // number of hard disconnect frames to send when close immediate flag is specified
- dwMaxHardDisconnectPeriod: DWORD; // maximum period between hard disconnect sends
- end;
- {$EXTERNALSYM _DPN_CAPS_EX}
- DPN_CAPS_EX = _DPN_CAPS_EX;
- {$EXTERNALSYM DPN_CAPS_EX}
- TDPNCapsEx = _DPN_CAPS_EX;
- // Connection Statistics information
- PDPNConnectionInfo = ^TDPNConnectionInfo;
- _DPN_CONNECTION_INFO = packed record
- dwSize: DWORD;
- dwRoundTripLatencyMS: DWORD;
- dwThroughputBPS: DWORD;
- dwPeakThroughputBPS: DWORD;
- dwBytesSentGuaranteed: DWORD;
- dwPacketsSentGuaranteed: DWORD;
- dwBytesSentNonGuaranteed: DWORD;
- dwPacketsSentNonGuaranteed: DWORD;
- dwBytesRetried: DWORD; // Guaranteed only
- dwPacketsRetried: DWORD; // Guaranteed only
- dwBytesDropped: DWORD; // Non Guaranteed only
- dwPacketsDropped: DWORD; // Non Guaranteed only
- dwMessagesTransmittedHighPriority: DWORD;
- dwMessagesTimedOutHighPriority: DWORD;
- dwMessagesTransmittedNormalPriority: DWORD;
- dwMessagesTimedOutNormalPriority: DWORD;
- dwMessagesTransmittedLowPriority: DWORD;
- dwMessagesTimedOutLowPriority: DWORD;
- dwBytesReceivedGuaranteed: DWORD;
- dwPacketsReceivedGuaranteed: DWORD;
- dwBytesReceivedNonGuaranteed: DWORD;
- dwPacketsReceivedNonGuaranteed: DWORD;
- dwMessagesReceived: DWORD;
- end;
- {$EXTERNALSYM _DPN_CONNECTION_INFO}
- DPN_CONNECTION_INFO = _DPN_CONNECTION_INFO;
- {$EXTERNALSYM DPN_CONNECTION_INFO}
- TDPNConnectionInfo = _DPN_CONNECTION_INFO;
- //
- // Group information strucutre
- //
- PDPNGroupInfo = ^TDPNGroupInfo;
- _DPN_GROUP_INFO = packed record
- dwSize: DWORD; // size of this structure
- dwInfoFlags: DWORD; // information contained
- pwszName: PWideChar; // Unicode Name
- pvData: Pointer; // data block
- dwDataSize: DWORD; // size in BYTES of data block
- dwGroupFlags: DWORD; // group flags (DPNGROUP_...)
- end;
- {$EXTERNALSYM _DPN_GROUP_INFO}
- DPN_GROUP_INFO = _DPN_GROUP_INFO;
- {$EXTERNALSYM DPN_GROUP_INFO}
- TDPNGroupInfo = _DPN_GROUP_INFO;
- //
- // Player information structure
- //
- PDPNPlayerInfo = ^TDPNPlayerInfo;
- _DPN_PLAYER_INFO = packed record
- dwSize: DWORD; // size of this structure
- dwInfoFlags: DWORD; // information contained
- pwszName: PWideChar; // Unicode Name
- pvData: Pointer; // data block
- dwDataSize: DWORD; // size in BYTES of data block
- dwPlayerFlags: DWORD; // player flags (DPNPLAYER_...)
- end;
- {$EXTERNALSYM _DPN_PLAYER_INFO}
- DPN_PLAYER_INFO = _DPN_PLAYER_INFO;
- {$EXTERNALSYM DPN_PLAYER_INFO}
- TDPNPlayerInfo = _DPN_PLAYER_INFO;
- PDPNSecurityCredentials = ^TDPNSecurityCredentials;
- _DPN_SECURITY_CREDENTIALS = record
- end;
- {$EXTERNALSYM _DPN_SECURITY_CREDENTIALS}
- DPN_SECURITY_CREDENTIALS = _DPN_SECURITY_CREDENTIALS;
- {$EXTERNALSYM DPN_SECURITY_CREDENTIALS}
- TDPNSecurityCredentials = _DPN_SECURITY_CREDENTIALS;
- PDPNSecurityDesc = ^TDPNSecurityDesc;
- _DPN_SECURITY_DESC = record
- end;
- {$EXTERNALSYM _DPN_SECURITY_DESC}
- DPN_SECURITY_DESC = _DPN_SECURITY_DESC;
- {$EXTERNALSYM DPN_SECURITY_DESC}
- TDPNSecurityDesc = _DPN_SECURITY_DESC;
- //
- // Service provider & adapter enumeration structure
- //
- PDPNServiceProviderInfo = ^TDPNServiceProviderInfo;
- _DPN_SERVICE_PROVIDER_INFO = packed record
- dwFlags: DWORD;
- guid: TGUID; // SP Guid
- pwszName: PWideChar; // Friendly Name
- pvReserved: Pointer;
- dwReserved: DWORD;
- end;
- {$EXTERNALSYM _DPN_SERVICE_PROVIDER_INFO}
- DPN_SERVICE_PROVIDER_INFO = _DPN_SERVICE_PROVIDER_INFO;
- {$EXTERNALSYM DPN_SERVICE_PROVIDER_INFO}
- TDPNServiceProviderInfo = _DPN_SERVICE_PROVIDER_INFO;
- //
- // Service provider caps structure
- //
- PDPNSpCaps = ^TDPNSpCaps;
- _DPN_SP_CAPS = packed record
- dwSize: DWORD; // Size of this structure
- dwFlags: DWORD; // Flags ((DPNSPCAPS_...)
- dwNumThreads: DWORD; // # of worker threads to use
- dwDefaultEnumCount: DWORD; // default # of enum requests
- dwDefaultEnumRetryInterval: DWORD; // default ms between enum requests
- dwDefaultEnumTimeout: DWORD; // default enum timeout
- dwMaxEnumPayloadSize: DWORD; // maximum size in bytes for enum payload data
- dwBuffersPerThread: DWORD; // number of receive buffers per thread
- dwSystemBufferSize: DWORD; // amount of buffering to do in addition to posted receive buffers
- end;
- {$EXTERNALSYM _DPN_SP_CAPS}
- DPN_SP_CAPS = _DPN_SP_CAPS;
- {$EXTERNALSYM DPN_SP_CAPS}
- TDPNSpCaps = _DPN_SP_CAPS;
- (****************************************************************************
- *
- * IDirectPlay8 message handler call back structures
- *
- ****************************************************************************)
- //
- // Add player to group strucutre for message handler
- // (DPN_MSGID_ADD_PLAYER_TO_GROUP)
- //
- PDPNMsgAddPlayerToGroup = ^TDPNMsgAddPlayerToGroup;
- _DPNMSG_ADD_PLAYER_TO_GROUP = packed record
- dwSize: DWORD; // Size of this structure
- dpnidGroup: TDPNID; // DPNID of group
- pvGroupContext: Pointer; // Group context value
- dpnidPlayer: TDPNID; // DPNID of added player
- pvPlayerContext: Pointer; // Player context value
- end;
- {$EXTERNALSYM _DPNMSG_ADD_PLAYER_TO_GROUP}
- DPNMSG_ADD_PLAYER_TO_GROUP = _DPNMSG_ADD_PLAYER_TO_GROUP;
- {$EXTERNALSYM DPNMSG_ADD_PLAYER_TO_GROUP}
- TDPNMsgAddPlayerToGroup = _DPNMSG_ADD_PLAYER_TO_GROUP;
- //
- // Async operation completion structure for message handler
- // (DPN_MSGID_ASYNC_OP_COMPLETE)
- //
- PDPNMsgAsyncOpComplete = ^TDPNMsgAsyncOpComplete;
- _DPNMSG_ASYNC_OP_COMPLETE = packed record
- dwSize: DWORD; // Size of this structure
- hAsyncOp: TDPNHandle; // DirectPlay8 async operation handle
- pvUserContext: Pointer; // User context supplied
- hResultCode: HRESULT; // HRESULT of operation
- end;
- {$EXTERNALSYM _DPNMSG_ASYNC_OP_COMPLETE}
- DPNMSG_ASYNC_OP_COMPLETE = _DPNMSG_ASYNC_OP_COMPLETE;
- {$EXTERNALSYM DPNMSG_ASYNC_OP_COMPLETE}
- TDPNMsgAsyncOpComplete = _DPNMSG_ASYNC_OP_COMPLETE;
- //
- // Client info structure for message handler
- // (DPN_MSGID_CLIENT_INFO)
- //
- PDPNMsgClientInfo = ^TDPNMsgClientInfo;
- _DPNMSG_CLIENT_INFO = packed record
- dwSize: DWORD; // Size of this structure
- dpnidClient: TDPNID; // DPNID of client
- pvPlayerContext: Pointer; // Player context value
- end;
- {$EXTERNALSYM _DPNMSG_CLIENT_INFO}
- DPNMSG_CLIENT_INFO = _DPNMSG_CLIENT_INFO;
- {$EXTERNALSYM DPNMSG_CLIENT_INFO}
- TDPNMsgClientInfo = _DPNMSG_CLIENT_INFO;
- //
- // Connect complete structure for message handler
- // (DPN_MSGID_CONNECT_COMPLETE)
- //
- PDPNMsgConnectComplete = ^TDPNMsgConnectComplete;
- _DPNMSG_CONNECT_COMPLETE = packed record
- dwSize: DWORD; // Size of this structure
- hAsyncOp: TDPNHandle; // DirectPlay8 Async operation handle
- pvUserContext: Pointer; // User context supplied at Connect
- hResultCode: HRESULT; // HRESULT of connection attempt
- pvApplicationReplyData: Pointer; // Connection reply data from Host/Server
- dwApplicationReplyDataSize: DWORD; // Size (in bytes) of pvApplicationReplyData
- // Fields added for DirectX 9
- dpnidLocal: TDPNID; // DPNID of local player
- end;
- {$EXTERNALSYM _DPNMSG_CONNECT_COMPLETE}
- DPNMSG_CONNECT_COMPLETE = _DPNMSG_CONNECT_COMPLETE;
- {$EXTERNALSYM DPNMSG_CONNECT_COMPLETE}
- TDPNMsgConnectComplete = _DPNMSG_CONNECT_COMPLETE;
- //
- // Create group structure for message handler
- // (DPN_MSGID_CREATE_GROUP)
- //
- PDPNMsgCreateGroup = ^TDPNMsgCreateGroup;
- _DPNMSG_CREATE_GROUP = packed record
- dwSize: DWORD; // Size of this structure
- dpnidGroup: TDPNID; // DPNID of new group
- dpnidOwner: TDPNID; // Owner of newgroup
- pvGroupContext: Pointer; // Group context value
- // Fields added for DirectX 9
- pvOwnerContext: Pointer; // Owner context value
- end;
- {$EXTERNALSYM _DPNMSG_CREATE_GROUP}
- DPNMSG_CREATE_GROUP = _DPNMSG_CREATE_GROUP;
- {$EXTERNALSYM DPNMSG_CREATE_GROUP}
- TDPNMsgCreateGroup = _DPNMSG_CREATE_GROUP;
- //
- // Create player structure for message handler
- // (DPN_MSGID_CREATE_PLAYER)
- //
- PDPNMsgCreatePlayer = ^TDPNMsgCreatePlayer;
- _DPNMSG_CREATE_PLAYER = packed record
- dwSize: DWORD; // Size of this structure
- dpnidPlayer: DPNID; // DPNID of new player
- pvPlayerContext: Pointer; // Player context value
- end;
- {$EXTERNALSYM _DPNMSG_CREATE_PLAYER}
- DPNMSG_CREATE_PLAYER = _DPNMSG_CREATE_PLAYER;
- {$EXTERNALSYM DPNMSG_CREATE_PLAYER}
- TDPNMsgCreatePlayer = _DPNMSG_CREATE_PLAYER;
- //
- // Destroy group structure for message handler
- // (DPN_MSGID_DESTROY_GROUP)
- //
- PDPNMsgDestroyGroup = ^TDPNMsgDestroyGroup;
- _DPNMSG_DESTROY_GROUP = packed record
- dwSize: DWORD; // Size of this structure
- dpnidGroup: TDPNID; // DPNID of destroyed group
- pvGroupContext: Pointer; // Group context value
- dwReason: DWORD; // Information only
- end;
- {$EXTERNALSYM _DPNMSG_DESTROY_GROUP}
- DPNMSG_DESTROY_GROUP = _DPNMSG_DESTROY_GROUP;
- {$EXTERNALSYM DPNMSG_DESTROY_GROUP}
- TDPNMsgDestroyGroup = _DPNMSG_DESTROY_GROUP;
- //
- // Destroy player structure for message handler
- // (DPN_MSGID_DESTROY_PLAYER)
- //
- PDPNMsgDestroyPlayer = ^TDPNMsgDestroyPlayer;
- _DPNMSG_DESTROY_PLAYER = packed record
- dwSize: DWORD; // Size of this structure
- dpnidPlayer: TDPNID; // DPNID of leaving player
- pvPlayerContext: Pointer; // Player context value
- dwReason: DWORD; // Information only
- end;
- {$EXTERNALSYM _DPNMSG_DESTROY_PLAYER}
- DPNMSG_DESTROY_PLAYER = _DPNMSG_DESTROY_PLAYER;
- {$EXTERNALSYM DPNMSG_DESTROY_PLAYER}
- TDPNMsgDestroyPlayer = _DPNMSG_DESTROY_PLAYER;
- //
- // Enumeration request received structure for message handler
- // (DPN_MSGID_ENUM_HOSTS_QUERY)
- //
- PDPNMsgEnumHostsQuery = ^TDPNMsgEnumHostsQuery;
- _DPNMSG_ENUM_HOSTS_QUERY = packed record
- dwSize: DWORD; // Size of this structure.
- pAddressSender: IDirectPlay8Address; // Address of client who sent the request
- pAddressDevice: IDirectPlay8Address; // Address of device request was received on
- pvReceivedData: Pointer; // Request data (set on client)
- dwReceivedDataSize: DWORD; // Request data size (set on client)
- dwMaxResponseDataSize: DWORD; // Max allowable size of enum response
- pvResponseData: Pointer; // Optional query repsonse (user set)
- dwResponseDataSize: DWORD; // Optional query response size (user set)
- pvResponseContext: Pointer; // Optional query response context (user set)
- end;
- {$EXTERNALSYM _DPNMSG_ENUM_HOSTS_QUERY}
- DPNMSG_ENUM_HOSTS_QUERY = _DPNMSG_ENUM_HOSTS_QUERY;
- {$EXTERNALSYM DPNMSG_ENUM_HOSTS_QUERY}
- TDPNMsgEnumHostsQuery = _DPNMSG_ENUM_HOSTS_QUERY;
- //
- // Enumeration response received structure for message handler
- // (DPN_MSGID_ENUM_HOSTS_RESPONSE)
- //
- PDPNMsgEnumHostsResponse = ^TDPNMsgEnumHostsResponse;
- _DPNMSG_ENUM_HOSTS_RESPONSE = packed record
- dwSize: DWORD; // Size of this structure
- pAddressSender: IDirectPlay8Address; // Address of host who responded
- pAddressDevice: IDirectPlay8Address; // Device response was received on
- pApplicationDescription: PDPNApplicationDesc; // Application description for the session
- pvResponseData: Pointer; // Optional response data (set on host)
- dwResponseDataSize: DWORD; // Optional response data size (set on host)
- pvUserContext: Pointer; // Context value supplied for enumeration
- dwRoundTripLatencyMS: DWORD; // Round trip latency in MS
- end;
- {$EXTERNALSYM _DPNMSG_ENUM_HOSTS_RESPONSE}
- DPNMSG_ENUM_HOSTS_RESPONSE = _DPNMSG_ENUM_HOSTS_RESPONSE;
- {$EXTERNALSYM DPNMSG_ENUM_HOSTS_RESPONSE}
- TDPNMsgEnumHostsResponse = _DPNMSG_ENUM_HOSTS_RESPONSE;
- //
- // Group info structure for message handler
- // (DPN_MSGID_GROUP_INFO)
- //
- PDPNMsgGroupInfo = ^TDPNMsgGroupInfo;
- _DPNMSG_GROUP_INFO = packed record
- dwSize: DWORD; // Size of this structure
- dpnidGroup: TDPNID; // DPNID of group
- pvGroupContext: Pointer; // Group context value
- end;
- {$EXTERNALSYM _DPNMSG_GROUP_INFO}
- DPNMSG_GROUP_INFO = _DPNMSG_GROUP_INFO;
- {$EXTERNALSYM DPNMSG_GROUP_INFO}
- TDPNMsgGroupInfo = _DPNMSG_GROUP_INFO;
- //
- // Migrate host structure for message handler
- // (DPN_MSGID_HOST_MIGRATE)
- //
- PDPNMsgHostMigrate = ^TDPNMsgHostMigrate;
- _DPNMSG_HOST_MIGRATE = packed record
- dwSize: DWORD; // Size of this structure
- dpnidNewHost: TDPNID; // DPNID of new Host player
- pvPlayerContext: Pointer; // Player context value
- end;
- {$EXTERNALSYM _DPNMSG_HOST_MIGRATE}
- DPNMSG_HOST_MIGRATE = _DPNMSG_HOST_MIGRATE;
- {$EXTERNALSYM DPNMSG_HOST_MIGRATE}
- TDPNMsgHostMigrate = _DPNMSG_HOST_MIGRATE;
- //
- // Indicate connect structure for message handler
- // (DPN_MSGID_INDICATE_CONNECT)
- //
- PDPNMsgIndicateConnect = ^TDPNMsgIndicateConnect;
- _DPNMSG_INDICATE_CONNECT = packed record
- dwSize: DWORD; // Size of this structure
- pvUserConnectData: Pointer; // Connecting player data
- dwUserConnectDataSize: DWORD; // Size (in bytes) of pvUserConnectData
- pvReplyData: Pointer; // Connection reply data
- dwReplyDataSize: DWORD; // Size (in bytes) of pvReplyData
- pvReplyContext: Pointer; // Buffer context for pvReplyData
- pvPlayerContext: Pointer; // Player context preset
- pAddressPlayer: IDirectPlay8Address; // Address of connecting player
- pAddressDevice: IDirectPlay8Address; // Address of device receiving connect attempt
- end;
- {$EXTERNALSYM _DPNMSG_INDICATE_CONNECT}
- DPNMSG_INDICATE_CONNECT = _DPNMSG_INDICATE_CONNECT;
- {$EXTERNALSYM DPNMSG_INDICATE_CONNECT}
- TDPNMsgIndicateConnect = _DPNMSG_INDICATE_CONNECT;
- //
- // Indicated connect aborted structure for message handler
- // (DPN_MSGID_INDICATED_CONNECT_ABORTED)
- //
- PDPNMsgIndicatedConnectAborted = ^TDPNMsgIndicatedConnectAborted;
- _DPNMSG_INDICATED_CONNECT_ABORTED = packed record
- dwSize: DWORD; // Size of this structure
- pvPlayerContext: Pointer; // Player context preset from DPNMSG_INDICATE_CONNECT
- end;
- {$EXTERNALSYM _DPNMSG_INDICATED_CONNECT_ABORTED}
- DPNMSG_INDICATED_CONNECT_ABORTED = _DPNMSG_INDICATED_CONNECT_ABORTED;
- {$EXTERNALSYM DPNMSG_INDICATED_CONNECT_ABORTED}
- TDPNMsgIndicatedConnectAborted = _DPNMSG_INDICATED_CONNECT_ABORTED;
- //
- // Peer info structure for message handler
- // (DPN_MSGID_PEER_INFO)
- //
- PDPNMsgPeerInfo = ^TDPNMsgPeerInfo;
- _DPNMSG_PEER_INFO = packed record
- dwSize: DWORD; // Size of this structure
- dpnidPeer: TDPNID; // DPNID of peer
- pvPlayerContext: Pointer; // Player context value
- end;
- {$EXTERNALSYM _DPNMSG_PEER_INFO}
- DPNMSG_PEER_INFO = _DPNMSG_PEER_INFO;
- {$EXTERNALSYM DPNMSG_PEER_INFO}
- TDPNMsgPeerInfo = _DPNMSG_PEER_INFO;
- //
- // Receive structure for message handler
- // (DPN_MSGID_RECEIVE)
- //
- PDPNMsgReceive = ^TDPNMsgReceive;
- _DPNMSG_RECEIVE = packed record
- dwSize: DWORD; // Size of this structure
- dpnidSender: TDPNID; // DPNID of sending player
- pvPlayerContext: Pointer; // Player context value of sending player
- pReceiveData: PByte; // Received data
- dwReceiveDataSize: DWORD; // Size (in bytes) of pReceiveData
- hBufferHandle: TDPNHandle; // Buffer handle for pReceiveData
- // Fields added for DirectX 9
- dwReceiveFlags: DWORD; // Flags describing how message was received
- end;
- {$EXTERNALSYM _DPNMSG_RECEIVE}
- DPNMSG_RECEIVE = _DPNMSG_RECEIVE;
- {$EXTERNALSYM DPNMSG_RECEIVE}
- TDPNMsgReceive = _DPNMSG_RECEIVE;
- //
- // Remove player from group structure for message handler
- // (DPN_MSGID_REMOVE_PLAYER_FROM_GROUP)
- //
- PDPNMsgRemovePlayerFromGroup = ^TDPNMsgRemovePlayerFromGroup;
- _DPNMSG_REMOVE_PLAYER_FROM_GROUP = packed record
- dwSize: DWORD; // Size of this structure
- dpnidGroup: TDPNID; // DPNID of group
- pvGroupContext: Pointer; // Group context value
- dpnidPlayer: TDPNID; // DPNID of deleted player
- pvPlayerContext: Pointer; // Player context value
- end;
- {$EXTERNALSYM _DPNMSG_REMOVE_PLAYER_FROM_GROUP}
- DPNMSG_REMOVE_PLAYER_FROM_GROUP = _DPNMSG_REMOVE_PLAYER_FROM_GROUP;
- {$EXTERNALSYM DPNMSG_REMOVE_PLAYER_FROM_GROUP}
- TDPNMsgRemovePlayerFromGroup = _DPNMSG_REMOVE_PLAYER_FROM_GROUP;
- //
- // Returned buffer structure for message handler
- // (DPN_MSGID_RETURN_BUFFER)
- //
- PDPNMsgReturnBuffer = ^TDPNMsgReturnBuffer;
- _DPNMSG_RETURN_BUFFER = packed record
- dwSize: DWORD; // Size of this structure
- hResultCode: HRESULT; // Return value of operation
- pvBuffer: Pointer; // Buffer being returned
- pvUserContext: Pointer; // Context associated with buffer
- end;
- {$EXTERNALSYM _DPNMSG_RETURN_BUFFER}
- DPNMSG_RETURN_BUFFER = _DPNMSG_RETURN_BUFFER;
- {$EXTERNALSYM DPNMSG_RETURN_BUFFER}
- TDPNMsgReturnBuffer = _DPNMSG_RETURN_BUFFER;
- //
- // Send complete structure for message handler
- // (DPN_MSGID_SEND_COMPLETE)
- //
- PDPNMsgSendComplete = ^TDPNMsgSendComplete;
- _DPNMSG_SEND_COMPLETE = packed record
- dwSize: DWORD; // Size of this structure
- hAsyncOp: TDPNHandle; // DirectPlay8 Async operation handle
- pvUserContext: Pointer; // User context supplied at Send/SendTo
- hResultCode: HRESULT; // HRESULT of send
- dwSendTime: DWORD; // Send time in ms
- // Fields added for DirectX 9
- dwFirstFrameRTT: DWORD; // RTT of the first frame in the message
- dwFirstFrameRetryCount: DWORD; // Retry count of the first frame
- dwSendCompleteFlags: DWORD; // Flags describing how message was sent
- pBuffers: PDPNBufferDesc; // Pointer to array of buffers sent, if DirectPlay did not make a copy
- dwNumBuffers: DWORD; // Number of buffers in previous array
- end;
- {$EXTERNALSYM _DPNMSG_SEND_COMPLETE}
- DPNMSG_SEND_COMPLETE = _DPNMSG_SEND_COMPLETE;
- {$EXTERNALSYM DPNMSG_SEND_COMPLETE}
- TDPNMsgSendComplete = _DPNMSG_SEND_COMPLETE;
- //
- // Server info structure for message handler
- // (DPN_MSGID_SERVER_INFO)
- //
- PDPNMsgServerInfo = ^TDPNMsgServerInfo;
- _DPNMSG_SERVER_INFO = packed record
- dwSize: DWORD; // Size of this structure
- dpnidServer: TDPNID; // DPNID of server
- pvPlayerContext: Pointer; // Player context value
- end;
- {$EXTERNALSYM _DPNMSG_SERVER_INFO}
- DPNMSG_SERVER_INFO = _DPNMSG_SERVER_INFO;
- {$EXTERNALSYM DPNMSG_SERVER_INFO}
- TDPNMsgServerInfo = _DPNMSG_SERVER_INFO;
- //
- // Terminated session structure for message handler
- // (DPN_MSGID_TERMINATE_SESSION)
- //
- PDPNMsgTerminateSession = ^TDPNMsgTerminateSession;
- _DPNMSG_TERMINATE_SESSION = packed record
- dwSize: DWORD; // Size of this structure
- hResultCode: HRESULT; // Reason
- pvTerminateData: Pointer; // Data passed from Host/Server
- dwTerminateDataSize: DWORD; // Size (in bytes) of pvTerminateData
- end;
- {$EXTERNALSYM _DPNMSG_TERMINATE_SESSION}
- DPNMSG_TERMINATE_SESSION = _DPNMSG_TERMINATE_SESSION;
- {$EXTERNALSYM DPNMSG_TERMINATE_SESSION}
- TDPNMsgTerminateSession = _DPNMSG_TERMINATE_SESSION;
- //
- // Message structures added for DirectX 9
- //
- //
- // Create thread info structure for message handler
- // (DPN_MSGID_CREATE_THREAD)
- //
- PDPNMsgCreateThread = ^TDPNMsgCreateThread;
- _DPNMSG_CREATE_THREAD = packed record
- dwSize: DWORD; // Size of this structure
- dwFlags: DWORD; // Flags describing this thread
- dwProcessorNum: DWORD; // Index of processor to which thread is bound
- pvUserContext: Pointer; // Thread context value
- end;
- {$EXTERNALSYM _DPNMSG_CREATE_THREAD}
- DPNMSG_CREATE_THREAD = _DPNMSG_CREATE_THREAD;
- {$EXTERNALSYM DPNMSG_CREATE_THREAD}
- TDPNMsgCreateThread = _DPNMSG_CREATE_THREAD;
- //
- // Destroy thread info structure for message handler
- // (DPN_MSGID_DESTROY_THREAD)
- //
- PDPNMsgDestroyThread = ^TDPNMsgDestroyThread;
- _DPNMSG_DESTROY_THREAD = packed record
- dwSize: DWORD; // Size of this structure
- dwProcessorNum: DWORD; // Index of processor to which thread was bound
- pvUserContext: Pointer; // Thread context value
- end;
- {$EXTERNALSYM _DPNMSG_DESTROY_THREAD}
- DPNMSG_DESTROY_THREAD = _DPNMSG_DESTROY_THREAD;
- {$EXTERNALSYM DPNMSG_DESTROY_THREAD}
- TDPNMsgDestroyThread = _DPNMSG_DESTROY_THREAD;
- //
- // Query-to-resolve-NAT-address structure for message handler
- // (DPN_MSGID_NAT_RESOLVER_QUERY)
- //
- PDPNMsgNatResolverQuery = ^TDPNMsgNatResolverQuery;
- _DPNMSG_NAT_RESOLVER_QUERY = packed record
- dwSize: DWORD; // Size of this structure.
- pAddressSender: IDirectPlay8Address; // Address of client that sent the query
- pAddressDevice: IDirectPlay8Address; // Address of device on which query was received
- pwszUserString: PWideChar; // User specified string, or NULL if none
- end;
- {$EXTERNALSYM _DPNMSG_NAT_RESOLVER_QUERY}
- DPNMSG_NAT_RESOLVER_QUERY = _DPNMSG_NAT_RESOLVER_QUERY;
- {$EXTERNALSYM DPNMSG_NAT_RESOLVER_QUERY}
- TDPNMsgNatResolverQuery = _DPNMSG_NAT_RESOLVER_QUERY;
- (****************************************************************************
- *
- * DirectPlay8 Functions
- *
- ****************************************************************************)
- (*
- * This function is no longer supported. It is recommended that CoCreateInstance be used to create
- * DirectPlay8 objects.
- *
- * extern HRESULT WINAPI DirectPlay8Create( const GUID * pcIID, void **ppvInterface, IUnknown *pUnknown);
- *
- *)
-
- (****************************************************************************
- *
- * DirectPlay8Lobby Interface Pointer
- *
- ****************************************************************************)
- IDirectPlay8LobbiedApplication = interface;
- (****************************************************************************
- *
- * DirectPlay8 Application Interfaces
- *
- ****************************************************************************)
- //
- // COM definition for DirectPlay8 Client interface
- //
- {$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectPlay8Client);'}
- {$EXTERNALSYM IDirectPlay8Client}
- IDirectPlay8Client = interface(IUnknown)
- ['{5102dacd-241b-11d3-aea7-006097b01411}']
- (*** IDirectPlay8Client methods ***)
- function Initialize(pvUserContext: Pointer; pfn: TFNDPNMessageHandler; dwFlags: DWORD): HResult; stdcall;
- function EnumServiceProviders(pguidServiceProvider, pguidApplication: PGUID;
- pSPInfoBuffer: PDPNServiceProviderInfo; out pcbEnumData, pcReturned: DWORD;
- dwFlags: DWORD): HResult; stdcall;
- function EnumHosts(const pApplicationDesc: TDPNApplicationDesc;
- pAddrHost, pDeviceInfo: IDirectPlay8Address; pUserEnumData: Pointer;
- dwUserEnumDataSize, dwEnumCount, dwRetryInterval, dwTimeOut: DWORD;
- pvUserContext: Pointer; pAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function CancelAsyncOperation(hAsyncHandle: TDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function Connect(const pdnAppDesc: TDPNApplicationDesc;
- pHostAddr: IDirectPlay8Address; pDeviceInfo: IDirectPlay8Address;
- pdnSecurity: PDPNSecurityDesc; pdnCredentials: PDPNSecurityCredentials;
- pvUserConnectData: Pointer; dwUserConnectDataSize: DWORD; pvAsyncContext: Pointer;
- phAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function Send(const prgBufferDesc: TDPNBufferDesc; cBufferDesc, dwTimeOut: DWORD;
- pvAsyncContext: Pointer; phAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function GetSendQueueInfo(pdwNumMsgs, pdwNumBytes: PDWORD; dwFlags: DWORD): HResult; stdcall;
- function GetApplicationDesc(pAppDescBuffer: PDPNApplicationDesc; var pcbDataSize: DWORD; dwFlags: DWORD): HResult; stdcall;
- function SetClientInfo(const pdpnPlayerInfo: TDPNPlayerInfo; pvAsyncContext: Pointer;
- phAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function GetServerInfo(pdpnPlayerInfo: PDPNPlayerInfo; var pdwSize: DWORD; dwFlags: DWORD): HResult; stdcall;
- function GetServerAddress(out pAddress: IDirectPlay8Address; dwFlags: DWORD): HResult; stdcall;
- function Close(dwFlags: DWORD): HResult; stdcall;
- function ReturnBuffer(hBufferHandle: TDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function GetCaps(pdpCaps: PDPNCaps; dwFlags: DWORD): HResult; stdcall; //Translator: pdpCaps can be either PDPNCaps or PDPNCapsEx
- function SetCaps(pdpCaps: PDPNCaps; dwFlags: DWORD): HResult; stdcall; //Translator: pdpCaps can be either PDPNCaps or PDPNCapsEx
- function SetSPCaps(const pguidSP: TGUID; const pdpspCaps: TDPNSpCaps; dwFlags: DWORD): HResult; stdcall;
- function GetSPCaps(const pguidSP: TGUID; var pdpspCaps: TDPNSpCaps; dwFlags: DWORD): HResult; stdcall;
- function GetConnectionInfo(var pdpConnectionInfo: TDPNConnectionInfo; dwFlags: DWORD): HResult; stdcall;
- function RegisterLobby(dpnHandle: TDPNHandle; pIDP8LobbiedApplication: IDirectPlay8LobbiedApplication; dwFlags: DWORD): HResult; stdcall;
- end;
- //
- // COM definition for DirectPlay8 Server interface
- //
- {$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectPlay8Server);'}
- {$EXTERNALSYM IDirectPlay8Server}
- IDirectPlay8Server = interface(IUnknown)
- ['{5102dace-241b-11d3-aea7-006097b01411}']
- (*** IDirectPlay8Server methods ***)
- function Initialize(pvUserContext: Pointer; pfn: TFNDPNMessageHandler; dwFlags: DWORD): HResult; stdcall;
- function EnumServiceProviders(pguidServiceProvider, pguidApplication: PGUID;
- pSPInfoBuffer: PDPNServiceProviderInfo; out pcbEnumData, pcReturned: DWORD;
- dwFlags: DWORD): HResult; stdcall;
- function CancelAsyncOperation(hAsyncHandle: TDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function GetSendQueueInfo(dpnid: TDPNID; pdwNumMsgs, pdwNumBytes: PDWORD; dwFlags: DWORD): HResult; stdcall;
- function GetApplicationDesc(pAppDescBuffer: PDPNApplicationDesc; var pcbDataSize: DWORD; dwFlags: DWORD): HResult; stdcall;
- function GetServerInfo(pdpnPlayerInfo: PDPNPlayerInfo; pvAsyncContext: Pointer; phAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function GetClientInfo(dpnid: TDPNID; pdpnPlayerInfo: PDPNPlayerInfo; pdwSize: PDWORD; dwFlags: DWORD): HResult; stdcall;
- function GetClientAddress(dpnid: TDPNID; out pAddress: IDirectPlay8Address; dwFlags: DWORD): HResult; stdcall;
- function GetLocalHostAddresses(out prgpAddress: IDirectPlay8Address; var pcAddress: DWORD; dwFlags: DWORD): HResult; stdcall;
- function SetApplicationDesc(const pad: TDPNApplicationDesc; dwFlags: DWORD): HResult; stdcall;
- function Host(const pdnAppDesc: TDPNApplicationDesc; prgpDeviceInfo: PIDirectPlay8Address;
- cDeviceInfo: DWORD; pdnSecurity: PDPNSecurityDesc; pdnCredentials: PDPNSecurityCredentials;
- pvPlayerContext: Pointer; dwFlags: DWORD): HResult; stdcall;
- function SendTo(dpnid: TDPNID; const prgBufferDesc: TDPNBufferDesc; cBufferDesc, dwTimeOut: DWORD;
- pvAsyncContext: Pointer; phAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function CreateGroup(const pdpnGroupInfo: TDPNGroupInfo; pvGroupContext, pvAsyncContext: Pointer;
- phAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function DestroyGroup(idGroup: TDPNID; pvAsyncContext: Pointer;
- phAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function AddPlayerToGroup(idGroup, idClient: TDPNID; pvAsyncContext: Pointer;
- phAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function RemovePlayerFromGroup(idGroup, idClient: TDPNID; pvAsyncContext: Pointer;
- phAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function SetGroupInfo(dpnid: TDPNID; const pdpnGroupInfo: TDPNGroupInfo; pvAsyncContext: Pointer; phAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function GetGroupInfo(dpnid: TDPNID; pdpnGroupInfo: PDPNGroupInfo; pdwSize: PDWORD; dwFlags: DWORD): HResult; stdcall; //todo: Changed
- function EnumPlayersAndGroups(prgdpnid: PDPNID; var pcdpnid: DWORD; dwFlags: DWORD): HResult; stdcall;
- function EnumGroupMembers(dpnid: TDPNID; prgdpnid: PDPNID; var pcdpnid: DWORD; dwFlags: DWORD): HResult; stdcall;
- function Close(dwFlags: DWORD): HResult; stdcall;
- function DestroyClient(dpnidClient: TDPNID; pvDestroyData: Pointer; dwDestroyDataSize: DWORD; dwFlags: DWORD): HResult; stdcall;
- function ReturnBuffer(hBufferHandle: TDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function GetPlayerContext(dpnid: TDPNID; out ppvPlayerContext: Pointer; dwFlags: DWORD): HResult; stdcall;
- function GetGroupContext(dpnid: TDPNID; out ppvGroupContext: Pointer; dwFlags: DWORD): HResult; stdcall;
- function GetCaps(pdpCaps: PDPNCaps; dwFlags: DWORD): HResult; stdcall; //Translator: pdpCaps can be either PDPNCaps or PDPNCapsEx
- function SetCaps(pdpCaps: PDPNCaps; dwFlags: DWORD): HResult; stdcall; //Translator: pdpCaps can be either PDPNCaps or PDPNCapsEx
- function SetSPCaps(const pguidSP: TGUID; const pdpspCaps: TDPNSpCaps; dwFlags: DWORD): HResult; stdcall;
- function GetSPCaps(const pguidSP: TGUID; var pdpspCaps: TDPNSpCaps; dwFlags: DWORD): HResult; stdcall;
- function GetConnectionInfo(dpnid: TDPNID; var pdpConnectionInfo: TDPNConnectionInfo; dwFlags: DWORD): HResult; stdcall;
- function RegisterLobby(dpnHandle: TDPNHandle; pIDP8LobbiedApplication: IDirectPlay8LobbiedApplication; dwFlags: DWORD): HResult; stdcall;
- end;
- //
- // COM definition for DirectPlay8 Peer interface
- //
- {$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectPlay8Peer);'}
- {$EXTERNALSYM IDirectPlay8Peer}
- IDirectPlay8Peer = interface(IUnknown)
- ['{5102dacf-241b-11d3-aea7-006097b01411}']
- (*** IDirectPlay8Peer methods ***)
- function Initialize(pvUserContext: Pointer; pfn: TFNDPNMessageHandler; dwFlags: DWORD): HResult; stdcall;
- function EnumServiceProviders(pguidServiceProvider, pguidApplication: PGUID;
- pSPInfoBuffer: PDPNServiceProviderInfo; out pcbEnumData, pcReturned: DWORD;
- dwFlags: DWORD): HResult; stdcall;
- function CancelAsyncOperation(hAsyncHandle: TDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function Connect(const pdnAppDesc: TDPNApplicationDesc;
- pHostAddr: IDirectPlay8Address; pDeviceInfo: IDirectPlay8Address;
- pdnSecurity: PDPNSecurityDesc; pdnCredentials: PDPNSecurityCredentials;
- pvUserConnectData: Pointer; dwUserConnectDataSize: DWORD;
- pvPlayerContext, pvAsyncContext: Pointer;
- phAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function SendTo(dpnid: TDPNID; const prgBufferDesc: TDPNBufferDesc; cBufferDesc, dwTimeOut: DWORD;
- pvAsyncContext: Pointer; phAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function GetSendQueueInfo(dpnid: TDPNID; pdwNumMsgs, pdwNumBytes: PDWORD; dwFlags: DWORD): HResult; stdcall;
- function Host(const pdnAppDesc: TDPNApplicationDesc; prgpDeviceInfo: PIDirectPlay8Address;
- cDeviceInfo: DWORD; pdnSecurity: PDPNSecurityDesc; pdnCredentials: PDPNSecurityCredentials;
- pvPlayerContext: Pointer; dwFlags: DWORD): HResult; stdcall;
- function GetApplicationDesc(pAppDescBuffer: PDPNApplicationDesc; var pcbDataSize: DWORD; dwFlags: DWORD): HResult; stdcall;
- function SetApplicationDesc(const pad: TDPNApplicationDesc; dwFlags: DWORD): HResult; stdcall;
- function CreateGroup(const pdpnGroupInfo: TDPNGroupInfo; pvGroupContext, pvAsyncContext: Pointer;
- phAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function DestroyGroup(idGroup: TDPNID; pvAsyncContext: Pointer;
- phAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function AddPlayerToGroup(idGroup, idClient: TDPNID; pvAsyncContext: Pointer;
- phAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function RemovePlayerFromGroup(idGroup, idClient: TDPNID; pvAsyncContext: Pointer;
- phAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function SetGroupInfo(dpnid: TDPNID; const pdpnGroupInfo: TDPNGroupInfo; pvAsyncContext: Pointer; phAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function GetGroupInfo(dpnid: TDPNID; pdpnGroupInfo: PDPNGroupInfo; pdwSize: PDWORD; dwFlags: DWORD): HResult; stdcall; //todo: Changed
- function EnumPlayersAndGroups(prgdpnid: PDPNID; var pcdpnid: DWORD; dwFlags: DWORD): HResult; stdcall;
- function EnumGroupMembers(dpnid: TDPNID; prgdpnid: PDPNID; var pcdpnid: DWORD; dwFlags: DWORD): HResult; stdcall;
- function SetPeerInfo(const pdpnPlayerInfo: TDPNPlayerInfo; pvAsyncContext: Pointer;
- phAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function GetPeerInfo(dpnid: TDPNID; var pdpnPlayerInfo: TDPNPlayerInfo; pdwSize: PDWORD; dwFlags: DWORD): HResult; stdcall; //todo: Changed
- function GetPeerAddress(dpnid: TDPNID; out pAddress: IDirectPlay8Address; dwFlags: DWORD): HResult; stdcall;
- function GetLocalHostAddresses(prgpAddress: PIDirectPlay8Address; var pcAddress: DWORD; dwFlags: DWORD): HResult; stdcall;
- function Close(dwFlags: DWORD): HResult; stdcall;
- function EnumHosts(const pApplicationDesc: TDPNApplicationDesc;
- pAddrHost, pDeviceInfo: IDirectPlay8Address; pUserEnumData: Pointer;
- dwUserEnumDataSize, dwEnumCount, dwRetryInterval, dwTimeOut: DWORD;
- pvUserContext: Pointer; pAsyncHandle: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function DestroyPeer(dpnidClient: TDPNID; pvDestroyData: Pointer; dwDestroyDataSize, dwFlags: DWORD): HResult; stdcall;
- function ReturnBuffer(hBufferHandle: TDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function GetPlayerContext(dpnid: TDPNID; out ppvPlayerContext: Pointer; dwFlags: DWORD): HResult; stdcall;
- function GetGroupContext(dpnid: TDPNID; out ppvGroupContext: Pointer; dwFlags: DWORD): HResult; stdcall;
- function GetCaps(pdpCaps: PDPNCaps; dwFlags: DWORD): HResult; stdcall; //Translator: pdpCaps can be either PDPNCaps or PDPNCapsEx
- function SetCaps(pdpCaps: PDPNCaps; dwFlags: DWORD): HResult; stdcall; //Translator: pdpCaps can be either PDPNCaps or PDPNCapsEx
- function SetSPCaps(const pguidSP: TGUID; const pdpspCaps: TDPNSpCaps; dwFlags: DWORD): HResult; stdcall;
- function GetSPCaps(const pguidSP: TGUID; var pdpspCaps: TDPNSpCaps; dwFlags: DWORD): HResult; stdcall;
- function GetConnectionInfo(dpnid: TDPNID; var pdpConnectionInfo: TDPNConnectionInfo; dwFlags: DWORD): HResult; stdcall;
- function RegisterLobby(dpnHandle: TDPNHandle; pIDP8LobbiedApplication: IDirectPlay8LobbiedApplication; dwFlags: DWORD): HResult; stdcall;
- function TerminateSession(pvTerminateData: Pointer; dwTerminateDataSize, dwFlags: DWORD): HResult; stdcall;
- end;
- //
- // COM definition for DirectPlay8 Thread Pool interface
- //
- {$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectPlay8ThreadPool);'}
- {$EXTERNALSYM IDirectPlay8ThreadPool}
- IDirectPlay8ThreadPool = interface(IUnknown)
- ['{0d22ee73-4a46-4a0d-89b2-045b4d666425}']
- (*** IDirectPlay8ThreadPool methods ***)
- function Initialize(pvUserContext: Pointer; pfn: TFNDPNMessageHandler; dwFlags: DWORD): HResult; stdcall;
- function Close(dwFlags: DWORD): HResult; stdcall;
- function GetThreadCount(dwProcessorNum: DWORD; out pdwNumThreads: DWORD; dwFlags: DWORD): HResult; stdcall;
- function SetThreadCount(dwProcessorNum: DWORD; dwNumThreads: DWORD; dwFlags: DWORD): HResult; stdcall;
- function DoWork(dwAllowedTimeSlice: DWORD; dwFlags: DWORD): HResult; stdcall;
- end;
- //
- // COM definition for DirectPlay8 NAT Resolver interface
- //
- {$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectPlay8NATResolver);'}
- {$EXTERNALSYM IDirectPlay8NATResolver}
- IDirectPlay8NATResolver = interface(IUnknown)
- ['{a9e213f2-9a60-486f-bf3b-53408b6d1cbb}']
- (*** IDirectPlay8NATResolver methods ***)
- function Initialize(pvUserContext: Pointer; pfn: TFNDPNMessageHandler; dwFlags: DWORD): HResult; stdcall;
- function Start(ppDevices: PIDirectPlay8Address; dwNumDevices: DWORD; dwFlags: DWORD): HResult; stdcall;
- function Close(dwFlags: DWORD): HResult; stdcall;
- function EnumDevices(pSPInfoBuffer: PDPNServiceProviderInfo; var pdwBufferSize: DWORD; out pdwNumDevices: DWORD; dwFlags: DWORD): HResult; stdcall;
- function GetAddresses(ppAddresses: PIDirectPlay8Address; out pdwNumAddresses: DWORD; dwFlags: DWORD): HResult; stdcall;
- end;
- (****************************************************************************
- *
- * DirectPlay8 Interface IIDs
- *
- ****************************************************************************)
- // {5102DACD-241B-11d3-AEA7-006097B01411}
- IID_IDirectPlay8Client = IDirectPlay8Client;
- {$EXTERNALSYM IID_IDirectPlay8Client}
- // {5102DACE-241B-11d3-AEA7-006097B01411}
- IID_IDirectPlay8Server = IDirectPlay8Server;
- {$EXTERNALSYM IID_IDirectPlay8Server}
- // {5102DACF-241B-11d3-AEA7-006097B01411}
- IID_IDirectPlay8Peer = IDirectPlay8Peer;
- {$EXTERNALSYM IID_IDirectPlay8Peer}
- // IIDs added for DirectX 9
- // {0D22EE73-4A46-4a0d-89B2-045B4D666425}
- IID_IDirectPlay8ThreadPool = IDirectPlay8ThreadPool;
- {$EXTERNALSYM IID_IDirectPlay8ThreadPool}
- // {A9E213F2-9A60-486f-BF3B-53408B6D1CBB}
- IID_IDirectPlay8NATResolver = IDirectPlay8NATResolver;
- {$EXTERNALSYM IID_IDirectPlay8NATResolver}
- (*==========================================================================
- *
- * Copyright (C) 2000 Microsoft Corporation. All Rights Reserved.
- *
- * File: DPLobby.h
- * Content: DirectPlay8 Lobby Include File
- *
- ***************************************************************************)
- (****************************************************************************
- *
- * DirectPlay8Lobby Structures (Non-Message)
- *
- ****************************************************************************)
- //
- // Information on a registered game
- //
- PDPLApplicationInfo = ^TDPLApplicationInfo;
- _DPL_APPLICATION_INFO = packed record
- guidApplication: TGUID; // GUID of the application
- pwszApplicationName: PWideChar; // Name of the application
- dwNumRunning: DWORD; // # of instances of this application running
- dwNumWaiting: DWORD; // # of instances of this application waiting
- dwFlags: DWORD; // Flags
- end;
- {$EXTERNALSYM _DPL_APPLICATION_INFO}
- DPL_APPLICATION_INFO = _DPL_APPLICATION_INFO;
- {$EXTERNALSYM DPL_APPLICATION_INFO}
- TDPLApplicationInfo = _DPL_APPLICATION_INFO;
- //
- // Settings to be used for connecting / hosting a game session
- //
- PDPLConnectionSettings = ^TDPLConnectionSettings;
- _DPL_CONNECTION_SETTINGS = packed record
- dwSize: DWORD; // Size of this structure
- dwFlags: DWORD; // Connection settings flags (DPLCONNECTSETTINGS_...)
- dpnAppDesc: TDPNApplicationDesc; // Application desc for the associated DirectPlay session
- pdp8HostAddress: IDirectPlay8Address; // Address of host to connect to
- ppdp8DeviceAddresses: IDirectPlay8Address; // Address of device to connect from / host on
- cNumDeviceAddresses: DWORD; // # of addresses specified in ppdp8DeviceAddresses
- pwszPlayerName: PWideChar; // Name to give the player
- end;
- {$EXTERNALSYM _DPL_CONNECTION_SETTINGS}
- DPL_CONNECTION_SETTINGS = _DPL_CONNECTION_SETTINGS;
- {$EXTERNALSYM DPL_CONNECTION_SETTINGS}
- TDPLConnectionSettings = _DPL_CONNECTION_SETTINGS;
- //
- // Information for performing a lobby connect
- // (ConnectApplication)
- //
- PDPLConnectInfo = ^TDPLConnectInfo;
- _DPL_CONNECT_INFO = packed record
- dwSize: DWORD; // Size of this structure
- dwFlags: DWORD; // Flags (DPLCONNECT_...)
- guidApplication: TGUID; // GUID of application to launch
- pdplConnectionSettings: PDPLConnectionSettings; // Settings application should use
- pvLobbyConnectData: Pointer; // User defined data block
- dwLobbyConnectDataSize: DWORD; // Size of user defined data block
- end;
- {$EXTERNALSYM _DPL_CONNECT_INFO}
- DPL_CONNECT_INFO = _DPL_CONNECT_INFO;
- {$EXTERNALSYM DPL_CONNECT_INFO}
- TDPLConnectInfo = _DPL_CONNECT_INFO;
- //
- // Information for registering an application
- // (RegisterApplication)
- //
- PDPLProgramDesc = ^TDPLProgramDesc;
- _DPL_PROGRAM_DESC = packed record
- dwSize: DWORD;
- dwFlags: DWORD;
- guidApplication: TGUID; // Application GUID
- pwszApplicationName: PWideChar; // Unicode application name
- pwszCommandLine: PWideChar; // Unicode command line arguments
- pwszCurrentDirectory: PWideChar; // Unicode current directory
- pwszDescription: PWideChar; // Unicode application description
- pwszExecutableFilename: PWideChar; // Unicode filename of application executable
- pwszExecutablePath: PWideChar; // Unicode path of application executable
- pwszLauncherFilename: PWideChar; // Unicode filename of launcher executable
- pwszLauncherPath: PWideChar; // Unicode path of launcher executable
- end;
- {$EXTERNALSYM _DPL_PROGRAM_DESC}
- DPL_PROGRAM_DESC = _DPL_PROGRAM_DESC;
- {$EXTERNALSYM DPL_PROGRAM_DESC}
- TDPLProgramDesc = _DPL_PROGRAM_DESC;
- (****************************************************************************
- *
- * DirectPlay8 Lobby Message Structures
- *
- ****************************************************************************)
- //
- // A connection was established
- // (DPL_MSGID_CONNECT)
- //
- PDPLMessageConnect = ^TDPLMessageConnect;
- _DPL_MESSAGE_CONNECT = packed record
- dwSize: DWORD; // Size of this structure
- hConnectId: TDPNHandle; // Handle of new connection
- pdplConnectionSettings: PDPLConnectionSettings; // Connection settings for this connection
- pvLobbyConnectData: Pointer; // User defined lobby data block
- dwLobbyConnectDataSize: DWORD; // Size of user defined lobby data block
- pvConnectionContext: Pointer; // Context value for this connection (user set)
- end;
- {$EXTERNALSYM _DPL_MESSAGE_CONNECT}
- DPL_MESSAGE_CONNECT = _DPL_MESSAGE_CONNECT;
- {$EXTERNALSYM DPL_MESSAGE_CONNECT}
- TDPLMessageConnect = _DPL_MESSAGE_CONNECT;
- //
- // Connection settings have been updated
- // (DPL_MSGID_CONNECTION_SETTINGS)
- //
- PDPLMessageConnectionSettings = ^TDPLMessageConnectionSettings;
- _DPL_MESSAGE_CONNECTION_SETTINGS = packed record
- dwSize: DWORD; // Size of this structure
- hSender: TDPNHandle; // Handle of the connection for these settings
- pdplConnectionSettings: PDPLConnectionSettings; // Connection settings
- pvConnectionContext: Pointer; // Context value for this connection
- end;
- {$EXTERNALSYM _DPL_MESSAGE_CONNECTION_SETTINGS}
- DPL_MESSAGE_CONNECTION_SETTINGS = _DPL_MESSAGE_CONNECTION_SETTINGS;
- {$EXTERNALSYM DPL_MESSAGE_CONNECTION_SETTINGS}
- TDPLMessageConnectionSettings = _DPL_MESSAGE_CONNECTION_SETTINGS;
- //
- // A connection has been disconnected
- // (DPL_MSGID_DISCONNECT)
- //
- PDPLMessageDisconnect = ^TDPLMessageDisconnect;
- _DPL_MESSAGE_DISCONNECT = packed record
- dwSize: DWORD; // Size of this structure
- hDisconnectId: TDPNHandle; // Handle of the connection that was terminated
- hrReason: HRESULT; // Reason the connection was broken
- pvConnectionContext: Pointer; // Context value for this connection
- end;
- {$EXTERNALSYM _DPL_MESSAGE_DISCONNECT}
- DPL_MESSAGE_DISCONNECT = _DPL_MESSAGE_DISCONNECT;
- {$EXTERNALSYM DPL_MESSAGE_DISCONNECT}
- TDPLMessageDisconnect = _DPL_MESSAGE_DISCONNECT;
- //
- // Data was received through a connection
- // (DPL_MSGID_RECEIVE)
- //
- PDPLMessageReceive = ^TDPLMessageReceive;
- _DPL_MESSAGE_RECEIVE = packed record
- dwSize: DWORD; // Size of this structure
- hSender: TDPNHandle; // Handle of the connection that is from
- pBuffer: PByte; // Contents of the message
- dwBufferSize: DWORD; // Size of the message context
- pvConnectionContext: Pointer; // Context value for this connection
- end;
- {$EXTERNALSYM _DPL_MESSAGE_RECEIVE}
- DPL_MESSAGE_RECEIVE = _DPL_MESSAGE_RECEIVE;
- {$EXTERNALSYM DPL_MESSAGE_RECEIVE}
- TDPLMessageReceive = _DPL_MESSAGE_RECEIVE;
- //
- // Current status of the associated connection
- // (DPL_MSGID_SESSION_STATUS)
- //
- PDPLMessageSessionStatus = ^TDPLMessageSessionStatus;
- _DPL_MESSAGE_SESSION_STATUS = packed record
- dwSize: DWORD; // Size of this structure
- hSender: TDPNHandle; // Handle of the connection that this is from
- dwStatus: DWORD; // Status (DPLSESSION_...)
- pvConnectionContext: Pointer; // Context value for this connection
- end;
- {$EXTERNALSYM _DPL_MESSAGE_SESSION_STATUS}
- DPL_MESSAGE_SESSION_STATUS = _DPL_MESSAGE_SESSION_STATUS;
- {$EXTERNALSYM DPL_MESSAGE_SESSION_STATUS}
- TDPLMessageSessionStatus = _DPL_MESSAGE_SESSION_STATUS;
- (****************************************************************************
- *
- * DirectPlay8Lobby Create
- *
- ****************************************************************************)
-
- (*
- * This function is no longer supported. It is recommended that CoCreateInstance be used to create
- * DirectPlay8 lobby objects.
- *
- * extern HRESULT WINAPI DirectPlay8LobbyCreate( const GUID * pcIID, void **ppvInterface, IUnknown *pUnknown);
- *
- *)
- (****************************************************************************
- *
- * DirectPlay8 Functions
- *
- ****************************************************************************)
- //
- // COM definition for DirectPlayLobbyClient
- //
- {$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectPlay8LobbyClient);'}
- {$EXTERNALSYM IDirectPlay8LobbyClient}
- IDirectPlay8LobbyClient = interface(IUnknown)
- ['{819074a2-016c-11d3-ae14-006097b01411}']
- // IDirectPlayLobbyClient methods
- function Initialize(pvUserContext: Pointer; pfn: TFNDPNMessageHandler; dwFlags: DWORD): HResult; stdcall;
- function EnumLocalPrograms(pGuidApplication: PGUID; pEnumData: PByte; var pdwEnumData: DWORD; out pdwItems: DWORD; dwFlags: DWORD): HResult; stdcall;
- function ConnectApplication(const pdplConnectionInfo: PDPLConnectInfo;
- pvConnectionContext: Pointer; hApplication: PDPNHandle; dwTimeOut, dwFlags: DWORD): HResult; stdcall;
- function Send(hConnection: TDPNHandle; pBuffer: PByte; pBufferSize, dwFlags: DWORD): HResult; stdcall;
- function ReleaseApplication(hConnection: TDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function Close(dwFlags: DWORD): HResult; stdcall;
- function GetConnectionSettings(hConnection: TDPNHandle; pdplSessionInfo: PDPLConnectionSettings; var pdwInfoSize: DWORD; dwFlags: DWORD): HResult; stdcall;
- function SetConnectionSettings(hConnection: TDPNHandle; const pdplSessionInfo: TDPLConnectionSettings; dwFlags: DWORD): HResult; stdcall;
- end;
- //
- // COM definition for DirectPlayLobbiedApplication
- //
- {$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectPlay8LobbiedApplication);'}
- {$EXTERNALSYM IDirectPlay8LobbiedApplication}
- IDirectPlay8LobbiedApplication = interface(IUnknown)
- ['{819074a3-016c-11d3-ae14-006097b01411}']
- // IDirectPlayLobbiedApplication methods
- function Initialize(pvUserContext: Pointer; pfn: TFNDPNMessageHandler; pdpnhConnection: PDPNHandle; dwFlags: DWORD): HResult; stdcall;
- function RegisterProgram(const pdplProgramDesc: TDPLProgramDesc; dwFlags: DWORD): HResult; stdcall;
- function UnRegisterProgram(const pguidApplication: TGUID; dwFlags: DWORD): HResult; stdcall;
- function Send(hConnection: TDPNHandle; pBuffer: PByte; pBufferSize: DWORD; dwFlags: DWORD): HResult; stdcall;
- function SetAppAvailable(fAvailable: BOOL; dwFlags: DWORD): HResult; stdcall;
- function UpdateStatus(hConnection: TDPNHandle; dwStatus, dwFlags: DWORD): HResult; stdcall;
- function Close(dwFlags: DWORD): HResult; stdcall;
- function GetConnectionSettings(hConnection: TDPNHandle; pdplSessionInfo: PDPLConnectionSettings; var pdwInfoSize: DWORD; dwFlags: DWORD): HResult; stdcall;
- function SetConnectionSettings(hConnection: TDPNHandle; const pdplSessionInfo: TDPLConnectionSettings; dwFlags: DWORD): HResult; stdcall;
- end;
- const
- (****************************************************************************
- *
- * DirectPlay8Lobby CLSIDs
- *
- ****************************************************************************)
- // {667955AD-6B3B-43ca-B949-BC69B5BAFF7F}
- CLSID_DirectPlay8LobbiedApplication: TGUID = '{667955ad-6b3b-43ca-b949-bc69b5baff7f}';
- {$EXTERNALSYM CLSID_DirectPlay8LobbiedApplication}
- // {3B2B6775-70B6-45af-8DEA-A209C69559F3}
- CLSID_DirectPlay8LobbyClient: TGUID = '{3b2b6775-70b6-45af-8dea-a209c69559f3}';
- {$EXTERNALSYM CLSID_DirectPlay8LobbyClient}
- (****************************************************************************
- *
- * DirectPlay8Lobby Interface IIDs
- *
- ****************************************************************************)
- // {819074A3-016C-11d3-AE14-006097B01411}
- IID_IDirectPlay8LobbiedApplication = IDirectPlay8LobbiedApplication;
- {$EXTERNALSYM IID_IDirectPlay8LobbiedApplication}
- // {819074A2-016C-11d3-AE14-006097B01411}
- IID_IDirectPlay8LobbyClient = IDirectPlay8LobbyClient;
- {$EXTERNALSYM IID_IDirectPlay8LobbyClient}
- (****************************************************************************
- *
- * DirectPlay8 Lobby Message IDs
- *
- ****************************************************************************)
- DPL_MSGID_LOBBY = $8000;
- {$EXTERNALSYM DPL_MSGID_LOBBY}
- DPL_MSGID_RECEIVE = ($0001 or DPL_MSGID_LOBBY);
- {$EXTERNALSYM DPL_MSGID_RECEIVE}
- DPL_MSGID_CONNECT = ($0002 or DPL_MSGID_LOBBY);
- {$EXTERNALSYM DPL_MSGID_CONNECT}
- DPL_MSGID_DISCONNECT = ($0003 or DPL_MSGID_LOBBY);
- {$EXTERNALSYM DPL_MSGID_DISCONNECT}
- DPL_MSGID_SESSION_STATUS = ($0004 or DPL_MSGID_LOBBY);
- {$EXTERNALSYM DPL_MSGID_SESSION_STATUS}
- DPL_MSGID_CONNECTION_SETTINGS = ($0005 or DPL_MSGID_LOBBY);
- {$EXTERNALSYM DPL_MSGID_CONNECTION_SETTINGS}
- (****************************************************************************
- *
- * DirectPlay8Lobby Constants
- *
- ****************************************************************************)
- //
- // Specifies that operation should be performed on all open connections
- //
- DPLHANDLE_ALLCONNECTIONS = $FFFFFFFF;
- {$EXTERNALSYM DPLHANDLE_ALLCONNECTIONS}
- //
- // The associated game session has suceeded in connecting / hosting
- //
- DPLSESSION_CONNECTED = $0001;
- {$EXTERNALSYM DPLSESSION_CONNECTED}
- // The associated game session failed connecting / hosting
- //
- DPLSESSION_COULDNOTCONNECT = $0002;
- {$EXTERNALSYM DPLSESSION_COULDNOTCONNECT}
- //
- // The associated game session has disconnected
- //
- DPLSESSION_DISCONNECTED = $0003;
- {$EXTERNALSYM DPLSESSION_DISCONNECTED}
- //
- // The associated game session has terminated
- //
- DPLSESSION_TERMINATED = $0004;
- {$EXTERNALSYM DPLSESSION_TERMINATED}
- //
- // The associated game session's host has migrated
- //
- DPLSESSION_HOSTMIGRATED = $0005;
- {$EXTERNALSYM DPLSESSION_HOSTMIGRATED}
- //
- // The associated game session's host has migrated to the local client
- //
- DPLSESSION_HOSTMIGRATEDHERE = $0006;
- {$EXTERNALSYM DPLSESSION_HOSTMIGRATEDHERE}
- (****************************************************************************
- *
- * DirectPlay8 Lobby Flags
- *
- ****************************************************************************)
- //
- // Do not automatically make the lobby app unavailable when a connection is established
- //
- DPLAVAILABLE_ALLOWMULTIPLECONNECT = $0001;
- {$EXTERNALSYM DPLAVAILABLE_ALLOWMULTIPLECONNECT}
- //
- // Launch a new instance of the application to connect to
- //
- DPLCONNECT_LAUNCHNEW = $0001;
- {$EXTERNALSYM DPLCONNECT_LAUNCHNEW}
- //
- // Launch a new instance of the application if one is not waiting
- //
- DPLCONNECT_LAUNCHNOTFOUND = $0002;
- {$EXTERNALSYM DPLCONNECT_LAUNCHNOTFOUND}
- //
- // When starting the associated game session, start it as a host
- //
- DPLCONNECTSETTINGS_HOST = $0001;
- {$EXTERNALSYM DPLCONNECTSETTINGS_HOST}
- //
- // Disable parameter validation
- //
- DPLINITIALIZE_DISABLEPARAMVAL = $0001;
- {$EXTERNALSYM DPLINITIALIZE_DISABLEPARAMVAL}
- ///// Part 2 of dplay8.h /////
- (*==========================================================================;
- *
- * Copyright (C) 1998-2000 Microsoft Corporation. All Rights Reserved.
- *
- * File: DPlay8.h
- * Content: DirectPlay8 include file
- *
- ***************************************************************************)
- (****************************************************************************
- *
- * DIRECTPLAY8 ERRORS
- *
- * Errors are represented by negative values and cannot be combined.
- *
- ****************************************************************************)
- const
- _DPN_FACILITY_CODE = $015;
- {$EXTERNALSYM _DPN_FACILITY_CODE}
- _DPNHRESULT_BASE = $8000;
- {$EXTERNALSYM _DPNHRESULT_BASE}
- MAKE_DPNHRESULT_R = (1 shl 31) or (_DPN_FACILITY_CODE shl 16) + _DPNHRESULT_BASE;
- // #define MAKE_DPNHRESULT( code ) MAKE_HRESULT( 1, _DPN_FACILITY_CODE, ( code + _DPNHRESULT_BASE ) )
- function MAKE_DPNHRESULT(Code: DWORD): DWORD;
- {$EXTERNALSYM MAKE_DPNHRESULT}
- const
- DPN_OK = S_OK;
- {$EXTERNALSYM DPN_OK}
- DPNSUCCESS_EQUAL = HRESULT((0 shl 31) or (_DPN_FACILITY_CODE shl 16) or ($5 + _DPNHRESULT_BASE)); // MAKE_HRESULT( 0, _DPN_FACILITY_CODE, ( 0x5 + _DPNHRESULT_BASE ) )
- {$EXTERNALSYM DPNSUCCESS_EQUAL}
- DPNSUCCESS_NOPLAYERSINGROUP = HRESULT((0 shl 31) or (_DPN_FACILITY_CODE shl 16) or ($8 + _DPNHRESULT_BASE)); // MAKE_HRESULT( 0, _DPN_FACILITY_CODE, ( 0x8 + _DPNHRESULT_BASE ) ) // added for DirectX 9
- {$EXTERNALSYM DPNSUCCESS_NOPLAYERSINGROUP}
- DPNSUCCESS_NOTEQUAL = HRESULT((0 shl 31) or (_DPN_FACILITY_CODE shl 16) or ($A + _DPNHRESULT_BASE)); // MAKE_HRESULT( 0, _DPN_FACILITY_CODE, (0x0A + _DPNHRESULT_BASE ) )
- {$EXTERNALSYM DPNSUCCESS_NOTEQUAL}
- DPNSUCCESS_PENDING = HRESULT((0 shl 31) or (_DPN_FACILITY_CODE shl 16) or ($e + _DPNHRESULT_BASE)); // MAKE_HRESULT( 0, _DPN_FACILITY_CODE, (0x0e + _DPNHRESULT_BASE ) )
- {$EXTERNALSYM DPNSUCCESS_PENDING}
- DPNERR_ABORTED = HRESULT(MAKE_DPNHRESULT_R + $30); // MAKE_DPNHRESULT( 0x30 )
- {$EXTERNALSYM DPNERR_ABORTED}
- DPNERR_ADDRESSING = HRESULT(MAKE_DPNHRESULT_R + $40); // MAKE_DPNHRESULT( 0x40 )
- {$EXTERNALSYM DPNERR_ADDRESSING}
- DPNERR_ALREADYCLOSING = HRESULT(MAKE_DPNHRESULT_R + $50); // MAKE_DPNHRESULT( 0x50 )
- {$EXTERNALSYM DPNERR_ALREADYCLOSING}
- DPNERR_ALREADYCONNECTED = HRESULT(MAKE_DPNHRESULT_R + $60); // MAKE_DPNHRESULT( 0x60 )
- {$EXTERNALSYM DPNERR_ALREADYCONNECTED}
- DPNERR_ALREADYDISCONNECTING = HRESULT(MAKE_DPNHRESULT_R + $70); // MAKE_DPNHRESULT( 0x70 )
- {$EXTERNALSYM DPNERR_ALREADYDISCONNECTING}
- DPNERR_ALREADYINITIALIZED = HRESULT(MAKE_DPNHRESULT_R + $80); // MAKE_DPNHRESULT( 0x80 )
- {$EXTERNALSYM DPNERR_ALREADYINITIALIZED}
- DPNERR_ALREADYREGISTERED = HRESULT(MAKE_DPNHRESULT_R + $90); // MAKE_DPNHRESULT( 0x90 )
- {$EXTERNALSYM DPNERR_ALREADYREGISTERED}
- DPNERR_BUFFERTOOSMALL = HRESULT(MAKE_DPNHRESULT_R + $100); // MAKE_DPNHRESULT( 0x100 )
- {$EXTERNALSYM DPNERR_BUFFERTOOSMALL}
- DPNERR_CANNOTCANCEL = HRESULT(MAKE_DPNHRESULT_R + $110); // MAKE_DPNHRESULT( 0x110 )
- {$EXTERNALSYM DPNERR_CANNOTCANCEL}
- DPNERR_CANTCREATEGROUP = HRESULT(MAKE_DPNHRESULT_R + $120); // MAKE_DPNHRESULT( 0x120 )
- {$EXTERNALSYM DPNERR_CANTCREATEGROUP}
- DPNERR_CANTCREATEPLAYER = HRESULT(MAKE_DPNHRESULT_R + $130); // MAKE_DPNHRESULT( 0x130 )
- {$EXTERNALSYM DPNERR_CANTCREATEPLAYER}
- DPNERR_CANTLAUNCHAPPLICATION = HRESULT(MAKE_DPNHRESULT_R + $140); // MAKE_DPNHRESULT( 0x140 )
- {$EXTERNALSYM DPNERR_CANTLAUNCHAPPLICATION}
- DPNERR_CONNECTING = HRESULT(MAKE_DPNHRESULT_R + $150); // MAKE_DPNHRESULT( 0x150 )
- {$EXTERNALSYM DPNERR_CONNECTING}
- DPNERR_CONNECTIONLOST = HRESULT(MAKE_DPNHRESULT_R + $160); // MAKE_DPNHRESULT( 0x160 )
- {$EXTERNALSYM DPNERR_CONNECTIONLOST}
- DPNERR_CONVERSION = HRESULT(MAKE_DPNHRESULT_R + $170); // MAKE_DPNHRESULT( 0x170 )
- {$EXTERNALSYM DPNERR_CONVERSION}
- DPNERR_DATATOOLARGE = HRESULT(MAKE_DPNHRESULT_R + $175); // MAKE_DPNHRESULT( 0x175 )
- {$EXTERNALSYM DPNERR_DATATOOLARGE}
- DPNERR_DOESNOTEXIST = HRESULT(MAKE_DPNHRESULT_R + $180); // MAKE_DPNHRESULT( 0x180 )
- {$EXTERNALSYM DPNERR_DOESNOTEXIST}
- DPNERR_DPNSVRNOTAVAILABLE = HRESULT(MAKE_DPNHRESULT_R + $185); // MAKE_DPNHRESULT( 0x185 )
- {$EXTERNALSYM DPNERR_DPNSVRNOTAVAILABLE}
- DPNERR_DUPLICATECOMMAND = HRESULT(MAKE_DPNHRESULT_R + $190); // MAKE_DPNHRESULT( 0x190 )
- {$EXTERNALSYM DPNERR_DUPLICATECOMMAND}
- DPNERR_ENDPOINTNOTRECEIVING = HRESULT(MAKE_DPNHRESULT_R + $200); // MAKE_DPNHRESULT( 0x200 )
- {$EXTERNALSYM DPNERR_ENDPOINTNOTRECEIVING}
- DPNERR_ENUMQUERYTOOLARGE = HRESULT(MAKE_DPNHRESULT_R + $210); // MAKE_DPNHRESULT( 0x210 )
- {$EXTERNALSYM DPNERR_ENUMQUERYTOOLARGE}
- DPNERR_ENUMRESPONSETOOLARGE = HRESULT(MAKE_DPNHRESULT_R + $220); // MAKE_DPNHRESULT( 0x220 )
- {$EXTERNALSYM DPNERR_ENUMRESPONSETOOLARGE}
- DPNERR_EXCEPTION = HRESULT(MAKE_DPNHRESULT_R + $230); // MAKE_DPNHRESULT( 0x230 )
- {$EXTERNALSYM DPNERR_EXCEPTION}
- DPNERR_GENERIC = E_FAIL;
- {$EXTERNALSYM DPNERR_GENERIC}
- DPNERR_GROUPNOTEMPTY = HRESULT(MAKE_DPNHRESULT_R + $240); // MAKE_DPNHRESULT( 0x240 )
- {$EXTERNALSYM DPNERR_GROUPNOTEMPTY}
- DPNERR_HOSTING = HRESULT(MAKE_DPNHRESULT_R + $250); // MAKE_DPNHRESULT( 0x250 )
- {$EXTERNALSYM DPNERR_HOSTING}
- DPNERR_HOSTREJECTEDCONNECTION = HRESULT(MAKE_DPNHRESULT_R + $260); // MAKE_DPNHRESULT( 0x260 )
- {$EXTERNALSYM DPNERR_HOSTREJECTEDCONNECTION}
- DPNERR_HOSTTERMINATEDSESSION = HRESULT(MAKE_DPNHRESULT_R + $270); // MAKE_DPNHRESULT( 0x270 )
- {$EXTERNALSYM DPNERR_HOSTTERMINATEDSESSION}
- DPNERR_INCOMPLETEADDRESS = HRESULT(MAKE_DPNHRESULT_R + $280); // MAKE_DPNHRESULT( 0x280 )
- {$EXTERNALSYM DPNERR_INCOMPLETEADDRESS}
- DPNERR_INVALIDADDRESSFORMAT = HRESULT(MAKE_DPNHRESULT_R + $290); // MAKE_DPNHRESULT( 0x290 )
- {$EXTERNALSYM DPNERR_INVALIDADDRESSFORMAT}
- DPNERR_INVALIDAPPLICATION = HRESULT(MAKE_DPNHRESULT_R + $300); // MAKE_DPNHRESULT( 0x300 )
- {$EXTERNALSYM DPNERR_INVALIDAPPLICATION}
- DPNERR_INVALIDCOMMAND = HRESULT(MAKE_DPNHRESULT_R + $310); // MAKE_DPNHRESULT( 0x310 )
- {$EXTERNALSYM DPNERR_INVALIDCOMMAND}
- DPNERR_INVALIDDEVICEADDRESS = HRESULT(MAKE_DPNHRESULT_R + $320); // MAKE_DPNHRESULT( 0x320 )
- {$EXTERNALSYM DPNERR_INVALIDDEVICEADDRESS}
- DPNERR_INVALIDENDPOINT = HRESULT(MAKE_DPNHRESULT_R + $330); // MAKE_DPNHRESULT( 0x330 )
- {$EXTERNALSYM DPNERR_INVALIDENDPOINT}
- DPNERR_INVALIDFLAGS = HRESULT(MAKE_DPNHRESULT_R + $340); // MAKE_DPNHRESULT( 0x340 )
- {$EXTERNALSYM DPNERR_INVALIDFLAGS}
- DPNERR_INVALIDGROUP = HRESULT(MAKE_DPNHRESULT_R + $350); // MAKE_DPNHRESULT( 0x350 )
- {$EXTERNALSYM DPNERR_INVALIDGROUP}
- DPNERR_INVALIDHANDLE = HRESULT(MAKE_DPNHRESULT_R + $360); // MAKE_DPNHRESULT( 0x360 )
- {$EXTERNALSYM DPNERR_INVALIDHANDLE}
- DPNERR_INVALIDHOSTADDRESS = HRESULT(MAKE_DPNHRESULT_R + $370); // MAKE_DPNHRESULT( 0x370 )
- {$EXTERNALSYM DPNERR_INVALIDHOSTADDRESS}
- DPNERR_INVALIDINSTANCE = HRESULT(MAKE_DPNHRESULT_R + $380); // MAKE_DPNHRESULT( 0x380 )
- {$EXTERNALSYM DPNERR_INVALIDINSTANCE}
- DPNERR_INVALIDINTERFACE = HRESULT(MAKE_DPNHRESULT_R + $390); // MAKE_DPNHRESULT( 0x390 )
- {$EXTERNALSYM DPNERR_INVALIDINTERFACE}
- DPNERR_INVALIDOBJECT = HRESULT(MAKE_DPNHRESULT_R + $400); // MAKE_DPNHRESULT( 0x400 )
- {$EXTERNALSYM DPNERR_INVALIDOBJECT}
- DPNERR_INVALIDPARAM = E_INVALIDARG;
- {$EXTERNALSYM DPNERR_INVALIDPARAM}
- DPNERR_INVALIDPASSWORD = HRESULT(MAKE_DPNHRESULT_R + $410); // MAKE_DPNHRESULT( 0x410 )
- {$EXTERNALSYM DPNERR_INVALIDPASSWORD}
- DPNERR_INVALIDPLAYER = HRESULT(MAKE_DPNHRESULT_R + $420); // MAKE_DPNHRESULT( 0x420 )
- {$EXTERNALSYM DPNERR_INVALIDPLAYER}
- DPNERR_INVALIDPOINTER = E_POINTER;
- {$EXTERNALSYM DPNERR_INVALIDPOINTER}
- DPNERR_INVALIDPRIORITY = HRESULT(MAKE_DPNHRESULT_R + $430); // MAKE_DPNHRESULT( 0x430 )
- {$EXTERNALSYM DPNERR_INVALIDPRIORITY}
- DPNERR_INVALIDSTRING = HRESULT(MAKE_DPNHRESULT_R + $440); // MAKE_DPNHRESULT( 0x440 )
- {$EXTERNALSYM DPNERR_INVALIDSTRING}
- DPNERR_INVALIDURL = HRESULT(MAKE_DPNHRESULT_R + $450); // MAKE_DPNHRESULT( 0x450 )
- {$EXTERNALSYM DPNERR_INVALIDURL}
- DPNERR_INVALIDVERSION = HRESULT(MAKE_DPNHRESULT_R + $460); // MAKE_DPNHRESULT( 0x460 )
- {$EXTERNALSYM DPNERR_INVALIDVERSION}
- DPNERR_NOCAPS = HRESULT(MAKE_DPNHRESULT_R + $470); // MAKE_DPNHRESULT( 0x470 )
- {$EXTERNALSYM DPNERR_NOCAPS}
- DPNERR_NOCONNECTION = HRESULT(MAKE_DPNHRESULT_R + $480); // MAKE_DPNHRESULT( 0x480 )
- {$EXTERNALSYM DPNERR_NOCONNECTION}
- DPNERR_NOHOSTPLAYER = HRESULT(MAKE_DPNHRESULT_R + $490); // MAKE_DPNHRESULT( 0x490 )
- {$EXTERNALSYM DPNERR_NOHOSTPLAYER}
- DPNERR_NOINTERFACE = E_NOINTERFACE;
- {$EXTERNALSYM DPNERR_NOINTERFACE}
- DPNERR_NOMOREADDRESSCOMPONENTS = HRESULT(MAKE_DPNHRESULT_R + $500); // MAKE_DPNHRESULT( 0x500 )
- {$EXTERNALSYM DPNERR_NOMOREADDRESSCOMPONENTS}
- DPNERR_NORESPONSE = HRESULT(MAKE_DPNHRESULT_R + $510); // MAKE_DPNHRESULT( 0x510 )
- {$EXTERNALSYM DPNERR_NORESPONSE}
- DPNERR_NOTALLOWED = HRESULT(MAKE_DPNHRESULT_R + $520); // MAKE_DPNHRESULT( 0x520 )
- {$EXTERNALSYM DPNERR_NOTALLOWED}
- DPNERR_NOTHOST = HRESULT(MAKE_DPNHRESULT_R + $530); // MAKE_DPNHRESULT( 0x530 )
- {$EXTERNALSYM DPNERR_NOTHOST}
- DPNERR_NOTREADY = HRESULT(MAKE_DPNHRESULT_R + $540); // MAKE_DPNHRESULT( 0x540 )
- {$EXTERNALSYM DPNERR_NOTREADY}
- DPNERR_NOTREGISTERED = HRESULT(MAKE_DPNHRESULT_R + $550); // MAKE_DPNHRESULT( 0x550 )
- {$EXTERNALSYM DPNERR_NOTREGISTERED}
- DPNERR_OUTOFMEMORY = E_OUTOFMEMORY;
- {$EXTERNALSYM DPNERR_OUTOFMEMORY}
- DPNERR_PENDING = DPNSUCCESS_PENDING;
- {$EXTERNALSYM DPNERR_PENDING}
- DPNERR_PLAYERALREADYINGROUP = HRESULT(MAKE_DPNHRESULT_R + $560); // MAKE_DPNHRESULT( 0x560 )
- {$EXTERNALSYM DPNERR_PLAYERALREADYINGROUP}
- DPNERR_PLAYERLOST = HRESULT(MAKE_DPNHRESULT_R + $570); // MAKE_DPNHRESULT( 0x570 )
- {$EXTERNALSYM DPNERR_PLAYERLOST}
- DPNERR_PLAYERNOTINGROUP = HRESULT(MAKE_DPNHRESULT_R + $580); // MAKE_DPNHRESULT( 0x580 )
- {$EXTERNALSYM DPNERR_PLAYERNOTINGROUP}
- DPNERR_PLAYERNOTREACHABLE = HRESULT(MAKE_DPNHRESULT_R + $590); // MAKE_DPNHRESULT( 0x590 )
- {$EXTERNALSYM DPNERR_PLAYERNOTREACHABLE}
- DPNERR_SENDTOOLARGE = HRESULT(MAKE_DPNHRESULT_R + $600); // MAKE_DPNHRESULT( 0x600 )
- {$EXTERNALSYM DPNERR_SENDTOOLARGE}
- DPNERR_SESSIONFULL = HRESULT(MAKE_DPNHRESULT_R + $610); // MAKE_DPNHRESULT( 0x610 )
- {$EXTERNALSYM DPNERR_SESSIONFULL}
- DPNERR_TABLEFULL = HRESULT(MAKE_DPNHRESULT_R + $620); // MAKE_DPNHRESULT( 0x620 )
- {$EXTERNALSYM DPNERR_TABLEFULL}
- DPNERR_TIMEDOUT = HRESULT(MAKE_DPNHRESULT_R + $630); // MAKE_DPNHRESULT( 0x630 )
- {$EXTERNALSYM DPNERR_TIMEDOUT}
- DPNERR_UNINITIALIZED = HRESULT(MAKE_DPNHRESULT_R + $640); // MAKE_DPNHRESULT( 0x640 )
- {$EXTERNALSYM DPNERR_UNINITIALIZED}
- DPNERR_UNSUPPORTED = E_NOTIMPL;
- {$EXTERNALSYM DPNERR_UNSUPPORTED}
- DPNERR_USERCANCEL = HRESULT(MAKE_DPNHRESULT_R + $650); // MAKE_DPNHRESULT( 0x650 )
- {$EXTERNALSYM DPNERR_USERCANCEL}
- (*==========================================================================;
- *
- * Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
- *
- * File: dpvoice.h
- * Content: DirectPlayVoice include file
- ***************************************************************************)
- const
- (****************************************************************************
- *
- * DirectPlayVoice CLSIDs
- *
- ****************************************************************************)
- // {B9F3EB85-B781-4ac1-8D90-93A05EE37D7D}
- CLSID_DirectPlayVoiceClient: TGUID = '{b9f3eb85-b781-4ac1-8d90-93a05ee37d7d}';
- {$EXTERNALSYM CLSID_DirectPlayVoiceClient}
- // {D3F5B8E6-9B78-4a4c-94EA-CA2397B663D3}
- CLSID_DirectPlayVoiceServer: TGUID = '{d3f5b8e6-9b78-4a4c-94ea-ca2397b663d3}';
- {$EXTERNALSYM CLSID_DirectPlayVoiceServer}
- // {0F0F094B-B01C-4091-A14D-DD0CD807711A}
- CLSID_DirectPlayVoiceTest: TGUID = '{0f0f094b-b01c-4091-a14d-dd0cd807711a}';
- {$EXTERNALSYM CLSID_DirectPlayVoiceTest}
- (****************************************************************************
- *
- * DirectPlayVoice Compression Type GUIDs
- *
- ****************************************************************************)
- // MS-ADPCM 32.8 kbit/s
- //
- // {699B52C1-A885-46a8-A308-97172419ADC7}
- DPVCTGUID_ADPCM: TGUID = '{699b52c1-a885-46a8-a308-97172419adc7}';
- {$EXTERNALSYM DPVCTGUID_ADPCM}
- // Microsoft GSM 6.10 13 kbit/s
- //
- // {24768C60-5A0D-11d3-9BE4-525400D985E7}
- DPVCTGUID_GSM: TGUID = '{24768c60-5a0d-11d3-9be4-525400d985e7}';
- {$EXTERNALSYM DPVCTGUID_GSM}
- // MS-PCM 64 kbit/s
- //
- // {8DE12FD4-7CB3-48ce-A7E8-9C47A22E8AC5}
- DPVCTGUID_NONE: TGUID = '{8de12fd4-7cb3-48ce-a7e8-9c47a22e8ac5}';
- {$EXTERNALSYM DPVCTGUID_NONE}
- // Voxware SC03 3.2kbit/s
- //
- // {7D82A29B-2242-4f82-8F39-5D1153DF3E41}
- DPVCTGUID_SC03: TGUID = '{7d82a29b-2242-4f82-8f39-5d1153df3e41}';
- {$EXTERNALSYM DPVCTGUID_SC03}
- // Voxware SC06 6.4kbit/s
- //
- // {53DEF900-7168-4633-B47F-D143916A13C7}
- DPVCTGUID_SC06: TGUID = '{53def900-7168-4633-b47f-d143916a13c7}';
- {$EXTERNALSYM DPVCTGUID_SC06}
- // TrueSpeech(TM) 8.6 kbit/s
- //
- // {D7954361-5A0B-11d3-9BE4-525400D985E7}
- DPVCTGUID_TRUESPEECH: TGUID = '{d7954361-5a0b-11d3-9be4-525400d985e7}';
- {$EXTERNALSYM DPVCTGUID_TRUESPEECH}
- // Voxware VR12 1.4kbit/s
- //
- // {FE44A9FE-8ED4-48bf-9D66-1B1ADFF9FF6D}
- DPVCTGUID_VR12: TGUID = '{fe44a9fe-8ed4-48bf-9d66-1b1adff9ff6d}';
- {$EXTERNALSYM DPVCTGUID_VR12}
- // Define the default compression type
- DPVCTGUID_DEFAULT: TGUID = '{7d82a29b-2242-4f82-8f39-5d1153df3e41}'; // DPVCTGUID_SC03;
- {$EXTERNALSYM DPVCTGUID_DEFAULT}
- (****************************************************************************
- *
- * DirectPlayVoice Callback Functions
- *
- ****************************************************************************)
- type
- TDVMessageHandler = function(pvUserContext: Pointer; dwMessageType: DWORD; lpMessage: Pointer): HResult; stdcall;
- {$NODEFINE TDVMessageHandler}
- {$HPPEMIT 'typedef PDVMESSAGEHANDLER TDVMessageHandler;'}
- (****************************************************************************
- *
- * DirectPlayVoice Datatypes (Non-Structure / Non-Message)
- *
- ****************************************************************************)
- PDVID = ^DVID;
- DVID = DWORD;
- {$EXTERNALSYM DVID}
- TDVID = DVID;
- (****************************************************************************
- *
- * DirectPlayVoice Message Types
- *
- ****************************************************************************)
- const
- DVMSGID_BASE = $0000;
- {$EXTERNALSYM DVMSGID_BASE}
- DVMSGID_CREATEVOICEPLAYER = (DVMSGID_BASE+$0001);
- {$EXTERNALSYM DVMSGID_CREATEVOICEPLAYER}
- DVMSGID_DELETEVOICEPLAYER = (DVMSGID_BASE+$0002);
- {$EXTERNALSYM DVMSGID_DELETEVOICEPLAYER}
- DVMSGID_SESSIONLOST = (DVMSGID_BASE+$0003);
- {$EXTERNALSYM DVMSGID_SESSIONLOST}
- DVMSGID_PLAYERVOICESTART = (DVMSGID_BASE+$0004);
- {$EXTERNALSYM DVMSGID_PLAYERVOICESTART}
- DVMSGID_PLAYERVOICESTOP = (DVMSGID_BASE+$0005);
- {$EXTERNALSYM DVMSGID_PLAYERVOICESTOP}
- DVMSGID_RECORDSTART = (DVMSGID_BASE+$0006);
- {$EXTERNALSYM DVMSGID_RECORDSTART}
- DVMSGID_RECORDSTOP = (DVMSGID_BASE+$0007);
- {$EXTERNALSYM DVMSGID_RECORDSTOP}
- DVMSGID_CONNECTRESULT = (DVMSGID_BASE+$0008);
- {$EXTERNALSYM DVMSGID_CONNECTRESULT}
- DVMSGID_DISCONNECTRESULT = (DVMSGID_BASE+$0009);
- {$EXTERNALSYM DVMSGID_DISCONNECTRESULT}
- DVMSGID_INPUTLEVEL = (DVMSGID_BASE+$000A);
- {$EXTERNALSYM DVMSGID_INPUTLEVEL}
- DVMSGID_OUTPUTLEVEL = (DVMSGID_BASE+$000B);
- {$EXTERNALSYM DVMSGID_OUTPUTLEVEL}
- DVMSGID_HOSTMIGRATED = (DVMSGID_BASE+$000C);
- {$EXTERNALSYM DVMSGID_HOSTMIGRATED}
- DVMSGID_SETTARGETS = (DVMSGID_BASE+$000D);
- {$EXTERNALSYM DVMSGID_SETTARGETS}
- DVMSGID_PLAYEROUTPUTLEVEL = (DVMSGID_BASE+$000E);
- {$EXTERNALSYM DVMSGID_PLAYEROUTPUTLEVEL}
- DVMSGID_LOSTFOCUS = (DVMSGID_BASE+$0010);
- {$EXTERNALSYM DVMSGID_LOSTFOCUS}
- DVMSGID_GAINFOCUS = (DVMSGID_BASE+$0011);
- {$EXTERNALSYM DVMSGID_GAINFOCUS}
- DVMSGID_LOCALHOSTSETUP = (DVMSGID_BASE+$0012);
- {$EXTERNALSYM DVMSGID_LOCALHOSTSETUP}
- DVMSGID_MAXBASE = (DVMSGID_LOCALHOSTSETUP);
- {$EXTERNALSYM DVMSGID_MAXBASE}
- DVMSGID_MINBASE = (DVMSGID_CREATEVOICEPLAYER);
- {$EXTERNALSYM DVMSGID_MINBASE}
- (****************************************************************************
- *
- * DirectPlayVoice Constants
- *
- ****************************************************************************)
- //
- // Buffer Aggresiveness Value Ranges
- //
- DVBUFFERAGGRESSIVENESS_MIN = $00000001;
- {$EXTERNALSYM DVBUFFERAGGRESSIVENESS_MIN}
- DVBUFFERAGGRESSIVENESS_MAX = $00000064;
- {$EXTERNALSYM DVBUFFERAGGRESSIVENESS_MAX}
- DVBUFFERAGGRESSIVENESS_DEFAULT = $00000000;
- {$EXTERNALSYM DVBUFFERAGGRESSIVENESS_DEFAULT}
- //
- // Buffer Quality Value Ranges
- //
- DVBUFFERQUALITY_MIN = $00000001;
- {$EXTERNALSYM DVBUFFERQUALITY_MIN}
- DVBUFFERQUALITY_MAX = $00000064;
- {$EXTERNALSYM DVBUFFERQUALITY_MAX}
- DVBUFFERQUALITY_DEFAULT = $00000000;
- {$EXTERNALSYM DVBUFFERQUALITY_DEFAULT}
- DVID_SYS = 0;
- {$EXTERNALSYM DVID_SYS}
- //
- // Used to identify the session host in client/server
- //
- DVID_SERVERPLAYER = 1;
- {$EXTERNALSYM DVID_SERVERPLAYER}
- //
- // Used to target all players
- //
- DVID_ALLPLAYERS = 0;
- {$EXTERNALSYM DVID_ALLPLAYERS}
- //
- // Used to identify the main buffer
- //
- DVID_REMAINING = $FFFFFFFF;
- {$EXTERNALSYM DVID_REMAINING}
- //
- // Input level range
- //
- DVINPUTLEVEL_MIN = $00000000;
- {$EXTERNALSYM DVINPUTLEVEL_MIN}
- DVINPUTLEVEL_MAX = $00000063; // 99 decimal
- {$EXTERNALSYM DVINPUTLEVEL_MAX}
- DVNOTIFYPERIOD_MINPERIOD = 20;
- {$EXTERNALSYM DVNOTIFYPERIOD_MINPERIOD}
- DVPLAYBACKVOLUME_DEFAULT = DSBVOLUME_MAX;
- {$EXTERNALSYM DVPLAYBACKVOLUME_DEFAULT}
- DVRECORDVOLUME_LAST = $00000001;
- {$EXTERNALSYM DVRECORDVOLUME_LAST}
- //
- // Use the default value
- //
- DVTHRESHOLD_DEFAULT = $FFFFFFFF;
- {$EXTERNALSYM DVTHRESHOLD_DEFAULT}
- //
- // Threshold Ranges
- //
- DVTHRESHOLD_MIN = $00000000;
- {$EXTERNALSYM DVTHRESHOLD_MIN}
- DVTHRESHOLD_MAX = $00000063; // 99 decimal
- {$EXTERNALSYM DVTHRESHOLD_MAX}
- //
- // Threshold field is not used
- //
- DVTHRESHOLD_UNUSED = $FFFFFFFE;
- {$EXTERNALSYM DVTHRESHOLD_UNUSED}
- //
- // Session Types
- //
- DVSESSIONTYPE_PEER = $00000001;
- {$EXTERNALSYM DVSESSIONTYPE_PEER}
- DVSESSIONTYPE_MIXING = $00000002;
- {$EXTERNALSYM DVSESSIONTYPE_MIXING}
- DVSESSIONTYPE_FORWARDING = $00000003;
- {$EXTERNALSYM DVSESSIONTYPE_FORWARDING}
- DVSESSIONTYPE_ECHO = $00000004;
- {$EXTERNALSYM DVSESSIONTYPE_ECHO}
- (****************************************************************************
- *
- * DirectPlayVoice Flags
- *
- ****************************************************************************)
- //
- // Enable automatic adjustment of the recording volume
- //
- DVCLIENTCONFIG_AUTORECORDVOLUME = $00000008;
- {$EXTERNALSYM DVCLIENTCONFIG_AUTORECORDVOLUME}
- //
- // Enable automatic voice activation
- //
- DVCLIENTCONFIG_AUTOVOICEACTIVATED = $00000020;
- {$EXTERNALSYM DVCLIENTCONFIG_AUTOVOICEACTIVATED}
- //
- // Enable echo suppression
- //
- DVCLIENTCONFIG_ECHOSUPPRESSION = $08000000;
- {$EXTERNALSYM DVCLIENTCONFIG_ECHOSUPPRESSION}
- //
- // Voice Activation manual mode
- //
- DVCLIENTCONFIG_MANUALVOICEACTIVATED = $00000004;
- {$EXTERNALSYM DVCLIENTCONFIG_MANUALVOICEACTIVATED}
- //
- // Only playback voices that have buffers created for them
- //
- DVCLIENTCONFIG_MUTEGLOBAL = $00000010;
- {$EXTERNALSYM DVCLIENTCONFIG_MUTEGLOBAL}
- //
- // Mute the playback
- //
- DVCLIENTCONFIG_PLAYBACKMUTE = $00000002;
- {$EXTERNALSYM DVCLIENTCONFIG_PLAYBACKMUTE}
- //
- // Mute the recording
- //
- DVCLIENTCONFIG_RECORDMUTE = $00000001;
- {$EXTERNALSYM DVCLIENTCONFIG_RECORDMUTE}
- //
- // Complete the operation before returning
- //
- DVFLAGS_SYNC = $00000001;
- {$EXTERNALSYM DVFLAGS_SYNC}
- //
- // Just check to see if wizard has been run, and if so what it's results were
- //
- DVFLAGS_QUERYONLY = $00000002;
- {$EXTERNALSYM DVFLAGS_QUERYONLY}
- //
- // Shutdown the voice session without migrating the host
- //
- DVFLAGS_NOHOSTMIGRATE = $00000008;
- {$EXTERNALSYM DVFLAGS_NOHOSTMIGRATE}
- //
- // Allow the back button to be enabled in the wizard
- //
- DVFLAGS_ALLOWBACK = $00000010;
- {$EXTERNALSYM DVFLAGS_ALLOWBACK}
- //
- // Disable host migration in the voice session
- //
- DVSESSION_NOHOSTMIGRATION = $00000001;
- {$EXTERNALSYM DVSESSION_NOHOSTMIGRATION}
- //
- // Server controlled targetting
- //
- DVSESSION_SERVERCONTROLTARGET = $00000002;
- {$EXTERNALSYM DVSESSION_SERVERCONTROLTARGET}
- //
- // Use DirectSound Normal Mode instead of priority
- //
- DVSOUNDCONFIG_NORMALMODE = $00000001;
- {$EXTERNALSYM DVSOUNDCONFIG_NORMALMODE}
- //
- // Automatically select the microphone
- //
- DVSOUNDCONFIG_AUTOSELECT = $00000002;
- {$EXTERNALSYM DVSOUNDCONFIG_AUTOSELECT}
- //
- // Run in half duplex mode
- //
- DVSOUNDCONFIG_HALFDUPLEX = $00000004;
- {$EXTERNALSYM DVSOUNDCONFIG_HALFDUPLEX}
- //
- // No volume controls are available for the recording device
- //
- DVSOUNDCONFIG_NORECVOLAVAILABLE = $00000010;
- {$EXTERNALSYM DVSOUNDCONFIG_NORECVOLAVAILABLE}
- //
- // Disable capture sharing
- //
- DVSOUNDCONFIG_NOFOCUS = $20000000;
- {$EXTERNALSYM DVSOUNDCONFIG_NOFOCUS}
- //
- // Set system conversion quality to high
- //
- DVSOUNDCONFIG_SETCONVERSIONQUALITY = $00000008;
- {$EXTERNALSYM DVSOUNDCONFIG_SETCONVERSIONQUALITY}
- //
- // Enable strict focus mode
- //
- DVSOUNDCONFIG_STRICTFOCUS = $40000000;
- {$EXTERNALSYM DVSOUNDCONFIG_STRICTFOCUS}
- //
- // Player is in half duplex mode
- //
- DVPLAYERCAPS_HALFDUPLEX = $00000001;
- {$EXTERNALSYM DVPLAYERCAPS_HALFDUPLEX}
- //
- // Specifies that player is the local player
- //
- DVPLAYERCAPS_LOCAL = $00000002;
- {$EXTERNALSYM DVPLAYERCAPS_LOCAL}
- type
- (****************************************************************************
- *
- * DirectPlayVoice Interface Pointer definitions
- *
- ****************************************************************************)
- IDirectPlayVoiceServer = interface;
- (****************************************************************************
- *
- * DirectPlayVoice Structures (Non-Message)
- *
- ****************************************************************************)
- //
- // DirectPlayVoice Caps
- // (GetCaps / SetCaps)
- //
- PDVCaps = ^TDVCaps;
- DVCAPS = packed record
- dwSize: DWORD; // Size of this structure
- dwFlags: DWORD; // Caps flags
- end;
- {$EXTERNALSYM DVCAPS}
- TDVCaps = DVCAPS;
- //
- // DirectPlayVoice Client Configuration
- // (Connect / GetClientConfig)
- //
- PDVClientConfig = ^TDVClientConfig;
- DVCLIENTCONFIG = packed record
- dwSize: DWORD; // Size of this structure
- dwFlags: DWORD; // Flags for client config (DVCLIENTCONFIG_...)
- lRecordVolume: Longint; // Recording volume
- lPlaybackVolume: Longint; // Playback volume
- dwThreshold: DWORD; // Voice Activation Threshold
- dwBufferQuality: DWORD; // Buffer quality
- dwBufferAggressiveness: DWORD; // Buffer aggressiveness
- dwNotifyPeriod: DWORD; // Period of notification messages (ms)
- end;
- {$EXTERNALSYM DVCLIENTCONFIG}
- TDVClientConfig = DVCLIENTCONFIG;
- //
- // DirectPlayVoice Compression Type Information
- // (GetCompressionTypes)
- //
- PDVCompressionInfo = ^TDVCompressionInfo;
- DVCOMPRESSIONINFO = packed record
- dwSize: DWORD; // Size of this structure
- guidType: TGUID; // GUID that identifies this compression type
- lpszName: PWideChar; // String name of this compression type
- lpszDescription: PWideChar; // Description for this compression type
- dwFlags: DWORD; // Flags for this compression type
- dwMaxBitsPerSecond: DWORD; // Maximum # of bit/s this compression type uses
- end;
- {$EXTERNALSYM DVCOMPRESSIONINFO}
- TDVCompressionInfo = DVCOMPRESSIONINFO;
- //
- // DirectPlayVoice Session Description
- // (Host / GetSessionDesc)
- //
- PDVSessionDesc = ^TDVSessionDesc;
- DVSESSIONDESC = packed record
- dwSize: DWORD; // Size of this structure
- dwFlags: DWORD; // Session flags (DVSESSION_...)
- dwSessionType: DWORD; // Session type (DVSESSIONTYPE_...)
- guidCT: TGUID; // Compression Type to use
- dwBufferQuality: DWORD; // Buffer quality
- dwBufferAggressiveness: DWORD; // Buffer aggresiveness
- end;
- {$EXTERNALSYM DVSESSIONDESC}
- TDVSessionDesc = DVSESSIONDESC;
- //
- // DirectPlayVoice Client Sound Device Configuration
- // (Connect / GetSoundDeviceConfig)
- //
- PDVSoundDeviceConfig = ^TDVSoundDeviceConfig;
- DVSOUNDDEVICECONFIG = packed record
- dwSize: DWORD; // Size of this structure
- dwFlags: DWORD; // Flags for sound config (DVSOUNDCONFIG_...)
- guidPlaybackDevice: TGUID; // GUID of the playback device to use
- lpdsPlaybackDevice: IDirectSound; // DirectSound Object to use (optional)
- guidCaptureDevice: TGUID; // GUID of the capture device to use
- lpdsCaptureDevice: IDirectSoundCapture; // DirectSoundCapture Object to use (optional)
- hwndAppWindow: HWND; // HWND of your application's top-level window
- lpdsMainBuffer: IDirectSoundBuffer; // DirectSoundBuffer to use for playback (optional)
- dwMainBufferFlags: DWORD; // Flags to pass to Play() on the main buffer
- dwMainBufferPriority: DWORD; // Priority to set when calling Play() on the main buffer
- end;
- {$EXTERNALSYM DVSOUNDDEVICECONFIG}
- TDVSoundDeviceConfig = DVSOUNDDEVICECONFIG;
- (****************************************************************************
- *
- * DirectPlayVoice message handler call back structures
- *
- ****************************************************************************)
- //
- // Result of the Connect() call. (If it wasn't called Async)
- // (DVMSGID_CONNECTRESULT)
- //
- PDVMsgConnectResult = ^TDVMsgConnectResult;
- DVMSG_CONNECTRESULT = packed record
- dwSize: DWORD; // Size of this structure
- hrResult: HRESULT; // Result of the Connect() call
- end;
- {$EXTERNALSYM DVMSG_CONNECTRESULT}
- TDVMsgConnectResult = DVMSG_CONNECTRESULT;
- //
- // A new player has entered the voice session
- // (DVMSGID_CREATEVOICEPLAYER)
- //
- PDVMsgCreateVoicePlayer = ^TDVMsgCreateVoicePlayer;
- DVMSG_CREATEVOICEPLAYER = packed record
- dwSize: DWORD; // Size of this structure
- dvidPlayer: TDVID; // DVID of the player who joined
- dwFlags: DWORD; // Player flags (DVPLAYERCAPS_...)
- pvPlayerContext: Pointer; // Context value for this player (user set)
- end;
- {$EXTERNALSYM DVMSG_CREATEVOICEPLAYER}
- TDVMsgCreateVoicePlayer = DVMSG_CREATEVOICEPLAYER;
- //
- // A player has left the voice session
- // (DVMSGID_DELETEVOICEPLAYER)
- //
- PDVMsgDeleteVoicePlayer = ^TDVMsgDeleteVoicePlayer;
- DVMSG_DELETEVOICEPLAYER = packed record
- dwSize: DWORD; // Size of this structure
- dvidPlayer: TDVID; // DVID of the player who left
- pvPlayerContext: Pointer; // Context value for the player
- end;
- {$EXTERNALSYM DVMSG_DELETEVOICEPLAYER}
- TDVMsgDeleteVoicePlayer = DVMSG_DELETEVOICEPLAYER;
- //
- // Result of the Disconnect() call. (If it wasn't called Async)
- // (DVMSGID_DISCONNECTRESULT)
- //
- PDVMsgDisconnectResult = ^TDVMsgDisconnectResult;
- DVMSG_DISCONNECTRESULT = packed record
- dwSize: DWORD; // Size of this structure
- hrResult: HRESULT; // Result of the Disconnect() call
- end;
- {$EXTERNALSYM DVMSG_DISCONNECTRESULT}
- TDVMsgDisconnectResult = DVMSG_DISCONNECTRESULT;
- //
- // The voice session host has migrated.
- // (DVMSGID_HOSTMIGRATED)
- //
- PDVMsgHostMigrated = ^TDVMsgHostMigrated;
- DVMSG_HOSTMIGRATED = packed record
- dwSize: DWORD; // Size of this structure
- dvidNewHostID: TDVID; // DVID of the player who is now the host
- pdvServerInterface: IDirectPlayVoiceServer; // Pointer to the new host object (if local player is now host)
- end;
- {$EXTERNALSYM DVMSG_HOSTMIGRATED}
- TDVMsgHostMigrated = DVMSG_HOSTMIGRATED;
- //
- // The current input level / recording volume on the local machine
- // (DVMSGID_INPUTLEVEL)
- //
- PDVMsgInputlevel = ^TDVMsgInputlevel;
- DVMSG_INPUTLEVEL = packed record
- dwSize: DWORD; // Size of this structure
- dwPeakLevel: DWORD; // Current peak level of the audio
- lRecordVolume: Longint; // Current recording volume
- pvLocalPlayerContext: Pointer; // Context value for the local player
- end;
- {$EXTERNALSYM DVMSG_INPUTLEVEL}
- TDVMsgInputlevel = DVMSG_INPUTLEVEL;
- //
- // The local client is about to become the new host
- // (DVMSGID_LOCALHOSTSETUP)
- //
- PDVMsgLocalHostSetup = ^TDVMsgLocalHostSetup;
- DVMSG_LOCALHOSTSETUP = packed record
- dwSize: DWORD; // Size of this structure
- pvContext: Pointer; // Context value to be passed to Initialize() of new host object
- pMessageHandler: TDVMessageHandler; // Message handler to be used by new host object
- end;
- {$EXTERNALSYM DVMSG_LOCALHOSTSETUP}
- TDVMsgLocalHostSetup = DVMSG_LOCALHOSTSETUP;
- //
- // The current output level for the combined output of all incoming streams.
- // (DVMSGID_OUTPUTLEVEL)
- //
- PDVMsgOutputLevel = ^TDVMsgOutputLevel;
- DVMSG_OUTPUTLEVEL = packed record
- dwSize: DWORD; // Size of this structure
- dwPeakLevel: DWORD; // Current peak level of the output
- lOutputVolume: Longint; // Current playback volume
- pvLocalPlayerContext: Pointer; // Context value for the local player
- end;
- {$EXTERNALSYM DVMSG_OUTPUTLEVEL}
- TDVMsgOutputLevel = DVMSG_OUTPUTLEVEL;
- //
- // The current peak level of an individual player's incoming audio stream as it is
- // being played back.
- // (DVMSGID_PLAYEROUTPUTLEVEL)
- //
- PDVMsgPlayerOutputLevel = ^TDVMsgPlayerOutputLevel;
- DVMSG_PLAYEROUTPUTLEVEL = packed record
- dwSize: DWORD; // Size of this structure
- dvidSourcePlayerID: TDVID; // DVID of the player
- dwPeakLevel: DWORD; // Peak level of the player's stream
- pvPlayerContext: Pointer; // Context value for the player
- end;
- {$EXTERNALSYM DVMSG_PLAYEROUTPUTLEVEL}
- TDVMsgPlayerOutputLevel = DVMSG_PLAYEROUTPUTLEVEL;
- //
- // An audio stream from the specified player has started playing back on the local client.
- // (DVMSGID_PLAYERVOICESTART).
- //
- PDVMsgPlayerVoiceStart = ^TDVMsgPlayerVoiceStart;
- DVMSG_PLAYERVOICESTART = packed record
- dwSize: DWORD; // Size of this structure
- dvidSourcePlayerID: TDVID; // DVID of the Player
- pvPlayerContext: Pointer; // Context value for this player
- end;
- {$EXTERNALSYM DVMSG_PLAYERVOICESTART}
- TDVMsgPlayerVoiceStart = DVMSG_PLAYERVOICESTART;
- //
- // The audio stream from the specified player has stopped playing back on the local client.
- // (DVMSGID_PLAYERVOICESTOP)
- //
- PDVMsgPlayerVoiceStop = ^TDVMsgPlayerVoiceStop;
- DVMSG_PLAYERVOICESTOP = packed record
- dwSize: DWORD; // Size of this structure
- dvidSourcePlayerID: DVID; // DVID of the player
- pvPlayerContext: Pointer; // Context value for this player
- end;
- {$EXTERNALSYM DVMSG_PLAYERVOICESTOP}
- TDVMsgPlayerVoiceStop = DVMSG_PLAYERVOICESTOP;
- //
- // Transmission has started on the local machine
- // (DVMSGID_RECORDSTART)
- //
- PDVMsgRecordStart = ^TDVMsgRecordStart;
- DVMSG_RECORDSTART = packed record
- dwSize: DWORD; // Size of this structure
- dwPeakLevel: DWORD; // Peak level that caused transmission to start
- pvLocalPlayerContext: Pointer; // Context value for the local player
- end;
- {$EXTERNALSYM DVMSG_RECORDSTART}
- TDVMsgRecordStart = DVMSG_RECORDSTART;
- //
- // Transmission has stopped on the local machine
- // (DVMSGID_RECORDSTOP)
- //
- PDVMsgRecordStop = ^TDVMsgRecordStop;
- DVMSG_RECORDSTOP = packed record
- dwSize: DWORD; // Size of this structure
- dwPeakLevel: DWORD; // Peak level that caused transmission to stop
- pvLocalPlayerContext: Pointer; // Context value for the local player
- end;
- {$EXTERNALSYM DVMSG_RECORDSTOP}
- TDVMsgRecordStop = DVMSG_RECORDSTOP;
- //
- // The voice session has been lost
- // (DVMSGID_SESSIONLOST)
- //
- PDVMsgSessionLost = ^TDVMsgSessionLost;
- DVMSG_SESSIONLOST = packed record
- dwSize: DWORD; // Size of this structure
- hrResult: HRESULT; // Reason the session was disconnected
- end;
- {$EXTERNALSYM DVMSG_SESSIONLOST}
- TDVMsgSessionLost = DVMSG_SESSIONLOST;
- //
- // The target list has been updated for the local client
- // (DVMSGID_SETTARGETS)
- //
- PDVMsgSetTargets = ^TDVMsgSetTargets;
- DVMSG_SETTARGETS = packed record
- dwSize: DWORD; // Size of this structure
- dwNumTargets: DWORD; // # of targets
- pdvidTargets: PDVID; // An array of DVIDs specifying the current targets
- end;
- {$EXTERNALSYM DVMSG_SETTARGETS}
- TDVMsgSetTargets = DVMSG_SETTARGETS;
- (****************************************************************************
- *
- * DirectPlayVoice Functions
- *
- ****************************************************************************)
- (*
- *
- * This function is no longer supported. It is recommended that CoCreateInstance be used to create
- * DirectPlay voice objects.
- *
- * extern HRESULT WINAPI DirectPlayVoiceCreate( const GUID * pcIID, void **ppvInterface, IUnknown *pUnknown);
- *
- *)
- (****************************************************************************
- *
- * DirectPlay8 Application Interfaces
- *
- ****************************************************************************)
- {$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectPlayVoiceClient);'}
- {$EXTERNALSYM IDirectPlayVoiceClient}
- IDirectPlayVoiceClient = interface(IUnknown)
- ['{1dfdc8ea-bcf7-41d6-b295-ab64b3b23306}']
- (*** IDirectPlayVoiceClient methods ***)
- function Initialize(pVoid: IUnknown; pMessageHandler: TDVMessageHandler;
- pUserContext: Pointer; pdwMessageMask: PDWORD; dwMessageMaskElements: DWORD): HResult; stdcall;
- function Connect(const pSoundDeviceConfig: TDVSoundDeviceConfig;
- const pdvClientConfig: TDVClientConfig; dwFlags: DWORD): HResult; stdcall;
- function Disconnect(dwFlags: DWORD): HResult; stdcall;
- function GetSessionDesc(out pvSessionDesc: TDVSessionDesc): HResult; stdcall;
- function GetClientConfig(out pClientConfig: TDVClientConfig): HResult; stdcall;
- function SetClientConfig(const pClientConfig: TDVClientConfig): HResult; stdcall;
- function GetCaps(out pDVCaps: TDVCaps): HResult; stdcall;
- function GetCompressionTypes(pData: Pointer; var pdwDataSize: DWORD;
- out pdwNumElements: DWORD; dwFlags: DWORD): HResult; stdcall;
- function SetTransmitTargets(pdvIDTargets: PDVID; dwNumTargets, dwFlags: DWORD): HResult; stdcall;
- function GetTransmitTargets(pdvIDTargets: PDVID; var dwNumTargets: DWORD; dwFlags: DWORD): HResult; stdcall;
- function Create3DSoundBuffer(dvID: TDVID; lpdsSourceBuffer: IDirectSoundBuffer;
- dwPriority, dwFlags: DWORD; out lpUserBuffer: IDirectSound3DBuffer): HResult; stdcall;
- function Delete3DSoundBuffer(dvID: TDVID; lpUserBuffer: IDirectSound3DBuffer): HResult; stdcall;
- function SetNotifyMask(pdwMessageMask: PDWORD; dwMessageMaskElements: DWORD): HResult; stdcall;
- function GetSoundDeviceConfig(pSoundDeviceConfig: PDVSoundDeviceConfig; var pdwSize: DWORD): HResult; stdcall;
- end;
- {$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectPlayVoiceServer);'}
- {$EXTERNALSYM IDirectPlayVoiceServer}
- IDirectPlayVoiceServer = interface(IUnknown)
- ['{faa1c173-0468-43b6-8a2a-ea8a4f2076c9}']
- (*** IDirectPlayVoiceServer methods ***)
- function Initialize(pVoid: IUnknown; pMessageHandler: TDVMessageHandler;
- pUserContext: Pointer; pdwMessageMask: PDWORD; dwMessageMaskElements: DWORD): HResult; stdcall;
- function StartSession(const pSessionDesc: TDVSessionDesc; dwFlags: DWORD): HResult; stdcall;
- function StopSession(dwFlags: DWORD): HResult; stdcall;
- function GetSessionDesc(out pvSessionDesc: TDVSessionDesc): HResult; stdcall;
- function SetSessionDesc(const pvSessionDesc: TDVSessionDesc): HResult; stdcall;
- function GetCaps(out pDVCaps: TDVCaps): HResult; stdcall;
- function GetCompressionTypes(pData: Pointer; var pdwDataSize: DWORD;
- out pdwNumElements: DWORD; dwFlags: DWORD): HResult; stdcall;
- function SetTransmitTargets(dvSource: TDVID; pdvIDTargets: PDVID;
- dwNumTargets, dwFlags: DWORD): HResult; stdcall;
- function GetTransmitTargets(dvSource: TDVID; pdvIDTargets: PDVID;
- var dwNumTargets: DWORD; dwFlags: DWORD): HResult; stdcall;
- function SetNotifyMask(pdwMessageMask: PDWORD; dwMessageMaskElements: DWORD): HResult; stdcall;
- end;
- {$HPPEMIT 'DECLARE_DINTERFACE_TYPE(IDirectPlayVoiceTest);'}
- {$EXTERNALSYM IDirectPlayVoiceTest}
- IDirectPlayVoiceTest = interface(IUnknown)
- ['{d26af734-208b-41da-8224-e0ce79810be1}']
- (*** IDirectPlayVoiceTest methods ***)
- function CheckAudioSetup(pguidPlaybackDevice, pguidCaptureDevice: PGUID;
- hwndParent: hWND; dwFlags: DWORD): HResult; stdcall;
- end;
- (****************************************************************************
- *
- * DirectPlayVoice Interface IIDs
- *
- ****************************************************************************)
- // {1DFDC8EA-BCF7-41d6-B295-AB64B3B23306}
- IID_IDirectPlayVoiceClient = IDirectPlayVoiceClient;
- {$EXTERNALSYM IID_IDirectPlayVoiceClient}
- // {FAA1C173-0468-43b6-8A2A-EA8A4F2076C9}
- IID_IDirectPlayVoiceServer = IDirectPlayVoiceServer;
- {$EXTERNALSYM IID_IDirectPlayVoiceServer}
- // {D26AF734-208B-41da-8224-E0CE79810BE1}
- IID_IDirectPlayVoiceTest = IDirectPlayVoiceTest;
- {$EXTERNALSYM IID_IDirectPlayVoiceTest}
- (****************************************************************************
- *
- * DIRECTPLAYVOICE ERRORS
- *
- * Errors are represented by negative values and cannot be combined.
- *
- ****************************************************************************)
- const
- _FACDPV = $15;
- {$EXTERNALSYM _FACDPV}
- //#define MAKE_DVHRESULT( code ) MAKE_HRESULT( 1, _FACDPV, code )
- (*
- #define DV_FULLDUPLEX MAKE_HRESULT( 0, _FACDPV, 0x0005 )
- #define DV_HALFDUPLEX MAKE_HRESULT( 0, _FACDPV, 0x000A )
- #define DV_PENDING MAKE_HRESULT( 0, _FACDPV, 0x0010 )
- #define DVERR_BUFFERTOOSMALL MAKE_DVHRESULT( 0x001E )
- #define DVERR_EXCEPTION MAKE_DVHRESULT( 0x004A )
- #define DVERR_GENERIC E_FAIL
- #define DVERR_INVALIDFLAGS MAKE_DVHRESULT( 0x0078 )
- #define DVERR_INVALIDOBJECT MAKE_DVHRESULT( 0x0082 )
- #define DVERR_INVALIDPARAM E_INVALIDARG
- #define DVERR_INVALIDPLAYER MAKE_DVHRESULT( 0x0087 )
- #define DVERR_INVALIDGROUP MAKE_DVHRESULT( 0x0091 )
- #define DVERR_INVALIDHANDLE MAKE_DVHRESULT( 0x0096 )
- #define DVERR_OUTOFMEMORY E_OUTOFMEMORY
- #define DVERR_PENDING DV_PENDING
- #define DVERR_NOTSUPPORTED E_NOTIMPL
- #define DVERR_NOINTERFACE E_NOINTERFACE
- #define DVERR_SESSIONLOST MAKE_DVHRESULT( 0x012C )
- #define DVERR_NOVOICESESSION MAKE_DVHRESULT( 0x012E )
- #define DVERR_CONNECTIONLOST MAKE_DVHRESULT( 0x0168 )
- #define DVERR_NOTINITIALIZED MAKE_DVHRESULT( 0x0169 )
- #define DVERR_CONNECTED MAKE_DVHRESULT( 0x016A )
- #define DVERR_NOTCONNECTED MAKE_DVHRESULT( 0x016B )
- #define DVERR_CONNECTABORTING MAKE_DVHRESULT( 0x016E )
- #define DVERR_NOTALLOWED MAKE_DVHRESULT( 0x016F )
- #define DVERR_INVALIDTARGET MAKE_DVHRESULT( 0x0170 )
- #define DVERR_TRANSPORTNOTHOST MAKE_DVHRESULT( 0x0171 )
- #define DVERR_COMPRESSIONNOTSUPPORTED MAKE_DVHRESULT( 0x0172 )
- #define DVERR_ALREADYPENDING MAKE_DVHRESULT( 0x0173 )
- #define DVERR_SOUNDINITFAILURE MAKE_DVHRESULT( 0x0174 )
- #define DVERR_TIMEOUT MAKE_DVHRESULT( 0x0175 )
- #define DVERR_CONNECTABORTED MAKE_DVHRESULT( 0x0176 )
- #define DVERR_NO3DSOUND MAKE_DVHRESULT( 0x0177 )
- #define DVERR_ALREADYBUFFERED MAKE_DVHRESULT( 0x0178 )
- #define DVERR_NOTBUFFERED MAKE_DVHRESULT( 0x0179 )
- #define DVERR_HOSTING MAKE_DVHRESULT( 0x017A )
- #define DVERR_NOTHOSTING MAKE_DVHRESULT( 0x017B )
- #define DVERR_INVALIDDEVICE MAKE_DVHRESULT( 0x017C )
- #define DVERR_RECORDSYSTEMERROR MAKE_DVHRESULT( 0x017D )
- #define DVERR_PLAYBACKSYSTEMERROR MAKE_DVHRESULT( 0x017E )
- #define DVERR_SENDERROR MAKE_DVHRESULT( 0x017F )
- #define DVERR_USERCANCEL MAKE_DVHRESULT( 0x0180 )
- #define DVERR_RUNSETUP MAKE_DVHRESULT( 0x0183 )
- #define DVERR_INCOMPATIBLEVERSION MAKE_DVHRESULT( 0x0184 )
- #define DVERR_INITIALIZED MAKE_DVHRESULT( 0x0187 )
- #define DVERR_INVALIDPOINTER E_POINTER
- #define DVERR_NOTRANSPORT MAKE_DVHRESULT( 0x0188 )
- #define DVERR_NOCALLBACK MAKE_DVHRESULT( 0x0189 )
- #define DVERR_TRANSPORTNOTINIT MAKE_DVHRESULT( 0x018A )
- #define DVERR_TRANSPORTNOSESSION MAKE_DVHRESULT( 0x018B )
- #define DVERR_TRANSPORTNOPLAYER MAKE_DVHRESULT( 0x018C )
- #define DVERR_USERBACK MAKE_DVHRESULT( 0x018D )
- #define DVERR_NORECVOLAVAILABLE MAKE_DVHRESULT( 0x018E )
- #define DVERR_INVALIDBUFFER MAKE_DVHRESULT( 0x018F )
- #define DVERR_LOCKEDBUFFER MAKE_DVHRESULT( 0x0190 )
- *)
- MAKE_DVHRESULT_R = (1 shl 31) or (_FACDPV shl 16);
- DV_OK = S_OK;
- {$EXTERNALSYM DV_OK}
- DV_FULLDUPLEX = (0 shl 31) or (_FACDPV shl 16) or $0005;
- {$EXTERNALSYM DV_FULLDUPLEX}
- DV_HALFDUPLEX = (0 shl 31) or (_FACDPV shl 16) or $000A;
- {$EXTERNALSYM DV_HALFDUPLEX}
- DV_PENDING = (0 shl 31) or (_FACDPV shl 16) or $0010;
- {$EXTERNALSYM DV_PENDING}
- DVERR_BUFFERTOOSMALL = MAKE_DVHRESULT_R + $001E ;
- {$EXTERNALSYM DVERR_BUFFERTOOSMALL}
- DVERR_EXCEPTION = MAKE_DVHRESULT_R + $004A ;
- {$EXTERNALSYM DVERR_EXCEPTION}
- DVERR_GENERIC = E_FAIL;
- {$EXTERNALSYM DVERR_GENERIC}
- DVERR_INVALIDFLAGS = MAKE_DVHRESULT_R + $0078 ;
- {$EXTERNALSYM DVERR_INVALIDFLAGS}
- DVERR_INVALIDOBJECT = MAKE_DVHRESULT_R + $0082 ;
- {$EXTERNALSYM DVERR_INVALIDOBJECT}
- DVERR_INVALIDPARAM = E_INVALIDARG;
- {$EXTERNALSYM DVERR_INVALIDPARAM}
- DVERR_INVALIDPLAYER = MAKE_DVHRESULT_R + $0087 ;
- {$EXTERNALSYM DVERR_INVALIDPLAYER}
- DVERR_INVALIDGROUP = MAKE_DVHRESULT_R + $0091 ;
- {$EXTERNALSYM DVERR_INVALIDGROUP}
- DVERR_INVALIDHANDLE = MAKE_DVHRESULT_R + $0096 ;
- {$EXTERNALSYM DVERR_INVALIDHANDLE}
- DVERR_OUTOFMEMORY = E_OUTOFMEMORY;
- {$EXTERNALSYM DVERR_OUTOFMEMORY}
- DVERR_PENDING = DV_PENDING;
- {$EXTERNALSYM DVERR_PENDING}
- DVERR_NOTSUPPORTED = E_NOTIMPL;
- {$EXTERNALSYM DVERR_NOTSUPPORTED}
- DVERR_NOINTERFACE = E_NOINTERFACE;
- {$EXTERNALSYM DVERR_NOINTERFACE}
- DVERR_SESSIONLOST = MAKE_DVHRESULT_R + $012C ;
- {$EXTERNALSYM DVERR_SESSIONLOST}
- DVERR_NOVOICESESSION = MAKE_DVHRESULT_R + $012E ;
- {$EXTERNALSYM DVERR_NOVOICESESSION}
- DVERR_CONNECTIONLOST = MAKE_DVHRESULT_R + $0168 ;
- {$EXTERNALSYM DVERR_CONNECTIONLOST}
- DVERR_NOTINITIALIZED = MAKE_DVHRESULT_R + $0169 ;
- {$EXTERNALSYM DVERR_NOTINITIALIZED}
- DVERR_CONNECTED = MAKE_DVHRESULT_R + $016A ;
- {$EXTERNALSYM DVERR_CONNECTED}
- DVERR_NOTCONNECTED = MAKE_DVHRESULT_R + $016B ;
- {$EXTERNALSYM DVERR_NOTCONNECTED}
- DVERR_CONNECTABORTING = MAKE_DVHRESULT_R + $016E ;
- {$EXTERNALSYM DVERR_CONNECTABORTING}
- DVERR_NOTALLOWED = MAKE_DVHRESULT_R + $016F ;
- {$EXTERNALSYM DVERR_NOTALLOWED}
- DVERR_INVALIDTARGET = MAKE_DVHRESULT_R + $0170 ;
- {$EXTERNALSYM DVERR_INVALIDTARGET}
- DVERR_TRANSPORTNOTHOST = MAKE_DVHRESULT_R + $0171 ;
- {$EXTERNALSYM DVERR_TRANSPORTNOTHOST}
- DVERR_COMPRESSIONNOTSUPPORTED = MAKE_DVHRESULT_R + $0172 ;
- {$EXTERNALSYM DVERR_COMPRESSIONNOTSUPPORTED}
- DVERR_ALREADYPENDING = MAKE_DVHRESULT_R + $0173 ;
- {$EXTERNALSYM DVERR_ALREADYPENDING}
- DVERR_SOUNDINITFAILURE = MAKE_DVHRESULT_R + $0174 ;
- {$EXTERNALSYM DVERR_SOUNDINITFAILURE}
- DVERR_TIMEOUT = MAKE_DVHRESULT_R + $0175 ;
- {$EXTERNALSYM DVERR_TIMEOUT}
- DVERR_CONNECTABORTED = MAKE_DVHRESULT_R + $0176 ;
- {$EXTERNALSYM DVERR_CONNECTABORTED}
- DVERR_NO3DSOUND = MAKE_DVHRESULT_R + $0177 ;
- {$EXTERNALSYM DVERR_NO3DSOUND}
- DVERR_ALREADYBUFFERED = MAKE_DVHRESULT_R + $0178 ;
- {$EXTERNALSYM DVERR_ALREADYBUFFERED}
- DVERR_NOTBUFFERED = MAKE_DVHRESULT_R + $0179 ;
- {$EXTERNALSYM DVERR_NOTBUFFERED}
- DVERR_HOSTING = MAKE_DVHRESULT_R + $017A ;
- {$EXTERNALSYM DVERR_HOSTING}
- DVERR_NOTHOSTING = MAKE_DVHRESULT_R + $017B ;
- {$EXTERNALSYM DVERR_NOTHOSTING}
- DVERR_INVALIDDEVICE = MAKE_DVHRESULT_R + $017C ;
- {$EXTERNALSYM DVERR_INVALIDDEVICE}
- DVERR_RECORDSYSTEMERROR = MAKE_DVHRESULT_R + $017D ;
- {$EXTERNALSYM DVERR_RECORDSYSTEMERROR}
- DVERR_PLAYBACKSYSTEMERROR = MAKE_DVHRESULT_R + $017E ;
- {$EXTERNALSYM DVERR_PLAYBACKSYSTEMERROR}
- DVERR_SENDERROR = MAKE_DVHRESULT_R + $017F ;
- {$EXTERNALSYM DVERR_SENDERROR}
- DVERR_USERCANCEL = MAKE_DVHRESULT_R + $0180 ;
- {$EXTERNALSYM DVERR_USERCANCEL}
- DVERR_RUNSETUP = MAKE_DVHRESULT_R + $0183 ;
- {$EXTERNALSYM DVERR_RUNSETUP}
- DVERR_INCOMPATIBLEVERSION = MAKE_DVHRESULT_R + $0184 ;
- {$EXTERNALSYM DVERR_INCOMPATIBLEVERSION}
- DVERR_INITIALIZED = MAKE_DVHRESULT_R + $0187 ;
- {$EXTERNALSYM DVERR_INITIALIZED}
- DVERR_INVALIDPOINTER = E_POINTER;
- {$EXTERNALSYM DVERR_INVALIDPOINTER}
- DVERR_NOTRANSPORT = MAKE_DVHRESULT_R + $0188 ;
- {$EXTERNALSYM DVERR_NOTRANSPORT}
- DVERR_NOCALLBACK = MAKE_DVHRESULT_R + $0189 ;
- {$EXTERNALSYM DVERR_NOCALLBACK}
- DVERR_TRANSPORTNOTINIT = MAKE_DVHRESULT_R + $018A ;
- {$EXTERNALSYM DVERR_TRANSPORTNOTINIT}
- DVERR_TRANSPORTNOSESSION = MAKE_DVHRESULT_R + $018B ;
- {$EXTERNALSYM DVERR_TRANSPORTNOSESSION}
- DVERR_TRANSPORTNOPLAYER = MAKE_DVHRESULT_R + $018C ;
- {$EXTERNALSYM DVERR_TRANSPORTNOPLAYER}
- DVERR_USERBACK = MAKE_DVHRESULT_R + $018D ;
- {$EXTERNALSYM DVERR_USERBACK}
- DVERR_NORECVOLAVAILABLE = MAKE_DVHRESULT_R + $018E ;
- {$EXTERNALSYM DVERR_NORECVOLAVAILABLE}
- DVERR_INVALIDBUFFER = MAKE_DVHRESULT_R + $018F ;
- {$EXTERNALSYM DVERR_INVALIDBUFFER}
- DVERR_LOCKEDBUFFER = MAKE_DVHRESULT_R + $0190 ;
- {$EXTERNALSYM DVERR_LOCKEDBUFFER}
- ///////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////
- // Compatibility types for non-Borland compliant translations of DirectPlay8 //
- ///////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////
- type
- PDvmsg_Connectresult = PDVMsgConnectResult;
- TDvmsg_Connectresult = TDVMsgConnectResult;
- PDvmsg_Createvoiceplayer = PDVMsgCreateVoicePlayer;
- TDvmsg_Createvoiceplayer = TDVMsgCreateVoicePlayer;
- PDvmsg_Deletevoiceplayer = PDVMsgDeleteVoicePlayer;
- TDvmsg_Deletevoiceplayer = TDVMsgDeleteVoicePlayer;
- PDvmsg_Disconnectresult = PDVMsgDisconnectResult;
- TDvmsg_Disconnectresult = TDVMsgDisconnectResult;
- PDvmsg_Hostmigrated = PDVMsgHostMigrated;
- TDvmsg_Hostmigrated = TDVMsgHostMigrated;
- PDvmsg_Inputlevel = PDVMsgInputlevel;
- TDvmsg_Inputlevel = TDVMsgInputlevel;
- PDvmsg_Localhostsetup = PDVMsgLocalHostSetup;
- TDvmsg_Localhostsetup = TDVMsgLocalHostSetup;
- PDvmsg_Outputlevel = PDVMsgOutputLevel;
- TDvmsg_Outputlevel = TDVMsgOutputLevel;
- PDvmsg_Playeroutputlevel = PDVMsgPlayerOutputLevel;
- TDvmsg_Playeroutputlevel = TDVMsgPlayerOutputLevel;
- PDvmsg_Playervoicestart = PDVMsgPlayerVoiceStart;
- TDvmsg_Playervoicestart = TDVMsgPlayerVoiceStart;
- PDvmsg_Playervoicestop = PDVMsgPlayerVoiceStop;
- TDvmsg_Playervoicestop = TDVMsgPlayerVoiceStop;
- PDvmsg_Recordstart = PDVMsgRecordStart;
- TDvmsg_Recordstart = TDVMsgRecordStart;
- PDvmsg_Recordstop = PDVMsgRecordStop;
- TDvmsg_Recordstop = TDVMsgRecordStop;
- PDvmsg_Sessionlost = PDVMsgSessionLost;
- TDvmsg_Sessionlost = TDVMsgSessionLost;
- PDvmsg_Settargets = PDVMsgSetTargets;
- TDvmsg_Settargets = TDVMsgSetTargets;
- PDPN_Application_Desc = PDPNApplicationDesc;
- TDPN_Application_Desc = TDPNApplicationDesc;
- PDPN_Caps = PDPNCaps;
- TDPN_Caps = TDPNCaps;
- PDPN_Caps_Ex = PDPNCapsEx;
- TDPN_Caps_Ex = TDPNCapsEx;
- PDPN_Connection_Info = PDPNConnectionInfo;
- TDPN_Connection_Info = TDPNConnectionInfo;
- PDPN_Group_Info = PDPNGroupInfo;
- TDPN_Group_Info = TDPNGroupInfo;
- PDPN_Player_Info = PDPNPlayerInfo;
- TDPN_Player_Info = TDPNPlayerInfo;
- PDPN_Security_Credentials = PDPNSecurityCredentials;
- TDPN_Security_Credentials = TDPNSecurityCredentials;
- PDPN_Security_Desc = PDPNSecurityDesc;
- TDPN_Security_Desc = TDPNSecurityDesc;
- PDPN_Service_Provider_Info = PDPNServiceProviderInfo;
- TDPN_Service_Provider_Info = TDPNServiceProviderInfo;
- PDPN_Sp_Caps = PDPNSpCaps;
- TDPN_Sp_Caps = TDPNSpCaps;
- PDPNMsg_Add_Player_To_Group = PDPNMsgAddPlayerToGroup;
- TDPNMsg_Add_Player_To_Group = TDPNMsgAddPlayerToGroup;
- PDPNMsg_Async_Op_Complete = PDPNMsgAsyncOpComplete;
- TDPNMsg_Async_Op_Complete = TDPNMsgAsyncOpComplete;
- PDPNMsg_Client_Info = PDPNMsgClientInfo;
- TDPNMsg_Client_Info = TDPNMsgClientInfo;
- PDPNMsg_Connect_Complete = PDPNMsgConnectComplete;
- TDPNMsg_Connect_Complete = TDPNMsgConnectComplete;
- PDPNMsg_Create_Group = PDPNMsgCreateGroup;
- TDPNMsg_Create_Group = TDPNMsgCreateGroup;
- PDPNMsg_Create_Player = PDPNMsgCreatePlayer;
- TDPNMsg_Create_Player = TDPNMsgCreatePlayer;
- PDPNMsg_Destroy_Group = PDPNMsgDestroyGroup;
- TDPNMsg_Destroy_Group = TDPNMsgDestroyGroup;
- PDPNMsg_Destroy_Player = PDPNMsgDestroyPlayer;
- TDPNMsg_Destroy_Player = TDPNMsgDestroyPlayer;
- PDPNMsg_Enum_Hosts_Query = PDPNMsgEnumHostsQuery;
- TDPNMsg_Enum_Hosts_Query = TDPNMsgEnumHostsQuery;
- PDPNMsg_Enum_Hosts_Response = PDPNMsgEnumHostsResponse;
- TDPNMsg_Enum_Hosts_Response = TDPNMsgEnumHostsResponse;
- PDPNMsg_Group_Info = PDPNMsgGroupInfo;
- TDPNMsg_Group_Info = TDPNMsgGroupInfo;
- PDPNMsg_Host_Migrate = PDPNMsgHostMigrate;
- TDPNMsg_Host_Migrate = TDPNMsgHostMigrate;
- PDPNMsg_Indicate_Connect = PDPNMsgIndicateConnect;
- TDPNMsg_Indicate_Connect = TDPNMsgIndicateConnect;
- PDPNMsg_Indicated_Connect_Aborted = PDPNMsgIndicatedConnectAborted;
- TDPNMsg_Indicated_Connect_Aborted = TDPNMsgIndicatedConnectAborted;
- PDPNMsg_Peer_Info = PDPNMsgPeerInfo;
- TDPNMsg_Peer_Info = TDPNMsgPeerInfo;
- PDPNMsg_Receive = PDPNMsgReceive;
- TDPNMsg_Receive = TDPNMsgReceive;
- PDPNMsg_Remove_Player_From_Group = PDPNMsgRemovePlayerFromGroup;
- TDPNMsg_Remove_Player_From_Group = TDPNMsgRemovePlayerFromGroup;
- PDPNMsg_Return_Buffer = PDPNMsgReturnBuffer;
- TDPNMsg_Return_Buffer = TDPNMsgReturnBuffer;
- PDPNMsg_Send_Complete = PDPNMsgSendComplete;
- TDPNMsg_Send_Complete = TDPNMsgSendComplete;
- PDPNMsg_Server_Info = PDPNMsgServerInfo;
- TDPNMsg_Server_Info = TDPNMsgServerInfo;
- PDPNMsg_Terminate_Session = PDPNMsgTerminateSession;
- TDPNMsg_Terminate_Session = TDPNMsgTerminateSession;
- PDPNMsg_Create_Thread = PDPNMsgCreateThread;
- TDPNMsg_Create_Thread = TDPNMsgCreateThread;
- PDPNMsg_Destroy_Thread = PDPNMsgDestroyThread;
- TDPNMsg_Destroy_Thread = TDPNMsgDestroyThread;
- PDPNMsg_Nat_Resolver_Query = PDPNMsgNatResolverQuery;
- TDPNMsg_Nat_Resolver_Query = TDPNMsgNatResolverQuery;
- implementation
- // #define MAKE_DPNHRESULT( code ) MAKE_HRESULT( 1, _DPN_FACILITY_CODE, ( code + _DPNHRESULT_BASE ) )
- function MAKE_DPNHRESULT(Code: DWORD): DWORD;
- begin
- Result:= DWord((1 shl 31) or (_DPN_FACILITY_CODE shl 16)) or (Code + _DPNHRESULT_BASE);
- end;
- end.
|