jwarpcdce.pas 103 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423
  1. {******************************************************************************}
  2. { }
  3. { RPC DCE API interface Unit for Object Pascal }
  4. { }
  5. { Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft }
  6. { Corporation. All Rights Reserved. }
  7. { }
  8. { The original file is: rpcdce.h, released June 2000. The original Pascal }
  9. { code is: Rpcce.pas, released December 2000. The initial developer of the }
  10. { Pascal code is Marcel van Brakel (brakelm att chello dott nl). }
  11. { }
  12. { Portions created by Marcel van Brakel are Copyright (C) 1999-2001 }
  13. { Marcel van Brakel. All Rights Reserved. }
  14. { }
  15. { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI) }
  16. { }
  17. { You may retrieve the latest version of this file at the Project JEDI }
  18. { APILIB home page, located at http://jedi-apilib.sourceforge.net }
  19. { }
  20. { The contents of this file are used with permission, subject to the Mozilla }
  21. { Public License Version 1.1 (the "License"); you may not use this file except }
  22. { in compliance with the License. You may obtain a copy of the License at }
  23. { http://www.mozilla.org/MPL/MPL-1.1.html }
  24. { }
  25. { Software distributed under the License is distributed on an "AS IS" basis, }
  26. { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
  27. { the specific language governing rights and limitations under the License. }
  28. { }
  29. { Alternatively, the contents of this file may be used under the terms of the }
  30. { GNU Lesser General Public License (the "LGPL License"), in which case the }
  31. { provisions of the LGPL License are applicable instead of those above. }
  32. { If you wish to allow use of your version of this file only under the terms }
  33. { of the LGPL License and not to allow others to use your version of this file }
  34. { under the MPL, indicate your decision by deleting the provisions above and }
  35. { replace them with the notice and other provisions required by the LGPL }
  36. { License. If you do not delete the provisions above, a recipient may use }
  37. { your version of this file under either the MPL or the LGPL License. }
  38. { }
  39. { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
  40. { }
  41. {******************************************************************************}
  42. unit JwaRpcDce;
  43. {$WEAKPACKAGEUNIT}
  44. {$HPPEMIT ''}
  45. {$HPPEMIT '#include "RpcDce.h"'}
  46. {$HPPEMIT ''}
  47. {$HPPEMIT 'typedef RPC_BINDING_VECTOR *PRPC_BINDING_VECTOR'}
  48. {$HPPEMIT 'typedef UUID_VECTOR *PUUID_VECTOR'}
  49. {$HPPEMIT 'typedef RPC_IF_ID *PRPC_IF_ID'}
  50. {$HPPEMIT 'typedef RPC_PROTSEQ_VECTORA *PRPC_PROTSEQ_VECTORA'}
  51. {$HPPEMIT 'typedef RPC_PROTSEQ_VECTORW *PRPC_PROTSEQ_VECTORW'}
  52. {$HPPEMIT 'typedef RPC_STATS_VECTOR *PRPC_STATS_VECTOR'}
  53. {$HPPEMIT 'typedef RPC_IF_ID_VECTOR *PRPC_IF_ID_VECTOR'}
  54. {$HPPEMIT 'typedef RPC_AUTHZ_HANDLE *PRPC_AUTHZ_HANDLE'}
  55. {$HPPEMIT 'typedef RPC_AUTH_IDENTITY_HANDLE *PRPC_AUTH_IDENTITY_HANDLE'}
  56. {$HPPEMIT 'typedef RPC_BINDING_HANDLE *PRPC_BINDING_HANDLE'}
  57. {$HPPEMIT 'typedef UUID *PUUID'}
  58. {$HPPEMIT 'typedef UUID *LPUUID'}
  59. {$HPPEMIT ''}
  60. {$I jediapilib.inc}
  61. interface
  62. uses
  63. JwaWinNT, JwaWinType, JwaRpc;
  64. type
  65. RPC_BINDING_HANDLE = I_RPC_HANDLE;
  66. {$EXTERNALSYM RPC_BINDING_HANDLE}
  67. UUID = GUID;
  68. {$EXTERNALSYM UUID}
  69. PRPC_BINDING_HANDLE = ^RPC_BINDING_HANDLE;
  70. {$NODEFINE PRPC_BINDING_HANDLE}
  71. PUUID = ^UUID;
  72. {$NODEFINE PUUID}
  73. LPUUID = ^UUID;
  74. {$NODEFINE LPUUID}
  75. type
  76. PRPC_BINDING_VECTOR = ^RPC_BINDING_VECTOR;
  77. {$NODEFINE PRPC_BINDING_VECTOR}
  78. _RPC_BINDING_VECTOR = record
  79. Count: Cardinal;
  80. BindingH: array [0..0] of RPC_BINDING_HANDLE;
  81. end;
  82. {$EXTERNALSYM _RPC_BINDING_VECTOR}
  83. RPC_BINDING_VECTOR = _RPC_BINDING_VECTOR;
  84. {$EXTERNALSYM RPC_BINDING_VECTOR}
  85. TRpcBindingVector = RPC_BINDING_VECTOR;
  86. PRpcBindingVector = PRPC_BINDING_VECTOR;
  87. PUUID_VECTOR = ^UUID_VECTOR;
  88. {$NODEFINE PUUID_VECTOR}
  89. _UUID_VECTOR = record
  90. Count: Cardinal;
  91. Uuid: array [0..0] of PUUID;
  92. end;
  93. {$EXTERNALSYM _UUID_VECTOR}
  94. UUID_VECTOR = _UUID_VECTOR;
  95. {$EXTERNALSYM UUID_VECTOR}
  96. TUuidVector = UUID_VECTOR;
  97. PUuidVector = ^TUuidVector;
  98. RPC_IF_HANDLE = LPVOID;
  99. {$EXTERNALSYM RPC_IF_HANDLE}
  100. PRPC_IF_ID = ^RPC_IF_ID;
  101. {$NODEFINE PRPC_IF_ID}
  102. _RPC_IF_ID = record
  103. Uuid: UUID;
  104. VersMajor: Word;
  105. VersMinor: Word;
  106. end;
  107. {$EXTERNALSYM _RPC_IF_ID}
  108. RPC_IF_ID = _RPC_IF_ID;
  109. {$EXTERNALSYM RPC_IF_ID}
  110. TRpcIfId = RPC_IF_ID;
  111. PRpcIfId = ^TRpcIfId;
  112. const
  113. RPC_C_BINDING_INFINITE_TIMEOUT = 10;
  114. {$EXTERNALSYM RPC_C_BINDING_INFINITE_TIMEOUT}
  115. RPC_C_BINDING_MIN_TIMEOUT = 0;
  116. {$EXTERNALSYM RPC_C_BINDING_MIN_TIMEOUT}
  117. RPC_C_BINDING_DEFAULT_TIMEOUT = 5;
  118. {$EXTERNALSYM RPC_C_BINDING_DEFAULT_TIMEOUT}
  119. RPC_C_BINDING_MAX_TIMEOUT = 9;
  120. {$EXTERNALSYM RPC_C_BINDING_MAX_TIMEOUT}
  121. RPC_C_CANCEL_INFINITE_TIMEOUT = DWORD(-1);
  122. {$EXTERNALSYM RPC_C_CANCEL_INFINITE_TIMEOUT}
  123. RPC_C_LISTEN_MAX_CALLS_DEFAULT = 1234;
  124. {$EXTERNALSYM RPC_C_LISTEN_MAX_CALLS_DEFAULT}
  125. RPC_C_PROTSEQ_MAX_REQS_DEFAULT = 10;
  126. {$EXTERNALSYM RPC_C_PROTSEQ_MAX_REQS_DEFAULT}
  127. // RPC_POLICY EndpointFlags.
  128. RPC_C_BIND_TO_ALL_NICS = 1;
  129. {$EXTERNALSYM RPC_C_BIND_TO_ALL_NICS}
  130. RPC_C_USE_INTERNET_PORT = $1;
  131. {$EXTERNALSYM RPC_C_USE_INTERNET_PORT}
  132. RPC_C_USE_INTRANET_PORT = $2;
  133. {$EXTERNALSYM RPC_C_USE_INTRANET_PORT}
  134. RPC_C_DONT_FAIL = $4;
  135. {$EXTERNALSYM RPC_C_DONT_FAIL}
  136. // RPC_POLICY EndpointFlags specific to the Falcon/RPC transport:
  137. RPC_C_MQ_TEMPORARY = $0000;
  138. {$EXTERNALSYM RPC_C_MQ_TEMPORARY}
  139. RPC_C_MQ_PERMANENT = $0001;
  140. {$EXTERNALSYM RPC_C_MQ_PERMANENT}
  141. RPC_C_MQ_CLEAR_ON_OPEN = $0002;
  142. {$EXTERNALSYM RPC_C_MQ_CLEAR_ON_OPEN}
  143. RPC_C_MQ_USE_EXISTING_SECURITY = $0004;
  144. {$EXTERNALSYM RPC_C_MQ_USE_EXISTING_SECURITY}
  145. RPC_C_MQ_AUTHN_LEVEL_NONE = $0000;
  146. {$EXTERNALSYM RPC_C_MQ_AUTHN_LEVEL_NONE}
  147. RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY = $0008;
  148. {$EXTERNALSYM RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY}
  149. RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY = $0010;
  150. {$EXTERNALSYM RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY}
  151. // Client: RpcBindingSetOption() values for the Falcon/RPC transport:
  152. RPC_C_OPT_MQ_DELIVERY = 1;
  153. {$EXTERNALSYM RPC_C_OPT_MQ_DELIVERY}
  154. RPC_C_OPT_MQ_PRIORITY = 2;
  155. {$EXTERNALSYM RPC_C_OPT_MQ_PRIORITY}
  156. RPC_C_OPT_MQ_JOURNAL = 3;
  157. {$EXTERNALSYM RPC_C_OPT_MQ_JOURNAL}
  158. RPC_C_OPT_MQ_ACKNOWLEDGE = 4;
  159. {$EXTERNALSYM RPC_C_OPT_MQ_ACKNOWLEDGE}
  160. RPC_C_OPT_MQ_AUTHN_SERVICE = 5;
  161. {$EXTERNALSYM RPC_C_OPT_MQ_AUTHN_SERVICE}
  162. RPC_C_OPT_MQ_AUTHN_LEVEL = 6;
  163. {$EXTERNALSYM RPC_C_OPT_MQ_AUTHN_LEVEL}
  164. RPC_C_OPT_MQ_TIME_TO_REACH_QUEUE = 7;
  165. {$EXTERNALSYM RPC_C_OPT_MQ_TIME_TO_REACH_QUEUE}
  166. RPC_C_OPT_MQ_TIME_TO_BE_RECEIVED = 8;
  167. {$EXTERNALSYM RPC_C_OPT_MQ_TIME_TO_BE_RECEIVED}
  168. RPC_C_OPT_BINDING_NONCAUSAL = 9;
  169. {$EXTERNALSYM RPC_C_OPT_BINDING_NONCAUSAL}
  170. RPC_C_OPT_SECURITY_CALLBACK = 10;
  171. {$EXTERNALSYM RPC_C_OPT_SECURITY_CALLBACK}
  172. RPC_C_OPT_UNIQUE_BINDING = 11;
  173. {$EXTERNALSYM RPC_C_OPT_UNIQUE_BINDING}
  174. RPC_C_OPT_CALL_TIMEOUT = 12;
  175. {$EXTERNALSYM RPC_C_OPT_CALL_TIMEOUT}
  176. RPC_C_OPT_DONT_LINGER = 13;
  177. {$EXTERNALSYM RPC_C_OPT_DONT_LINGER}
  178. RPC_C_OPT_MAX_OPTIONS = 14;
  179. {$EXTERNALSYM RPC_C_OPT_MAX_OPTIONS}
  180. RPC_C_MQ_EXPRESS = 0; // Client: RPC_C_MQ_DELIVERY.
  181. {$EXTERNALSYM RPC_C_MQ_EXPRESS}
  182. RPC_C_MQ_RECOVERABLE = 1;
  183. {$EXTERNALSYM RPC_C_MQ_RECOVERABLE}
  184. RPC_C_MQ_JOURNAL_NONE = 0; // Client: RPC_C_MQ_JOURNAL.
  185. {$EXTERNALSYM RPC_C_MQ_JOURNAL_NONE}
  186. RPC_C_MQ_JOURNAL_DEADLETTER = 1;
  187. {$EXTERNALSYM RPC_C_MQ_JOURNAL_DEADLETTER}
  188. RPC_C_MQ_JOURNAL_ALWAYS = 2;
  189. {$EXTERNALSYM RPC_C_MQ_JOURNAL_ALWAYS}
  190. // flags for RpcServerInqAuthClientEx
  191. RPC_C_FULL_CERT_CHAIN = $0001;
  192. {$EXTERNALSYM RPC_C_FULL_CERT_CHAIN}
  193. type
  194. PRPC_PROTSEQ_VECTORA = ^RPC_PROTSEQ_VECTORA;
  195. {$NODEFINE PRPC_PROTSEQ_VECTORA}
  196. _RPC_PROTSEQ_VECTORA = record
  197. Count: Cardinal;
  198. Protseq: array [0..0] of PByte
  199. end;
  200. {$EXTERNALSYM _RPC_PROTSEQ_VECTORA}
  201. RPC_PROTSEQ_VECTORA = _RPC_PROTSEQ_VECTORA;
  202. {$EXTERNALSYM RPC_PROTSEQ_VECTORA}
  203. TRpcProtSeqVectorA = RPC_PROTSEQ_VECTORA;
  204. PRpcProtSeqVectorA = PRPC_PROTSEQ_VECTORA;
  205. PRPC_PROTSEQ_VECTORW = ^RPC_PROTSEQ_VECTORW;
  206. {$NODEFINE PRPC_PROTSEQ_VECTORW}
  207. _RPC_PROTSEQ_VECTORW = record
  208. Count: Cardinal;
  209. Protseq: array [0..0] of PWord;
  210. end;
  211. {$EXTERNALSYM _RPC_PROTSEQ_VECTORW}
  212. RPC_PROTSEQ_VECTORW = _RPC_PROTSEQ_VECTORW;
  213. {$EXTERNALSYM RPC_PROTSEQ_VECTORW}
  214. TRpcProtSeqVectorW = RPC_PROTSEQ_VECTORW;
  215. PRpcProtSeqVectorW = PRPC_PROTSEQ_VECTORW;
  216. {$IFDEF UNICODE}
  217. RPC_PROTSEQ_VECTOR = RPC_PROTSEQ_VECTORW;
  218. {$EXTERNALSYM RPC_PROTSEQ_VECTOR}
  219. PRPC_PROTSEQ_VECTOR = PRPC_PROTSEQ_VECTORW;
  220. TRpcProtSeqVector = TRpcProtSeqVectorW;
  221. PRpcProtSeqVector = PRpcProtSeqVectorW;
  222. {$ELSE}
  223. RPC_PROTSEQ_VECTOR = RPC_PROTSEQ_VECTORA;
  224. {$EXTERNALSYM RPC_PROTSEQ_VECTOR}
  225. PRPC_PROTSEQ_VECTOR = PRPC_PROTSEQ_VECTORA;
  226. TRpcProtSeqVector = TRpcProtSeqVectorA;
  227. PRpcProtSeqVector = PRpcProtSeqVectorA;
  228. {$ENDIF UNICODE}
  229. PRPC_POLICY = ^RPC_POLICY;
  230. {$EXTERNALSYM PRPC_POLICY}
  231. _RPC_POLICY = record
  232. Length: Cardinal;
  233. EndpointFlags: Cardinal;
  234. NICFlags: Cardinal;
  235. end;
  236. {$EXTERNALSYM _RPC_POLICY}
  237. RPC_POLICY = _RPC_POLICY;
  238. {$EXTERNALSYM RPC_POLICY}
  239. TRpcPolicy = RPC_POLICY;
  240. PRpcPolicy = PRPC_POLICY;
  241. RPC_OBJECT_INQ_FN = procedure(const ObjectUuid: UUID; var TypeUuid: UUID;
  242. var Status: RPC_STATUS); stdcall;
  243. {$EXTERNALSYM RPC_OBJECT_INQ_FN}
  244. TRpcObjectInqFn = RPC_OBJECT_INQ_FN;
  245. RPC_IF_CALLBACK_FN = function(InterfaceUuid: RPC_IF_HANDLE; Context: Pointer): RPC_STATUS; stdcall;
  246. {$EXTERNALSYM RPC_IF_CALLBACK_FN}
  247. TRpcIfCallbackFn = RPC_IF_CALLBACK_FN;
  248. RPC_SECURITY_CALLBACK_FN = procedure(Context: Pointer); stdcall;
  249. {$EXTERNALSYM RPC_SECURITY_CALLBACK_FN}
  250. TRpcSecurityCallbackFn = RPC_SECURITY_CALLBACK_FN;
  251. PRPC_STATS_VECTOR = ^RPC_STATS_VECTOR;
  252. {$NODEFINE PRPC_STATS_VECTOR}
  253. RPC_STATS_VECTOR = record
  254. Count: Cardinal;
  255. Stats: array [0..0] of Cardinal;
  256. end;
  257. {$EXTERNALSYM RPC_STATS_VECTOR}
  258. TRpcStatsVector = RPC_STATS_VECTOR;
  259. PRpcStatsVector = PRPC_STATS_VECTOR;
  260. const
  261. RPC_C_STATS_CALLS_IN = 0;
  262. {$EXTERNALSYM RPC_C_STATS_CALLS_IN}
  263. RPC_C_STATS_CALLS_OUT = 1;
  264. {$EXTERNALSYM RPC_C_STATS_CALLS_OUT}
  265. RPC_C_STATS_PKTS_IN = 2;
  266. {$EXTERNALSYM RPC_C_STATS_PKTS_IN}
  267. RPC_C_STATS_PKTS_OUT = 3;
  268. {$EXTERNALSYM RPC_C_STATS_PKTS_OUT}
  269. type
  270. PRPC_IF_ID_VECTOR = ^RPC_IF_ID_VECTOR;
  271. {$NODEFINE RPC_IF_ID_VECTOR}
  272. RPC_IF_ID_VECTOR = record
  273. Count: Cardinal;
  274. IfId: array [0..0] of PRpcIfId;
  275. end;
  276. {$EXTERNALSYM RPC_IF_ID_VECTOR}
  277. TRpcIfIdVector = RPC_IF_ID_VECTOR;
  278. PRpcIfIdVector = PRPC_IF_ID_VECTOR;
  279. function RpcBindingCopy(SourceBinding: RPC_BINDING_HANDLE;
  280. var DestinationBinding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  281. {$EXTERNALSYM RpcBindingCopy}
  282. function RpcBindingFree(var Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  283. {$EXTERNALSYM RpcBindingFree}
  284. function RpcBindingSetOption(hBinding: RPC_BINDING_HANDLE; option: Cardinal;
  285. optionValue: ULONG_PTR): RPC_STATUS; stdcall;
  286. {$EXTERNALSYM RpcBindingSetOption}
  287. function RpcBindingInqOption(hBinding: RPC_BINDING_HANDLE; option: Cardinal;
  288. var pOptionValue: ULONG_PTR): RPC_STATUS; stdcall;
  289. {$EXTERNALSYM RpcBindingInqOption}
  290. function RpcBindingFromStringBindingA(StringBinding: PChar;
  291. var Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  292. {$EXTERNALSYM RpcBindingFromStringBindingA}
  293. function RpcBindingFromStringBindingW(StringBinding: PWideChar;
  294. var Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  295. {$EXTERNALSYM RpcBindingFromStringBindingW}
  296. function RpcBindingFromStringBinding(StringBinding: PTSTR;
  297. var Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  298. {$EXTERNALSYM RpcBindingFromStringBinding}
  299. function RpcSsGetContextBinding(ContextHandle: Pointer; var Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  300. {$EXTERNALSYM RpcSsGetContextBinding}
  301. function RpcBindingInqObject(Binding: RPC_BINDING_HANDLE; var ObjectUuid: UUID): RPC_STATUS; stdcall;
  302. {$EXTERNALSYM RpcBindingInqObject}
  303. function RpcBindingReset(Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  304. {$EXTERNALSYM RpcBindingReset}
  305. // RpcBindingServerFromClient : UNSUPPORTED
  306. // RpcBindingSetAuthInfo
  307. function RpcBindingSetObject(Binding: RPC_BINDING_HANDLE; const ObjectUuid: UUID): RPC_STATUS; stdcall;
  308. {$EXTERNALSYM RpcBindingSetObject}
  309. function RpcMgmtInqDefaultProtectLevel(AuthnSvc: Cardinal; var AuthnLevel: Cardinal): RPC_STATUS; stdcall;
  310. {$EXTERNALSYM RpcMgmtInqDefaultProtectLevel}
  311. function RpcBindingToStringBindingA(Binding: RPC_BINDING_HANDLE;
  312. var StringBinding: PChar): RPC_STATUS; stdcall;
  313. {$EXTERNALSYM RpcBindingToStringBindingA}
  314. function RpcBindingToStringBindingW(Binding: RPC_BINDING_HANDLE;
  315. var StringBinding: PWideChar): RPC_STATUS; stdcall;
  316. {$EXTERNALSYM RpcBindingToStringBindingW}
  317. function RpcBindingToStringBinding(Binding: RPC_BINDING_HANDLE;
  318. var StringBinding: PTSTR): RPC_STATUS; stdcall;
  319. {$EXTERNALSYM RpcBindingToStringBinding}
  320. function RpcBindingVectorFree(var BindingVector: PRPC_BINDING_VECTOR): RPC_STATUS; stdcall;
  321. {$EXTERNALSYM RpcBindingVectorFree}
  322. function RpcStringBindingComposeA(ObjUuid, Protseq, NetworkAddr, Endpoint,
  323. Options: PChar; var StringBinding: PChar): RPC_STATUS; stdcall;
  324. {$EXTERNALSYM RpcStringBindingComposeA}
  325. function RpcStringBindingComposeW(ObjUuid, Protseq, NetworkAddr, Endpoint,
  326. Options: PWideChar; var StringBinding: PWideChar): RPC_STATUS; stdcall;
  327. {$EXTERNALSYM RpcStringBindingComposeW}
  328. function RpcStringBindingCompose(ObjUuid, Protseq, NetworkAddr, Endpoint,
  329. Options: PTSTR; var StringBinding: PTSTR): RPC_STATUS; stdcall;
  330. {$EXTERNALSYM RpcStringBindingCompose}
  331. function RpcStringBindingParseA(StringBinding: PChar; ObjUuid, Protseq,
  332. NetworkAddr, Endpoint, NetworkOptions: PPChar): RPC_STATUS; stdcall;
  333. {$EXTERNALSYM RpcStringBindingParseA}
  334. function RpcStringBindingParseW(StringBinding: PWideChar; ObjUuid, Protseq,
  335. NetworkAddr, Endpoint, NetworkOptions: PPWideChar): RPC_STATUS; stdcall;
  336. {$EXTERNALSYM RpcStringBindingParseW}
  337. function RpcStringBindingParse(StringBinding: PTSTR; ObjUuid, Protseq,
  338. NetworkAddr, Endpoint, NetworkOptions: PPTSTR): RPC_STATUS; stdcall;
  339. {$EXTERNALSYM RpcStringBindingParse}
  340. function RpcStringFreeA(var S: PChar): RPC_STATUS; stdcall;
  341. {$EXTERNALSYM RpcStringFreeA}
  342. function RpcStringFreeW(var S: PWideChar): RPC_STATUS; stdcall;
  343. {$EXTERNALSYM RpcStringFreeW}
  344. function RpcStringFree(var S: PTSTR): RPC_STATUS; stdcall;
  345. {$EXTERNALSYM RpcStringFree}
  346. function RpcIfInqId(RpcIfHandle: RPC_IF_HANDLE; var RpcIfId: RPC_IF_ID): RPC_STATUS; stdcall;
  347. {$EXTERNALSYM RpcIfInqId}
  348. function RpcNetworkIsProtseqValidA(Protseq: PChar): RPC_STATUS; stdcall;
  349. {$EXTERNALSYM RpcNetworkIsProtseqValidA}
  350. function RpcNetworkIsProtseqValidW(Protseq: PWideChar): RPC_STATUS; stdcall;
  351. {$EXTERNALSYM RpcNetworkIsProtseqValidW}
  352. function RpcMgmtInqComTimeout(Binding: RPC_BINDING_HANDLE; var Timeout: Cardinal): RPC_STATUS; stdcall;
  353. {$EXTERNALSYM RpcMgmtInqComTimeout}
  354. function RpcMgmtSetComTimeout(Binding: RPC_BINDING_HANDLE; Timeout: Cardinal): RPC_STATUS; stdcall;
  355. {$EXTERNALSYM RpcMgmtSetComTimeout}
  356. function RpcMgmtSetCancelTimeout(Timeout: Longint): RPC_STATUS; stdcall;
  357. {$EXTERNALSYM RpcMgmtSetCancelTimeout}
  358. function RpcNetworkInqProtseqsA(var ProtseqVector: PRPC_PROTSEQ_VECTORA): RPC_STATUS; stdcall;
  359. {$EXTERNALSYM RpcNetworkInqProtseqsA}
  360. function RpcNetworkInqProtseqsW(var ProtseqVector: PRPC_PROTSEQ_VECTORW): RPC_STATUS; stdcall;
  361. {$EXTERNALSYM RpcNetworkInqProtseqsW}
  362. function RpcNetworkInqProtseqs(var ProtseqVector: PRPC_PROTSEQ_VECTOR): RPC_STATUS; stdcall;
  363. {$EXTERNALSYM RpcNetworkInqProtseqs}
  364. function RpcObjectInqType(const ObjUuid: UUID; TypeUuid: PUUID): RPC_STATUS; stdcall;
  365. {$EXTERNALSYM RpcObjectInqType}
  366. function RpcObjectSetInqFn(InquiryFn: RPC_OBJECT_INQ_FN): RPC_STATUS; stdcall;
  367. {$EXTERNALSYM RpcObjectSetInqFn}
  368. function RpcObjectSetType(const ObjUuid: UUID; TypeUuid: PUUID): RPC_STATUS; stdcall;
  369. {$EXTERNALSYM RpcObjectSetType}
  370. function RpcProtseqVectorFreeA(var ProtseqVector: PRPC_PROTSEQ_VECTORA): RPC_STATUS; stdcall;
  371. {$EXTERNALSYM RpcProtseqVectorFreeA}
  372. function RpcProtseqVectorFreeW(var ProtseqVector: PRPC_PROTSEQ_VECTORW): RPC_STATUS; stdcall;
  373. {$EXTERNALSYM RpcProtseqVectorFreeW}
  374. function RpcProtseqVectorFree(var ProtseqVector: PRPC_PROTSEQ_VECTOR): RPC_STATUS; stdcall;
  375. {$EXTERNALSYM RpcProtseqVectorFree}
  376. function RpcServerInqBindings(var BindingVector: PRPC_BINDING_VECTOR): RPC_STATUS; stdcall;
  377. {$EXTERNALSYM RpcServerInqBindings}
  378. function RpcServerInqIf(IfSpec: RPC_IF_HANDLE; MgrTypeUuid: PUUID;
  379. MgrEpv: Pointer): RPC_STATUS; stdcall;
  380. {$EXTERNALSYM RpcServerInqIf}
  381. function RpcServerListen(MinimumCallThreads, MaxCalls, DontWait: Cardinal): RPC_STATUS; stdcall;
  382. {$EXTERNALSYM RpcServerListen}
  383. function RpcServerRegisterIf(IfSpec: RPC_IF_HANDLE; MgrTypeUuid: PUUID;
  384. MgrEpv: Pointer): RPC_STATUS; stdcall;
  385. {$EXTERNALSYM RpcServerRegisterIf}
  386. function RpcServerRegisterIfEx(IfSpec: RPC_IF_HANDLE; MgrTypeUuid: PUUID;
  387. MgrEpv: Pointer; Flags, MaxCalls: Cardinal; IfCallback: RPC_IF_CALLBACK_FN): RPC_STATUS; stdcall;
  388. {$EXTERNALSYM RpcServerRegisterIfEx}
  389. function RpcServerRegisterIf2(IfSpec: RPC_IF_HANDLE; MgrTypeUuid: PUUID;
  390. MgrEpv: Pointer; Flags, MaxCalls, MaxRpcSize: Cardinal;
  391. IfCallbackFn: RPC_IF_CALLBACK_FN): RPC_STATUS; stdcall;
  392. {$EXTERNALSYM RpcServerRegisterIf2}
  393. function RpcServerUnregisterIf(IfSpec: RPC_IF_HANDLE; MgrTypeUuid: PUUID;
  394. WaitForCallsToComplete: Cardinal): RPC_STATUS; stdcall;
  395. {$EXTERNALSYM RpcServerUnregisterIf}
  396. function RpcServerUnregisterIfEx(IfSpec: RPC_IF_HANDLE; MgrTypeUuid: PUUID;
  397. RundownContextHandles: Integer): RPC_STATUS; stdcall;
  398. {$EXTERNALSYM RpcServerUnregisterIfEx}
  399. function RpcServerUseAllProtseqs(MaxCalls: Cardinal; SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  400. {$EXTERNALSYM RpcServerUseAllProtseqs}
  401. function RpcServerUseAllProtseqsEx(MaxCalls: Cardinal; SecurityDescriptor: Pointer;
  402. Policy: PRPC_POLICY): RPC_STATUS; stdcall;
  403. {$EXTERNALSYM RpcServerUseAllProtseqsEx}
  404. function RpcServerUseAllProtseqsIf(MaxCalls: Cardinal; IfSpec: RPC_IF_HANDLE;
  405. SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  406. {$EXTERNALSYM RpcServerUseAllProtseqsIf}
  407. function RpcServerUseAllProtseqsIfEx(MaxCalls: Cardinal; IfSpec: RPC_IF_HANDLE;
  408. SecurityDescriptor: Pointer; Policy: PRPC_POLICY): RPC_STATUS; stdcall;
  409. {$EXTERNALSYM RpcServerUseAllProtseqsIfEx}
  410. function RpcServerUseProtseqA(Protseq: PChar; MaxCalls: Cardinal;
  411. SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  412. {$EXTERNALSYM RpcServerUseProtseqA}
  413. function RpcServerUseProtseqW(Protseq: PWideChar; MaxCalls: Cardinal;
  414. SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  415. {$EXTERNALSYM RpcServerUseProtseqW}
  416. function RpcServerUseProtseq(Protseq: PTSTR; MaxCalls: Cardinal;
  417. SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  418. {$EXTERNALSYM RpcServerUseProtseq}
  419. function RpcServerUseProtseqExA(Protseq: PChar; MaxCalls: Cardinal;
  420. SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  421. {$EXTERNALSYM RpcServerUseProtseqExA}
  422. function RpcServerUseProtseqExW(Protseq: PWideChar; MaxCalls: Cardinal;
  423. SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  424. {$EXTERNALSYM RpcServerUseProtseqExW}
  425. function RpcServerUseProtseqEx(Protseq: PTSTR; MaxCalls: Cardinal;
  426. SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  427. {$EXTERNALSYM RpcServerUseProtseqEx}
  428. function RpcServerUseProtseqEpA(Protseq: PChar; MaxCalls: Cardinal;
  429. Endpoint: PChar; SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  430. {$EXTERNALSYM RpcServerUseProtseqEpA}
  431. function RpcServerUseProtseqEpW(Protseq: PWideChar; MaxCalls: Cardinal;
  432. Endpoint: PWideChar; SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  433. {$EXTERNALSYM RpcServerUseProtseqEpW}
  434. function RpcServerUseProtseqEp(Protseq: PTSTR; MaxCalls: Cardinal;
  435. Endpoint: PTSTR; SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  436. {$EXTERNALSYM RpcServerUseProtseqEp}
  437. function RpcServerUseProtseqEpExA(Protseq: PChar; MaxCalls: Cardinal;
  438. Endpoint: PChar; SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  439. {$EXTERNALSYM RpcServerUseProtseqEpExA}
  440. function RpcServerUseProtseqEpExW(Protseq: PWideChar; MaxCalls: Cardinal;
  441. Endpoint: PWideChar; SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  442. {$EXTERNALSYM RpcServerUseProtseqEpExW}
  443. function RpcServerUseProtseqEpEx(Protseq: PTSTR; MaxCalls: Cardinal;
  444. Endpoint: PTSTR; SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  445. {$EXTERNALSYM RpcServerUseProtseqEpEx}
  446. function RpcServerUseProtseqIfA(Protseq: PChar; MaxCalls: Cardinal;
  447. IfSpec: RPC_IF_HANDLE; SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  448. {$EXTERNALSYM RpcServerUseProtseqIfA}
  449. function RpcServerUseProtseqIfW(Protseq: PWideChar; MaxCalls: Cardinal;
  450. IfSpec: RPC_IF_HANDLE; SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  451. {$EXTERNALSYM RpcServerUseProtseqIfW}
  452. function RpcServerUseProtseqIfExA(Protseq: PChar; MaxCalls: Cardinal;
  453. IfSpec: RPC_IF_HANDLE; SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  454. {$EXTERNALSYM RpcServerUseProtseqIfExA}
  455. function RpcServerUseProtseqIfExW(Protseq: PWideChar; MaxCalls: Cardinal;
  456. IfSpec: RPC_IF_HANDLE; SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  457. {$EXTERNALSYM RpcServerUseProtseqIfExW}
  458. function RpcServerUseProtseqIfEx(Protseq: PTSTR; MaxCalls: Cardinal;
  459. IfSpec: RPC_IF_HANDLE; SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  460. {$EXTERNALSYM RpcServerUseProtseqIfEx}
  461. procedure RpcServerYield; stdcall;
  462. {$EXTERNALSYM RpcServerYield}
  463. function RpcMgmtStatsVectorFree(var StatsVector: PRPC_STATS_VECTOR): RPC_STATUS; stdcall;
  464. {$EXTERNALSYM RpcMgmtStatsVectorFree}
  465. function RpcMgmtInqStats(Binding: RPC_BINDING_HANDLE; var Statistics: PRPC_STATS_VECTOR): RPC_STATUS; stdcall;
  466. {$EXTERNALSYM RpcMgmtInqStats}
  467. function RpcMgmtIsServerListening(Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  468. {$EXTERNALSYM RpcMgmtIsServerListening}
  469. function RpcMgmtStopServerListening(Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  470. {$EXTERNALSYM RpcMgmtStopServerListening}
  471. function RpcMgmtWaitServerListen: RPC_STATUS; stdcall;
  472. {$EXTERNALSYM RpcMgmtWaitServerListen}
  473. function RpcMgmtSetServerStackSize(ThreadStackSize: Cardinal): RPC_STATUS; stdcall;
  474. {$EXTERNALSYM RpcMgmtSetServerStackSize}
  475. procedure RpcSsDontSerializeContext; stdcall;
  476. {$EXTERNALSYM RpcSsDontSerializeContext}
  477. function RpcMgmtEnableIdleCleanup: RPC_STATUS; stdcall;
  478. {$EXTERNALSYM RpcMgmtEnableIdleCleanup}
  479. function RpcMgmtInqIfIds(Binding: RPC_BINDING_HANDLE;
  480. var IfIdVector: PRPC_IF_ID_VECTOR): RPC_STATUS; stdcall;
  481. {$EXTERNALSYM RpcMgmtInqIfIds}
  482. function RpcIfIdVectorFree(var IfIdVector: PRPC_IF_ID_VECTOR): RPC_STATUS; stdcall;
  483. {$EXTERNALSYM RpcIfIdVectorFree}
  484. function RpcMgmtInqServerPrincNameA(Binding: RPC_BINDING_HANDLE;
  485. AuthnSvc: Cardinal; var ServerPrincName: PChar): RPC_STATUS; stdcall;
  486. {$EXTERNALSYM RpcMgmtInqServerPrincNameA}
  487. function RpcMgmtInqServerPrincNameW(Binding: RPC_BINDING_HANDLE;
  488. AuthnSvc: Cardinal; var ServerPrincName: PWideChar): RPC_STATUS; stdcall;
  489. {$EXTERNALSYM RpcMgmtInqServerPrincNameW}
  490. function RpcMgmtInqServerPrincName(Binding: RPC_BINDING_HANDLE;
  491. AuthnSvc: Cardinal; var ServerPrincName: PTSTR): RPC_STATUS; stdcall;
  492. {$EXTERNALSYM RpcMgmtInqServerPrincName}
  493. function RpcServerInqDefaultPrincNameA(AuthnSvc: Cardinal; var PrincName: PChar): RPC_STATUS; stdcall;
  494. {$EXTERNALSYM RpcServerInqDefaultPrincNameA}
  495. function RpcServerInqDefaultPrincNameW(AuthnSvc: Cardinal; var PrincName: PWideChar): RPC_STATUS; stdcall;
  496. {$EXTERNALSYM RpcServerInqDefaultPrincNameW}
  497. function RpcServerInqDefaultPrincName(AuthnSvc: Cardinal; var PrincName: PTSTR): RPC_STATUS; stdcall;
  498. {$EXTERNALSYM RpcServerInqDefaultPrincName}
  499. function RpcEpResolveBinding(Binding: RPC_BINDING_HANDLE; IfSpe: RPC_IF_HANDLE): RPC_STATUS; stdcall;
  500. {$EXTERNALSYM RpcEpResolveBinding}
  501. function RpcNsBindingInqEntryNameA(Binding: RPC_BINDING_HANDLE;
  502. EntryNameSyntax: Cardinal; var EntryName: PChar): RPC_STATUS; stdcall;
  503. {$EXTERNALSYM RpcNsBindingInqEntryNameA}
  504. function RpcNsBindingInqEntryNameW(Binding: RPC_BINDING_HANDLE;
  505. EntryNameSyntax: Cardinal; var EntryName: PWideChar): RPC_STATUS; stdcall;
  506. {$EXTERNALSYM RpcNsBindingInqEntryNameW}
  507. function RpcNsBindingInqEntryName(Binding: RPC_BINDING_HANDLE;
  508. EntryNameSyntax: Cardinal; var EntryName: PTSTR): RPC_STATUS; stdcall;
  509. {$EXTERNALSYM RpcNsBindingInqEntryName}
  510. type
  511. RPC_AUTH_IDENTITY_HANDLE = Pointer;
  512. {$EXTERNALSYM RPC_AUTH_IDENTITY_HANDLE}
  513. RPC_AUTHZ_HANDLE = Pointer;
  514. {$EXTERNALSYM RPC_AUTHZ_HANDLE}
  515. PRPC_AUTHZ_HANDLE = ^RPC_AUTHZ_HANDLE;
  516. {$NODEFINE PRPC_AUTHZ_HANDLE}
  517. PRPC_AUTH_IDENTITY_HANDLE = ^RPC_AUTH_IDENTITY_HANDLE;
  518. {$NODEFINE PRPC_AUTH_IDENTITY_HANDLE}
  519. const
  520. RPC_C_AUTHN_LEVEL_DEFAULT = 0;
  521. {$EXTERNALSYM RPC_C_AUTHN_LEVEL_DEFAULT}
  522. RPC_C_AUTHN_LEVEL_NONE = 1;
  523. {$EXTERNALSYM RPC_C_AUTHN_LEVEL_NONE}
  524. RPC_C_AUTHN_LEVEL_CONNECT = 2;
  525. {$EXTERNALSYM RPC_C_AUTHN_LEVEL_CONNECT}
  526. RPC_C_AUTHN_LEVEL_CALL = 3;
  527. {$EXTERNALSYM RPC_C_AUTHN_LEVEL_CALL}
  528. RPC_C_AUTHN_LEVEL_PKT = 4;
  529. {$EXTERNALSYM RPC_C_AUTHN_LEVEL_PKT}
  530. RPC_C_AUTHN_LEVEL_PKT_INTEGRITY = 5;
  531. {$EXTERNALSYM RPC_C_AUTHN_LEVEL_PKT_INTEGRITY}
  532. RPC_C_AUTHN_LEVEL_PKT_PRIVACY = 6;
  533. {$EXTERNALSYM RPC_C_AUTHN_LEVEL_PKT_PRIVACY}
  534. RPC_C_IMP_LEVEL_DEFAULT = 0;
  535. {$EXTERNALSYM RPC_C_IMP_LEVEL_DEFAULT}
  536. RPC_C_IMP_LEVEL_ANONYMOUS = 1;
  537. {$EXTERNALSYM RPC_C_IMP_LEVEL_ANONYMOUS}
  538. RPC_C_IMP_LEVEL_IDENTIFY = 2;
  539. {$EXTERNALSYM RPC_C_IMP_LEVEL_IDENTIFY}
  540. RPC_C_IMP_LEVEL_IMPERSONATE = 3;
  541. {$EXTERNALSYM RPC_C_IMP_LEVEL_IMPERSONATE}
  542. RPC_C_IMP_LEVEL_DELEGATE = 4;
  543. {$EXTERNALSYM RPC_C_IMP_LEVEL_DELEGATE}
  544. RPC_C_QOS_IDENTITY_STATIC = 0;
  545. {$EXTERNALSYM RPC_C_QOS_IDENTITY_STATIC}
  546. RPC_C_QOS_IDENTITY_DYNAMIC = 1;
  547. {$EXTERNALSYM RPC_C_QOS_IDENTITY_DYNAMIC}
  548. RPC_C_QOS_CAPABILITIES_DEFAULT = $0;
  549. {$EXTERNALSYM RPC_C_QOS_CAPABILITIES_DEFAULT}
  550. RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH = $1;
  551. {$EXTERNALSYM RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH}
  552. RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC = $2;
  553. {$EXTERNALSYM RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC}
  554. RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY = $4;
  555. {$EXTERNALSYM RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY}
  556. RPC_C_QOS_CAPABILITIES_IGNORE_DELEGATE_FAILURE = $8;
  557. {$EXTERNALSYM RPC_C_QOS_CAPABILITIES_IGNORE_DELEGATE_FAILURE}
  558. RPC_C_QOS_CAPABILITIES_LOCAL_MA_HINT = $10;
  559. {$EXTERNALSYM RPC_C_QOS_CAPABILITIES_LOCAL_MA_HINT}
  560. RPC_C_PROTECT_LEVEL_DEFAULT = RPC_C_AUTHN_LEVEL_DEFAULT;
  561. {$EXTERNALSYM RPC_C_PROTECT_LEVEL_DEFAULT}
  562. RPC_C_PROTECT_LEVEL_NONE = RPC_C_AUTHN_LEVEL_NONE;
  563. {$EXTERNALSYM RPC_C_PROTECT_LEVEL_NONE}
  564. RPC_C_PROTECT_LEVEL_CONNECT = RPC_C_AUTHN_LEVEL_CONNECT;
  565. {$EXTERNALSYM RPC_C_PROTECT_LEVEL_CONNECT}
  566. RPC_C_PROTECT_LEVEL_CALL = RPC_C_AUTHN_LEVEL_CALL;
  567. {$EXTERNALSYM RPC_C_PROTECT_LEVEL_CALL}
  568. RPC_C_PROTECT_LEVEL_PKT = RPC_C_AUTHN_LEVEL_PKT;
  569. {$EXTERNALSYM RPC_C_PROTECT_LEVEL_PKT}
  570. RPC_C_PROTECT_LEVEL_PKT_INTEGRITY = RPC_C_AUTHN_LEVEL_PKT_INTEGRITY;
  571. {$EXTERNALSYM RPC_C_PROTECT_LEVEL_PKT_INTEGRITY}
  572. RPC_C_PROTECT_LEVEL_PKT_PRIVACY = RPC_C_AUTHN_LEVEL_PKT_PRIVACY;
  573. {$EXTERNALSYM RPC_C_PROTECT_LEVEL_PKT_PRIVACY}
  574. RPC_C_AUTHN_NONE = 0;
  575. {$EXTERNALSYM RPC_C_AUTHN_NONE}
  576. RPC_C_AUTHN_DCE_PRIVATE = 1;
  577. {$EXTERNALSYM RPC_C_AUTHN_DCE_PRIVATE}
  578. RPC_C_AUTHN_DCE_PUBLIC = 2;
  579. {$EXTERNALSYM RPC_C_AUTHN_DCE_PUBLIC}
  580. RPC_C_AUTHN_DEC_PUBLIC = 4;
  581. {$EXTERNALSYM RPC_C_AUTHN_DEC_PUBLIC}
  582. RPC_C_AUTHN_GSS_NEGOTIATE = 9;
  583. {$EXTERNALSYM RPC_C_AUTHN_GSS_NEGOTIATE}
  584. RPC_C_AUTHN_WINNT = 10;
  585. {$EXTERNALSYM RPC_C_AUTHN_WINNT}
  586. RPC_C_AUTHN_GSS_SCHANNEL = 14;
  587. {$EXTERNALSYM RPC_C_AUTHN_GSS_SCHANNEL}
  588. RPC_C_AUTHN_GSS_KERBEROS = 16;
  589. {$EXTERNALSYM RPC_C_AUTHN_GSS_KERBEROS}
  590. RPC_C_AUTHN_DPA = 17;
  591. {$EXTERNALSYM RPC_C_AUTHN_DPA}
  592. RPC_C_AUTHN_MSN = 18;
  593. {$EXTERNALSYM RPC_C_AUTHN_MSN}
  594. RPC_C_AUTHN_DIGEST = 21;
  595. {$EXTERNALSYM RPC_C_AUTHN_DIGEST}
  596. RPC_C_AUTHN_MQ = 100;
  597. {$EXTERNALSYM RPC_C_AUTHN_MQ}
  598. RPC_C_AUTHN_DEFAULT = DWORD($FFFFFFFF);
  599. {$EXTERNALSYM RPC_C_AUTHN_DEFAULT}
  600. RPC_C_NO_CREDENTIALS = RPC_AUTH_IDENTITY_HANDLE(MAXUINT_PTR);
  601. {$EXTERNALSYM RPC_C_NO_CREDENTIALS}
  602. RPC_C_SECURITY_QOS_VERSION = 1;
  603. {$EXTERNALSYM RPC_C_SECURITY_QOS_VERSION}
  604. RPC_C_SECURITY_QOS_VERSION_1 = 1;
  605. {$EXTERNALSYM RPC_C_SECURITY_QOS_VERSION_1}
  606. type
  607. _RPC_SECURITY_QOS = record
  608. Version: Longint;
  609. Capabilities: Longint;
  610. IdentityTracking: Longint;
  611. ImpersonationType: Longint;
  612. end;
  613. {$EXTERNALSYM _RPC_SECURITY_QOS}
  614. RPC_SECURITY_QOS = _RPC_SECURITY_QOS;
  615. {$EXTERNALSYM RPC_SECURITY_QOS}
  616. PRPC_SECURITY_QOS = ^RPC_SECURITY_QOS;
  617. {$EXTERNALSYM PRPC_SECURITY_QOS}
  618. TRpcSecurityQos = RPC_SECURITY_QOS;
  619. PRpcSecurityQos = PRPC_SECURITY_QOS;
  620. const
  621. SEC_WINNT_AUTH_IDENTITY_ANSI = $1;
  622. {$EXTERNALSYM SEC_WINNT_AUTH_IDENTITY_ANSI}
  623. SEC_WINNT_AUTH_IDENTITY_UNICODE = $2;
  624. {$EXTERNALSYM SEC_WINNT_AUTH_IDENTITY_UNICODE}
  625. type
  626. _SEC_WINNT_AUTH_IDENTITY_W = record
  627. User: PWideChar;
  628. UserLength: Longint;
  629. Domain: PWideChar;
  630. DomainLength: Longint;
  631. Password: PWideChar;
  632. PasswordLength: Longint;
  633. Flags: Longint;
  634. end;
  635. {$EXTERNALSYM _SEC_WINNT_AUTH_IDENTITY_W}
  636. SEC_WINNT_AUTH_IDENTITY_W = _SEC_WINNT_AUTH_IDENTITY_W;
  637. {$EXTERNALSYM SEC_WINNT_AUTH_IDENTITY_W}
  638. PSEC_WINNT_AUTH_IDENTITY_W = ^SEC_WINNT_AUTH_IDENTITY_W;
  639. {$EXTERNALSYM PSEC_WINNT_AUTH_IDENTITY_W}
  640. TSecWinNTAuthIdentityW = SEC_WINNT_AUTH_IDENTITY_W;
  641. PSecWinNTAuthIdentityW = PSEC_WINNT_AUTH_IDENTITY_W;
  642. _SEC_WINNT_AUTH_IDENTITY_A = record
  643. User: PChar;
  644. UserLength: Longint;
  645. Domain: PChar;
  646. DomainLength: Longint;
  647. Password: PChar;
  648. PasswordLength: Longint;
  649. Flags: Longint;
  650. end;
  651. {$EXTERNALSYM _SEC_WINNT_AUTH_IDENTITY_A}
  652. SEC_WINNT_AUTH_IDENTITY_A = _SEC_WINNT_AUTH_IDENTITY_A;
  653. {$EXTERNALSYM SEC_WINNT_AUTH_IDENTITY_A}
  654. PSEC_WINNT_AUTH_IDENTITY_A = ^SEC_WINNT_AUTH_IDENTITY_A;
  655. {$EXTERNALSYM PSEC_WINNT_AUTH_IDENTITY_A}
  656. TSecWinNTAuthIdentityA = SEC_WINNT_AUTH_IDENTITY_A;
  657. PSecWinNTAuthIdentityA = PSEC_WINNT_AUTH_IDENTITY_A;
  658. {$IFDEF UNICODE}
  659. SEC_WINNT_AUTH_IDENTITY = SEC_WINNT_AUTH_IDENTITY_W;
  660. {$EXTERNALSYM SEC_WINNT_AUTH_IDENTITY}
  661. PSEC_WINNT_AUTH_IDENTITY = PSEC_WINNT_AUTH_IDENTITY_W;
  662. {$EXTERNALSYM PSEC_WINNT_AUTH_IDENTITY}
  663. _SEC_WINNT_AUTH_IDENTITY = _SEC_WINNT_AUTH_IDENTITY_W;
  664. {$EXTERNALSYM _SEC_WINNT_AUTH_IDENTITY}
  665. TSecWinNTAuthIdentity = TSecWinNTAuthIdentityW;
  666. PSecWinNTAuthIdentity = PSecWinNTAuthIdentityW;
  667. {$ELSE}
  668. SEC_WINNT_AUTH_IDENTITY = SEC_WINNT_AUTH_IDENTITY_A;
  669. {$EXTERNALSYM SEC_WINNT_AUTH_IDENTITY}
  670. PSEC_WINNT_AUTH_IDENTITY = PSEC_WINNT_AUTH_IDENTITY_A;
  671. {$EXTERNALSYM PSEC_WINNT_AUTH_IDENTITY}
  672. _SEC_WINNT_AUTH_IDENTITY = _SEC_WINNT_AUTH_IDENTITY_A;
  673. {$EXTERNALSYM _SEC_WINNT_AUTH_IDENTITY}
  674. TSecWinNTAuthIdentity = TSecWinNTAuthIdentityA;
  675. PSecWinNTAuthIdentity = PSecWinNTAuthIdentityA;
  676. {$ENDIF UNICODE}
  677. const
  678. RPC_C_SECURITY_QOS_VERSION_2 = 2;
  679. {$EXTERNALSYM RPC_C_SECURITY_QOS_VERSION_2}
  680. RPC_C_AUTHN_INFO_TYPE_HTTP = 1;
  681. {$EXTERNALSYM RPC_C_AUTHN_INFO_TYPE_HTTP}
  682. RPC_C_HTTP_AUTHN_TARGET_SERVER = 1;
  683. {$EXTERNALSYM RPC_C_HTTP_AUTHN_TARGET_SERVER}
  684. RPC_C_HTTP_AUTHN_TARGET_PROXY = 2;
  685. {$EXTERNALSYM RPC_C_HTTP_AUTHN_TARGET_PROXY}
  686. RPC_C_HTTP_AUTHN_SCHEME_BASIC = $00000001;
  687. {$EXTERNALSYM RPC_C_HTTP_AUTHN_SCHEME_BASIC}
  688. RPC_C_HTTP_AUTHN_SCHEME_NTLM = $00000002;
  689. {$EXTERNALSYM RPC_C_HTTP_AUTHN_SCHEME_NTLM}
  690. RPC_C_HTTP_AUTHN_SCHEME_PASSPORT = $00000004;
  691. {$EXTERNALSYM RPC_C_HTTP_AUTHN_SCHEME_PASSPORT}
  692. RPC_C_HTTP_AUTHN_SCHEME_DIGEST = $00000008;
  693. {$EXTERNALSYM RPC_C_HTTP_AUTHN_SCHEME_DIGEST}
  694. RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE = $00000010;
  695. {$EXTERNALSYM RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE}
  696. RPC_C_HTTP_FLAG_USE_SSL = 1;
  697. {$EXTERNALSYM RPC_C_HTTP_FLAG_USE_SSL}
  698. RPC_C_HTTP_FLAG_USE_FIRST_AUTH_SCHEME = 2;
  699. {$EXTERNALSYM RPC_C_HTTP_FLAG_USE_FIRST_AUTH_SCHEME}
  700. type
  701. _RPC_HTTP_TRANSPORT_CREDENTIALS_W = record
  702. TransportCredentials: PSEC_WINNT_AUTH_IDENTITY_W;
  703. Flags: Cardinal;
  704. AuthenticationTarget: Cardinal;
  705. NumberOfAuthnSchemes: Cardinal;
  706. AuthnSchemes: PCardinal;
  707. ServerCertificateSubject: PWord;
  708. end;
  709. {$EXTERNALSYM RPC_HTTP_TRANSPORT_CREDENTIALS_W}
  710. RPC_HTTP_TRANSPORT_CREDENTIALS_W = _RPC_HTTP_TRANSPORT_CREDENTIALS_W;
  711. {$EXTERNALSYM RPC_HTTP_TRANSPORT_CREDENTIALS_W}
  712. PRPC_HTTP_TRANSPORT_CREDENTIALS_W = ^RPC_HTTP_TRANSPORT_CREDENTIALS_W;
  713. {$EXTERNALSYM PRPC_HTTP_TRANSPORT_CREDENTIALS_W}
  714. TRpcHttpTransportCredentialsW = RPC_HTTP_TRANSPORT_CREDENTIALS_W;
  715. PRpcHttpTransportCredentialsW = PRPC_HTTP_TRANSPORT_CREDENTIALS_W;
  716. _RPC_HTTP_TRANSPORT_CREDENTIALS_A = record
  717. TransportCredentials: PSEC_WINNT_AUTH_IDENTITY_A;
  718. Flags: Cardinal;
  719. AuthenticationTarget: Cardinal;
  720. NumberOfAuthnSchemes: Cardinal;
  721. AuthnSchemes: PCardinal;
  722. ServerCertificateSubject: PByte;
  723. end;
  724. {$EXTERNALSYM RPC_HTTP_TRANSPORT_CREDENTIALS_A}
  725. RPC_HTTP_TRANSPORT_CREDENTIALS_A = _RPC_HTTP_TRANSPORT_CREDENTIALS_A;
  726. {$EXTERNALSYM RPC_HTTP_TRANSPORT_CREDENTIALS_A}
  727. PRPC_HTTP_TRANSPORT_CREDENTIALS_A = ^RPC_HTTP_TRANSPORT_CREDENTIALS_A;
  728. {$EXTERNALSYM PRPC_HTTP_TRANSPORT_CREDENTIALS_A}
  729. TRpcHttpTransportCredentialsA = RPC_HTTP_TRANSPORT_CREDENTIALS_A;
  730. PRpcHttpTransportCredentialsA = PRPC_HTTP_TRANSPORT_CREDENTIALS_A;
  731. _RPC_SECURITY_QOS_V2_W = record
  732. Version: Cardinal;
  733. Capabilities: Cardinal;
  734. IdentityTracking: Cardinal;
  735. ImpersonationType: Cardinal;
  736. AdditionalSecurityInfoType: Cardinal;
  737. case Integer of
  738. 0: (HttpCredentials: PRPC_HTTP_TRANSPORT_CREDENTIALS_W);
  739. end;
  740. {$EXTERNALSYM _RPC_SECURITY_QOS_V2_W}
  741. RPC_SECURITY_QOS_V2_W = _RPC_SECURITY_QOS_V2_W;
  742. {$EXTERNALSYM RPC_SECURITY_QOS_V2_W}
  743. PRPC_SECURITY_QOS_V2_W = ^RPC_SECURITY_QOS_V2_W;
  744. {$EXTERNALSYM PRPC_SECURITY_QOS_V2_W}
  745. TRpcSecurityQosV2W = RPC_SECURITY_QOS_V2_W;
  746. PRpcSecurityQosV2W = PRPC_SECURITY_QOS_V2_W;
  747. _RPC_SECURITY_QOS_V2_A = record
  748. Version: Cardinal;
  749. Capabilities: Cardinal;
  750. IdentityTracking: Cardinal;
  751. ImpersonationType: Cardinal;
  752. AdditionalSecurityInfoType: Cardinal;
  753. case Integer of
  754. 0: (HttpCredentials: PRPC_HTTP_TRANSPORT_CREDENTIALS_A);
  755. end;
  756. {$EXTERNALSYM _RPC_SECURITY_QOS_V2_A}
  757. RPC_SECURITY_QOS_V2_A = _RPC_SECURITY_QOS_V2_A;
  758. {$EXTERNALSYM RPC_SECURITY_QOS_V2_A}
  759. PRPC_SECURITY_QOS_V2_A = ^RPC_SECURITY_QOS_V2_A;
  760. {$EXTERNALSYM PRPC_SECURITY_QOS_V2_A}
  761. TRpcSecurityQosV2A = RPC_SECURITY_QOS_V2_A;
  762. PRpcSecurityQosV2A = PRPC_SECURITY_QOS_V2_A;
  763. const
  764. RPC_C_SECURITY_QOS_VERSION_3 = 3;
  765. {$EXTERNALSYM RPC_C_SECURITY_QOS_VERSION_3}
  766. type
  767. _RPC_SECURITY_QOS_V3_W = record
  768. Version: Cardinal;
  769. Capabilities: Cardinal;
  770. IdentityTracking: Cardinal;
  771. ImpersonationType: Cardinal;
  772. AdditionalSecurityInfoType: Cardinal;
  773. u: record
  774. case Integer of
  775. 0: (HttpCredentials: PRPC_HTTP_TRANSPORT_CREDENTIALS_W);
  776. end;
  777. Sid: Pointer;
  778. end;
  779. {$EXTERNALSYM _RPC_SECURITY_QOS_V3_W}
  780. RPC_SECURITY_QOS_V3_W = _RPC_SECURITY_QOS_V3_W;
  781. {$EXTERNALSYM RPC_SECURITY_QOS_V3_W}
  782. PRPC_SECURITY_QOS_V3_W = ^RPC_SECURITY_QOS_V3_W;
  783. {$EXTERNALSYM PRPC_SECURITY_QOS_V3_W}
  784. TRpcSecurityQosV3W = RPC_SECURITY_QOS_V3_W;
  785. PRpcSecurityQosV3W = PRPC_SECURITY_QOS_V3_W;
  786. _RPC_SECURITY_QOS_V3_A = record
  787. Version: Cardinal;
  788. Capabilities: Cardinal;
  789. IdentityTracking: Cardinal;
  790. ImpersonationType: Cardinal;
  791. AdditionalSecurityInfoType: Cardinal;
  792. u: record
  793. case Integer of
  794. 0: (HttpCredentials: PRPC_HTTP_TRANSPORT_CREDENTIALS_A);
  795. end;
  796. Sid: Pointer;
  797. end;
  798. {$EXTERNALSYM _RPC_SECURITY_QOS_V3_A}
  799. RPC_SECURITY_QOS_V3_A = _RPC_SECURITY_QOS_V3_A;
  800. {$EXTERNALSYM RPC_SECURITY_QOS_V3_A}
  801. PRPC_SECURITY_QOS_V3_A = ^RPC_SECURITY_QOS_V3_A;
  802. {$EXTERNALSYM PRPC_SECURITY_QOS_V3_A}
  803. TRpcSecurityQosV3A = RPC_SECURITY_QOS_V3_A;
  804. PRpcSecurityQosV3A = PRPC_SECURITY_QOS_V3_A;
  805. {$IFDEF UNICODE}
  806. RPC_SECURITY_QOS_V2 = RPC_SECURITY_QOS_V2_W;
  807. {$EXTERNALSYM RPC_SECURITY_QOS_V2}
  808. PRPC_SECURITY_QOS_V2 = PRPC_SECURITY_QOS_V2_W;
  809. {$EXTERNALSYM PRPC_SECURITY_QOS_V2}
  810. _RPC_SECURITY_QOS_V2 = _RPC_SECURITY_QOS_V2_W;
  811. {$EXTERNALSYM _RPC_SECURITY_QOS_V2}
  812. TRpcSecurityQosV2 = TRpcSecurityQosV2W;
  813. PRpcSecurityQosV2 = PRpcSecurityQosV2W;
  814. RPC_HTTP_TRANSPORT_CREDENTIALS = RPC_HTTP_TRANSPORT_CREDENTIALS_W;
  815. {$EXTERNALSYM RPC_HTTP_TRANSPORT_CREDENTIALS}
  816. PRPC_HTTP_TRANSPORT_CREDENTIALS = PRPC_HTTP_TRANSPORT_CREDENTIALS_W;
  817. {$EXTERNALSYM PRPC_HTTP_TRANSPORT_CREDENTIALS}
  818. _RPC_HTTP_TRANSPORT_CREDENTIALS = _RPC_HTTP_TRANSPORT_CREDENTIALS_W;
  819. {$EXTERNALSYM _RPC_HTTP_TRANSPORT_CREDENTIALS}
  820. TRpcHttpTransportCredentials = TRpcHttpTransportCredentialsW;
  821. PRpcHttpTransportCredentials = PRpcHttpTransportCredentialsW;
  822. RPC_SECURITY_QOS_V3 = RPC_SECURITY_QOS_V3_W;
  823. {$EXTERNALSYM RPC_SECURITY_QOS_V3}
  824. PRPC_SECURITY_QOS_V3 = PRPC_SECURITY_QOS_V3_W;
  825. {$EXTERNALSYM PRPC_SECURITY_QOS_V3}
  826. _RPC_SECURITY_QOS_V3 = _RPC_SECURITY_QOS_V3_W;
  827. {$EXTERNALSYM _RPC_SECURITY_QOS_V3}
  828. TRpcSecurityQosV3 = TRpcSecurityQosV3W;
  829. PRpcSecurityQosV3 = PRpcSecurityQosV3W;
  830. {$ELSE}
  831. RPC_SECURITY_QOS_V2 = RPC_SECURITY_QOS_V2_A;
  832. {$EXTERNALSYM RPC_SECURITY_QOS_V2}
  833. PRPC_SECURITY_QOS_V2 = PRPC_SECURITY_QOS_V2_A;
  834. {$EXTERNALSYM PRPC_SECURITY_QOS_V2}
  835. _RPC_SECURITY_QOS_V2 = _RPC_SECURITY_QOS_V2_A;
  836. {$EXTERNALSYM _RPC_SECURITY_QOS_V2}
  837. TRpcSecurityQosV2 = TRpcSecurityQosV2A;
  838. PRpcSecurityQosV2 = PRpcSecurityQosV2A;
  839. RPC_HTTP_TRANSPORT_CREDENTIALS = RPC_HTTP_TRANSPORT_CREDENTIALS_A;
  840. {$EXTERNALSYM RPC_HTTP_TRANSPORT_CREDENTIALS}
  841. PRPC_HTTP_TRANSPORT_CREDENTIALS = PRPC_HTTP_TRANSPORT_CREDENTIALS_A;
  842. {$EXTERNALSYM PRPC_HTTP_TRANSPORT_CREDENTIALS}
  843. _RPC_HTTP_TRANSPORT_CREDENTIALS = _RPC_HTTP_TRANSPORT_CREDENTIALS_A;
  844. {$EXTERNALSYM _RPC_HTTP_TRANSPORT_CREDENTIALS}
  845. TRpcHttpTransportCredentials = TRpcHttpTransportCredentialsA;
  846. PRpcHttpTransportCredentials = PRpcHttpTransportCredentialsA;
  847. RPC_SECURITY_QOS_V3 = RPC_SECURITY_QOS_V3_A;
  848. {$EXTERNALSYM RPC_SECURITY_QOS_V3}
  849. PRPC_SECURITY_QOS_V3 = PRPC_SECURITY_QOS_V3_A;
  850. {$EXTERNALSYM PRPC_SECURITY_QOS_V3}
  851. _RPC_SECURITY_QOS_V3 = _RPC_SECURITY_QOS_V3_A;
  852. {$EXTERNALSYM _RPC_SECURITY_QOS_V3}
  853. TRpcSecurityQosV3 = TRpcSecurityQosV3A;
  854. PRpcSecurityQosV3 = PRpcSecurityQosV3A;
  855. {$ENDIF UNICODE}
  856. type
  857. RPC_NEW_HTTP_PROXY_CHANNEL = function(ServerName: PWideChar; ServerPort: PWord; RemoteUser: PByte; out NewServerName: PWord): RPC_STATUS; stdcall;
  858. {$EXTERNALSYM RPC_NEW_HTTP_PROXY_CHANNEL}
  859. RPC_HTTP_PROXY_FREE_STRING = procedure(ServerName: PWideChar); stdcall;
  860. {$EXTERNALSYM RPC_HTTP_PROXY_FREE_STRING}
  861. const
  862. RPC_C_AUTHZ_NONE = 0;
  863. {$EXTERNALSYM RPC_C_AUTHZ_NONE}
  864. RPC_C_AUTHZ_NAME = 1;
  865. {$EXTERNALSYM RPC_C_AUTHZ_NAME}
  866. RPC_C_AUTHZ_DCE = 2;
  867. {$EXTERNALSYM RPC_C_AUTHZ_DCE}
  868. RPC_C_AUTHZ_DEFAULT = DWORD($ffffffff);
  869. {$EXTERNALSYM RPC_C_AUTHZ_DEFAULT}
  870. function RpcImpersonateClient(BindingHandle: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  871. {$EXTERNALSYM RpcImpersonateClient}
  872. function RpcRevertToSelfEx(BindingHandle: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  873. {$EXTERNALSYM RpcRevertToSelfEx}
  874. function RpcRevertToSelf: RPC_STATUS; stdcall;
  875. {$EXTERNALSYM RpcRevertToSelf}
  876. function RpcBindingInqAuthClientA(ClientBinding: RPC_BINDING_HANDLE;
  877. Privs: PRPC_AUTHZ_HANDLE; ServerPrincName: PPChar; AuthnLevel, AuthnSvc,
  878. AuthzSvc: PCardinal): RPC_STATUS; stdcall;
  879. {$EXTERNALSYM RpcBindingInqAuthClientA}
  880. function RpcBindingInqAuthClientW(ClientBinding: RPC_BINDING_HANDLE;
  881. Privs: PRPC_AUTHZ_HANDLE; ServerPrincName: PPWideChar; AuthnLevel, AuthnSvc,
  882. AuthzSvc: PCardinal): RPC_STATUS; stdcall;
  883. {$EXTERNALSYM RpcBindingInqAuthClientW}
  884. function RpcBindingInqAuthClientExA(ClientBinding: RPC_BINDING_HANDLE;
  885. Privs: PRPC_AUTHZ_HANDLE; ServerPrincName: PPChar; AuthnLevel, AuthnSvc,
  886. AuthzSvc: PCardinal; Flags: Cardinal): RPC_STATUS; stdcall;
  887. {$EXTERNALSYM RpcBindingInqAuthClientExA}
  888. function RpcBindingInqAuthClientExW(ClientBinding: RPC_BINDING_HANDLE;
  889. Privs: PRPC_AUTHZ_HANDLE; ServerPrincName: PPWideChar; AuthnLevel, AuthnSvc,
  890. AuthzSvc: PCardinal; Flags: Cardinal): RPC_STATUS; stdcall;
  891. {$EXTERNALSYM RpcBindingInqAuthClientExW}
  892. function RpcBindingInqAuthInfoA(Binding: RPC_BINDING_HANDLE; ServerPrincName: PPChar;
  893. AuthnLevel, AuthnSvc: PCardinal; AuthIdentity: PRPC_AUTH_IDENTITY_HANDLE;
  894. AuthzSvc: PCardinal): RPC_STATUS; stdcall;
  895. {$EXTERNALSYM RpcBindingInqAuthInfoA}
  896. function RpcBindingInqAuthInfoW(Binding: RPC_BINDING_HANDLE; ServerPrincName: PPWideChar;
  897. AuthnLevel, AuthnSvc: PCardinal; AuthIdentity: PRPC_AUTH_IDENTITY_HANDLE;
  898. AuthzSvc: PCardinal): RPC_STATUS; stdcall;
  899. {$EXTERNALSYM RpcBindingInqAuthInfoW}
  900. function RpcBindingSetAuthInfoA(Binding: RPC_BINDING_HANDLE; ServerPrincName: PChar;
  901. AuthnLevel, AuthnSvc: Cardinal; AuthIdentity: RPC_AUTH_IDENTITY_HANDLE;
  902. AuthzSvc: Cardinal): RPC_STATUS; stdcall;
  903. {$EXTERNALSYM RpcBindingSetAuthInfoA}
  904. function RpcBindingSetAuthInfoW(Binding: RPC_BINDING_HANDLE; ServerPrincName: PWideChar;
  905. AuthnLevel, AuthnSvc: Cardinal; AuthIdentity: RPC_AUTH_IDENTITY_HANDLE;
  906. AuthzSvc: Cardinal): RPC_STATUS; stdcall;
  907. {$EXTERNALSYM RpcBindingSetAuthInfoW}
  908. function RpcBindingSetAuthInfoExA(Binding: RPC_BINDING_HANDLE;
  909. ServerPrincName: PChar; AuthnLevel, AuthnSvc: Cardinal;
  910. AuthIdentity: RPC_AUTH_IDENTITY_HANDLE; AuthzSvc: Cardinal;
  911. const SecurityQOS: RPC_SECURITY_QOS): RPC_STATUS; stdcall;
  912. {$EXTERNALSYM RpcBindingSetAuthInfoExA}
  913. function RpcBindingSetAuthInfoExW(Binding: RPC_BINDING_HANDLE;
  914. ServerPrincName: PWideChar; AuthnLevel, AuthnSvc: Cardinal;
  915. AuthIdentity: RPC_AUTH_IDENTITY_HANDLE; AuthzSvc: Cardinal;
  916. const SecurityQOS: RPC_SECURITY_QOS): RPC_STATUS; stdcall;
  917. {$EXTERNALSYM RpcBindingSetAuthInfoExW}
  918. function RpcBindingInqAuthInfoExA(Binding: RPC_BINDING_HANDLE;
  919. ServerPrincName: PPChar; AuthnLevel, AuthnSvc: PCardinal;
  920. AuthIdentity: PRPC_AUTH_IDENTITY_HANDLE; AuthzSvc: PCardinal;
  921. RpcQosVersion: Cardinal; var SecurityQOS: RPC_SECURITY_QOS): RPC_STATUS; stdcall;
  922. {$EXTERNALSYM RpcBindingInqAuthInfoExA}
  923. function RpcBindingInqAuthInfoExW(Binding: RPC_BINDING_HANDLE;
  924. ServerPrincName: PPWideChar; AuthnLevel, AuthnSvc: PCardinal;
  925. AuthIdentity: PRPC_AUTH_IDENTITY_HANDLE; AuthzSvc: PCardinal;
  926. RpcQosVersion: Cardinal; var SecurityQOS: RPC_SECURITY_QOS): RPC_STATUS; stdcall;
  927. {$EXTERNALSYM RpcBindingInqAuthInfoExW}
  928. type
  929. RPC_AUTH_KEY_RETRIEVAL_FN = procedure(Arg: Pointer; ServerPrincName: PWideChar;
  930. KeyVer: Cardinal; var Key: Pointer; var Status: RPC_STATUS); stdcall;
  931. {$EXTERNALSYM RPC_AUTH_KEY_RETRIEVAL_FN}
  932. TRpcAuthKeyRetrievalFn = RPC_AUTH_KEY_RETRIEVAL_FN;
  933. function RpcServerRegisterAuthInfoA(ServerPrincName: PChar; AuthnSvc: Cardinal;
  934. GetKeyFn: RPC_AUTH_KEY_RETRIEVAL_FN; Arg: Pointer): RPC_STATUS; stdcall;
  935. {$EXTERNALSYM RpcServerRegisterAuthInfoA}
  936. function RpcServerRegisterAuthInfoW(ServerPrincName: PWideChar; AuthnSvc: Cardinal;
  937. GetKeyFn: RPC_AUTH_KEY_RETRIEVAL_FN; Arg: Pointer): RPC_STATUS; stdcall;
  938. {$EXTERNALSYM RpcServerRegisterAuthInfoW}
  939. function RpcBindingInqAuthClient(ClientBinding: RPC_BINDING_HANDLE;
  940. Privs: PRPC_AUTHZ_HANDLE; ServerPrincName: PPTSTR; AuthnLevel, AuthnSvc,
  941. AuthzSvc: PCardinal): RPC_STATUS; stdcall;
  942. {$EXTERNALSYM RpcBindingInqAuthClient}
  943. function RpcBindingInqAuthClientEx(ClientBinding: RPC_BINDING_HANDLE;
  944. Privs: PRPC_AUTHZ_HANDLE; ServerPrincName: PPTSTR; AuthnLevel, AuthnSvc,
  945. AuthzSvc: PCardinal; Flags: Cardinal): RPC_STATUS; stdcall;
  946. {$EXTERNALSYM RpcBindingInqAuthClientEx}
  947. function RpcBindingInqAuthInfo(Binding: RPC_BINDING_HANDLE; ServerPrincName: PPTSTR;
  948. AuthnLevel, AuthnSvc: PCardinal; AuthIdentity: PRPC_AUTH_IDENTITY_HANDLE;
  949. AuthzSvc: PCardinal): RPC_STATUS; stdcall;
  950. {$EXTERNALSYM RpcBindingInqAuthInfo}
  951. function RpcBindingSetAuthInfo(Binding: RPC_BINDING_HANDLE; ServerPrincName: PTSTR;
  952. AuthnLevel, AuthnSvc: Cardinal; AuthIdentity: RPC_AUTH_IDENTITY_HANDLE;
  953. AuthzSvc: Cardinal): RPC_STATUS; stdcall;
  954. {$EXTERNALSYM RpcBindingSetAuthInfo}
  955. function RpcBindingSetAuthInfoEx(Binding: RPC_BINDING_HANDLE;
  956. ServerPrincName: PTSTR; AuthnLevel, AuthnSvc: Cardinal;
  957. AuthIdentity: RPC_AUTH_IDENTITY_HANDLE; AuthzSvc: Cardinal;
  958. const SecurityQOS: RPC_SECURITY_QOS): RPC_STATUS; stdcall;
  959. {$EXTERNALSYM RpcBindingSetAuthInfoEx}
  960. function RpcBindingInqAuthInfoEx(Binding: RPC_BINDING_HANDLE;
  961. ServerPrincName: PPTSTR; AuthnLevel, AuthnSvc: PCardinal;
  962. AuthIdentity: PRPC_AUTH_IDENTITY_HANDLE; AuthzSvc: PCardinal;
  963. RpcQosVersion: Cardinal; var SecurityQOS: RPC_SECURITY_QOS): RPC_STATUS; stdcall;
  964. {$EXTERNALSYM RpcBindingInqAuthInfoEx}
  965. function RpcServerRegisterAuthInfo(ServerPrincName: PTSTR; AuthnSvc: Cardinal;
  966. GetKeyFn: RPC_AUTH_KEY_RETRIEVAL_FN; Arg: Pointer): RPC_STATUS; stdcall;
  967. {$EXTERNALSYM RpcServerRegisterAuthInfo}
  968. type
  969. RPC_CLIENT_INFORMATION1 = record
  970. UserName: PChar;
  971. ComputerName: PChar;
  972. Privilege: Word;
  973. AuthFlags: Longword;
  974. end;
  975. {$EXTERNALSYM RPC_CLIENT_INFORMATION1}
  976. PRPC_CLIENT_INFORMATION1 = ^RPC_CLIENT_INFORMATION1;
  977. {$EXTERNALSYM PRPC_CLIENT_INFORMATION1}
  978. TRpcClientInformation1 = RPC_CLIENT_INFORMATION1;
  979. PRpcClientInformation1 = PRPC_CLIENT_INFORMATION1;
  980. function RpcBindingServerFromClient(ClientBinding: RPC_BINDING_HANDLE;
  981. var ServerBinding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  982. {$EXTERNALSYM RpcBindingServerFromClient}
  983. procedure RpcRaiseException(exception: RPC_STATUS); stdcall;
  984. {$EXTERNALSYM RpcRaiseException}
  985. function RpcTestCancel: RPC_STATUS; stdcall;
  986. {$EXTERNALSYM RpcTestCancel}
  987. function RpcServerTestCancel(BindingHandle: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  988. {$EXTERNALSYM RpcServerTestCancel}
  989. function RpcCancelThread(Thread: Pointer): RPC_STATUS; stdcall;
  990. {$EXTERNALSYM RpcCancelThread}
  991. function RpcCancelThreadEx(Thread: Pointer; Timeout: Longint): RPC_STATUS; stdcall;
  992. {$EXTERNALSYM RpcCancelThreadEx}
  993. function UuidCreate(var Uuid: UUID): RPC_STATUS; stdcall;
  994. {$EXTERNALSYM UuidCreate}
  995. function UuidCreateSequential(out Uuid: UUID): RPC_STATUS; stdcall;
  996. {$EXTERNALSYM UuidCreateSequential}
  997. function UuidFromStringA(StringUuid: PChar; var Uuid: UUID): RPC_STATUS; stdcall;
  998. {$EXTERNALSYM UuidFromStringA}
  999. function UuidFromStringW(StringUuid: PWideChar; var Uuid: UUID): RPC_STATUS; stdcall;
  1000. {$EXTERNALSYM UuidFromStringW}
  1001. function UuidFromString(StringUuid: PTSTR; var Uuid: UUID): RPC_STATUS; stdcall;
  1002. {$EXTERNALSYM UuidFromString}
  1003. function UuidToStringA(const Uuid: UUID; var StringUuid: PChar): RPC_STATUS; stdcall;
  1004. {$EXTERNALSYM UuidToStringA}
  1005. function UuidToStringW(const Uuid: UUID; var StringUuid: PWideChar): RPC_STATUS; stdcall;
  1006. {$EXTERNALSYM UuidToStringW}
  1007. function UuidToString(const Uuid: UUID; var StringUuid: PTSTR): RPC_STATUS; stdcall;
  1008. {$EXTERNALSYM UuidToString}
  1009. function UuidCompare(const Uuid1, Uuid2: UUID; var Status: RPC_STATUS): Integer; stdcall;
  1010. {$EXTERNALSYM UuidCompare}
  1011. function UuidCreateNil(var NilUuid: UUID): RPC_STATUS; stdcall;
  1012. {$EXTERNALSYM UuidCreateNil}
  1013. function UuidEqual(const Uuid1, Uuid2: UUID; var Status: RPC_STATUS): Integer; stdcall;
  1014. {$EXTERNALSYM UuidEqual}
  1015. function UuidHash(const Uuid: UUID; var Status: RPC_STATUS): Word; stdcall;
  1016. {$EXTERNALSYM UuidHash}
  1017. function UuidIsNil(const Uuid: UUID; var Status: RPC_STATUS): Integer; stdcall;
  1018. {$EXTERNALSYM UuidIsNil}
  1019. function RpcEpRegisterNoReplaceA(IfSpec: RPC_IF_HANDLE;
  1020. BindingVector: PRPC_BINDING_VECTOR; UuidVector: PUUID_VECTOR;
  1021. Annotation: PChar): RPC_STATUS; stdcall;
  1022. {$EXTERNALSYM RpcEpRegisterNoReplaceA}
  1023. function RpcEpRegisterNoReplaceW(IfSpec: RPC_IF_HANDLE;
  1024. BindingVector: PRPC_BINDING_VECTOR; UuidVector: PUUID_VECTOR;
  1025. Annotation: PWideChar): RPC_STATUS; stdcall;
  1026. {$EXTERNALSYM RpcEpRegisterNoReplaceW}
  1027. function RpcEpRegisterNoReplace(IfSpec: RPC_IF_HANDLE;
  1028. BindingVector: PRPC_BINDING_VECTOR; UuidVector: PUUID_VECTOR;
  1029. Annotation: PTSTR): RPC_STATUS; stdcall;
  1030. {$EXTERNALSYM RpcEpRegisterNoReplace}
  1031. function RpcEpRegisterA(IfSpec: RPC_IF_HANDLE; BindingVector: PRPC_BINDING_VECTOR;
  1032. UuidVector: PUUID_VECTOR; Annotation: PChar): RPC_STATUS; stdcall;
  1033. {$EXTERNALSYM RpcEpRegisterA}
  1034. function RpcEpRegisterW(IfSpec: RPC_IF_HANDLE; BindingVector: PRPC_BINDING_VECTOR;
  1035. UuidVector: PUUID_VECTOR; Annotation: PWideChar): RPC_STATUS; stdcall;
  1036. {$EXTERNALSYM RpcEpRegisterW}
  1037. function RpcEpRegister(IfSpec: RPC_IF_HANDLE; BindingVector: PRPC_BINDING_VECTOR;
  1038. UuidVector: PUUID_VECTOR; Annotation: PTSTR): RPC_STATUS; stdcall;
  1039. {$EXTERNALSYM RpcEpRegister}
  1040. function RpcEpUnregister(IfSpec: RPC_IF_HANDLE; BindingVector: PRPC_BINDING_VECTOR;
  1041. UuidVector: UUID_VECTOR): RPC_STATUS; stdcall;
  1042. {$EXTERNALSYM RpcEpUnregister}
  1043. function DceErrorInqTextA(RpcStatus: RPC_STATUS; ErrorText: PChar): RPC_STATUS; stdcall;
  1044. {$EXTERNALSYM DceErrorInqTextA}
  1045. function DceErrorInqTextW(RpcStatus: RPC_STATUS; ErrorText: PWideChar): RPC_STATUS; stdcall;
  1046. {$EXTERNALSYM DceErrorInqTextW}
  1047. function DceErrorInqText(RpcStatus: RPC_STATUS; ErrorText: PTSTR): RPC_STATUS; stdcall;
  1048. {$EXTERNALSYM DceErrorInqText}
  1049. const
  1050. DCE_C_ERROR_STRING_LEN = 256;
  1051. {$EXTERNALSYM DCE_C_ERROR_STRING_LEN}
  1052. type
  1053. RPC_EP_INQ_HANDLE = ^I_RPC_HANDLE;
  1054. {$EXTERNALSYM RPC_EP_INQ_HANDLE}
  1055. const
  1056. RPC_C_EP_ALL_ELTS = 0;
  1057. {$EXTERNALSYM RPC_C_EP_ALL_ELTS}
  1058. RPC_C_EP_MATCH_BY_IF = 1;
  1059. {$EXTERNALSYM RPC_C_EP_MATCH_BY_IF}
  1060. RPC_C_EP_MATCH_BY_OBJ = 2;
  1061. {$EXTERNALSYM RPC_C_EP_MATCH_BY_OBJ}
  1062. RPC_C_EP_MATCH_BY_BOTH = 3;
  1063. {$EXTERNALSYM RPC_C_EP_MATCH_BY_BOTH}
  1064. RPC_C_VERS_ALL = 1;
  1065. {$EXTERNALSYM RPC_C_VERS_ALL}
  1066. RPC_C_VERS_COMPATIBLE = 2;
  1067. {$EXTERNALSYM RPC_C_VERS_COMPATIBLE}
  1068. RPC_C_VERS_EXACT = 3;
  1069. {$EXTERNALSYM RPC_C_VERS_EXACT}
  1070. RPC_C_VERS_MAJOR_ONLY = 4;
  1071. {$EXTERNALSYM RPC_C_VERS_MAJOR_ONLY}
  1072. RPC_C_VERS_UPTO = 5;
  1073. {$EXTERNALSYM RPC_C_VERS_UPTO}
  1074. function RpcMgmtEpEltInqBegin(EpBinding: RPC_BINDING_HANDLE; InquiryType: Cardinal;
  1075. IfId: PRPC_IF_ID; VersOption: Cardinal; ObjectUuid: PUUID;
  1076. var InquiryContext: RPC_EP_INQ_HANDLE): RPC_STATUS; stdcall;
  1077. {$EXTERNALSYM RpcMgmtEpEltInqBegin}
  1078. function RpcMgmtEpEltInqDone(var InquiryContext: RPC_EP_INQ_HANDLE): RPC_STATUS; stdcall;
  1079. {$EXTERNALSYM RpcMgmtEpEltInqDone}
  1080. function RpcMgmtEpEltInqNextA(InquiryContext: RPC_EP_INQ_HANDLE; var IfId: RPC_IF_ID;
  1081. Binding: PRPC_BINDING_HANDLE; ObjectUuid: PUUID; var Annotation: PChar): RPC_STATUS; stdcall;
  1082. {$EXTERNALSYM RpcMgmtEpEltInqNextA}
  1083. function RpcMgmtEpEltInqNextW(InquiryContext: RPC_EP_INQ_HANDLE; var IfId: RPC_IF_ID;
  1084. Binding: PRPC_BINDING_HANDLE; ObjectUuid: PUUID; var Annotation: PWideChar): RPC_STATUS; stdcall;
  1085. {$EXTERNALSYM RpcMgmtEpEltInqNextW}
  1086. function RpcMgmtEpEltInqNext(InquiryContext: RPC_EP_INQ_HANDLE; var IfId: RPC_IF_ID;
  1087. Binding: PRPC_BINDING_HANDLE; ObjectUuid: PUUID; var Annotation: PTSTR): RPC_STATUS; stdcall;
  1088. {$EXTERNALSYM RpcMgmtEpEltInqNext}
  1089. function RpcMgmtEpUnregister(EpBinding: RPC_BINDING_HANDLE; IfId: PRPC_IF_ID;
  1090. Binding: RPC_BINDING_HANDLE; ObjectUuid : PUUID): RPC_STATUS; stdcall;
  1091. {$EXTERNALSYM RpcMgmtEpUnregister}
  1092. type
  1093. RPC_MGMT_AUTHORIZATION_FN = function(ClientBinding: RPC_BINDING_HANDLE;
  1094. RequestedMgmtOperation: Cardinal; var Status: RPC_STATUS): Integer; stdcall;
  1095. {$EXTERNALSYM RPC_MGMT_AUTHORIZATION_FN}
  1096. TRpcMgmtAuthorizationFn = RPC_MGMT_AUTHORIZATION_FN;
  1097. const
  1098. RPC_C_MGMT_INQ_IF_IDS = 0;
  1099. {$EXTERNALSYM RPC_C_MGMT_INQ_IF_IDS}
  1100. RPC_C_MGMT_INQ_PRINC_NAME = 1;
  1101. {$EXTERNALSYM RPC_C_MGMT_INQ_PRINC_NAME}
  1102. RPC_C_MGMT_INQ_STATS = 2;
  1103. {$EXTERNALSYM RPC_C_MGMT_INQ_STATS}
  1104. RPC_C_MGMT_IS_SERVER_LISTEN = 3;
  1105. {$EXTERNALSYM RPC_C_MGMT_IS_SERVER_LISTEN}
  1106. RPC_C_MGMT_STOP_SERVER_LISTEN = 4;
  1107. {$EXTERNALSYM RPC_C_MGMT_STOP_SERVER_LISTEN}
  1108. function RpcMgmtSetAuthorizationFn(AuthorizationFn: RPC_MGMT_AUTHORIZATION_FN): RPC_STATUS; stdcall;
  1109. {$EXTERNALSYM RpcMgmtSetAuthorizationFn}
  1110. const
  1111. RPC_C_PARM_MAX_PACKET_LENGTH = 1;
  1112. {$EXTERNALSYM RPC_C_PARM_MAX_PACKET_LENGTH}
  1113. RPC_C_PARM_BUFFER_LENGTH = 2;
  1114. {$EXTERNALSYM RPC_C_PARM_BUFFER_LENGTH}
  1115. RPC_IF_AUTOLISTEN = $0001;
  1116. {$EXTERNALSYM RPC_IF_AUTOLISTEN}
  1117. RPC_IF_OLE = $0002;
  1118. {$EXTERNALSYM RPC_IF_OLE}
  1119. RPC_IF_ALLOW_UNKNOWN_AUTHORITY = $0004;
  1120. {$EXTERNALSYM RPC_IF_ALLOW_UNKNOWN_AUTHORITY}
  1121. RPC_IF_ALLOW_SECURE_ONLY = $0008;
  1122. {$EXTERNALSYM RPC_IF_ALLOW_SECURE_ONLY}
  1123. RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH = $0010;
  1124. {$EXTERNALSYM RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH}
  1125. implementation
  1126. const
  1127. rpclib = 'rpcrt4.dll';
  1128. {$IFDEF UNICODE}
  1129. AWSuffix = 'W';
  1130. {$ELSE}
  1131. AWSuffix = 'A';
  1132. {$ENDIF UNICODE}
  1133. {$IFDEF DYNAMIC_LINK}
  1134. var
  1135. _RpcBindingCopy: Pointer;
  1136. function RpcBindingCopy;
  1137. begin
  1138. GetProcedureAddress(_RpcBindingCopy, rpclib, 'RpcBindingCopy');
  1139. asm
  1140. MOV ESP, EBP
  1141. POP EBP
  1142. JMP [_RpcBindingCopy]
  1143. end;
  1144. end;
  1145. var
  1146. _RpcBindingFree: Pointer;
  1147. function RpcBindingFree;
  1148. begin
  1149. GetProcedureAddress(_RpcBindingFree, rpclib, 'RpcBindingFree');
  1150. asm
  1151. MOV ESP, EBP
  1152. POP EBP
  1153. JMP [_RpcBindingFree]
  1154. end;
  1155. end;
  1156. var
  1157. _RpcBindingSetOption: Pointer;
  1158. function RpcBindingSetOption;
  1159. begin
  1160. GetProcedureAddress(_RpcBindingSetOption, rpclib, 'RpcBindingSetOption');
  1161. asm
  1162. MOV ESP, EBP
  1163. POP EBP
  1164. JMP [_RpcBindingSetOption]
  1165. end;
  1166. end;
  1167. var
  1168. _RpcBindingInqOption: Pointer;
  1169. function RpcBindingInqOption;
  1170. begin
  1171. GetProcedureAddress(_RpcBindingInqOption, rpclib, 'RpcBindingInqOption');
  1172. asm
  1173. MOV ESP, EBP
  1174. POP EBP
  1175. JMP [_RpcBindingInqOption]
  1176. end;
  1177. end;
  1178. var
  1179. _RpcBindingFromStringBindingA: Pointer;
  1180. function RpcBindingFromStringBindingA;
  1181. begin
  1182. GetProcedureAddress(_RpcBindingFromStringBindingA, rpclib, 'RpcBindingFromStringBindingA');
  1183. asm
  1184. MOV ESP, EBP
  1185. POP EBP
  1186. JMP [_RpcBindingFromStringBindingA]
  1187. end;
  1188. end;
  1189. var
  1190. _RpcBindingFromStringBindingW: Pointer;
  1191. function RpcBindingFromStringBindingW;
  1192. begin
  1193. GetProcedureAddress(_RpcBindingFromStringBindingW, rpclib, 'RpcBindingFromStringBindingW');
  1194. asm
  1195. MOV ESP, EBP
  1196. POP EBP
  1197. JMP [_RpcBindingFromStringBindingW]
  1198. end;
  1199. end;
  1200. var
  1201. _RpcBindingFromStringBinding: Pointer;
  1202. function RpcBindingFromStringBinding;
  1203. begin
  1204. GetProcedureAddress(_RpcBindingFromStringBinding, rpclib, 'RpcBindingFromStringBinding' + AWSuffix);
  1205. asm
  1206. MOV ESP, EBP
  1207. POP EBP
  1208. JMP [_RpcBindingFromStringBinding]
  1209. end;
  1210. end;
  1211. var
  1212. _RpcSsGetContextBinding: Pointer;
  1213. function RpcSsGetContextBinding;
  1214. begin
  1215. GetProcedureAddress(_RpcSsGetContextBinding, rpclib, 'RpcSsGetContextBinding');
  1216. asm
  1217. MOV ESP, EBP
  1218. POP EBP
  1219. JMP [_RpcSsGetContextBinding]
  1220. end;
  1221. end;
  1222. var
  1223. _RpcBindingInqObject: Pointer;
  1224. function RpcBindingInqObject;
  1225. begin
  1226. GetProcedureAddress(_RpcBindingInqObject, rpclib, 'RpcBindingInqObject');
  1227. asm
  1228. MOV ESP, EBP
  1229. POP EBP
  1230. JMP [_RpcBindingInqObject]
  1231. end;
  1232. end;
  1233. var
  1234. _RpcBindingReset: Pointer;
  1235. function RpcBindingReset;
  1236. begin
  1237. GetProcedureAddress(_RpcBindingReset, rpclib, 'RpcBindingReset');
  1238. asm
  1239. MOV ESP, EBP
  1240. POP EBP
  1241. JMP [_RpcBindingReset]
  1242. end;
  1243. end;
  1244. var
  1245. _RpcBindingSetObject: Pointer;
  1246. function RpcBindingSetObject;
  1247. begin
  1248. GetProcedureAddress(_RpcBindingSetObject, rpclib, 'RpcBindingSetObject');
  1249. asm
  1250. MOV ESP, EBP
  1251. POP EBP
  1252. JMP [_RpcBindingSetObject]
  1253. end;
  1254. end;
  1255. var
  1256. _RpcMgmtInqDefaultProtectLevel: Pointer;
  1257. function RpcMgmtInqDefaultProtectLevel;
  1258. begin
  1259. GetProcedureAddress(_RpcMgmtInqDefaultProtectLevel, rpclib, 'RpcMgmtInqDefaultProtectLevel');
  1260. asm
  1261. MOV ESP, EBP
  1262. POP EBP
  1263. JMP [_RpcMgmtInqDefaultProtectLevel]
  1264. end;
  1265. end;
  1266. var
  1267. _RpcBindingToStringBindingA: Pointer;
  1268. function RpcBindingToStringBindingA;
  1269. begin
  1270. GetProcedureAddress(_RpcBindingToStringBindingA, rpclib, 'RpcBindingToStringBindingA');
  1271. asm
  1272. MOV ESP, EBP
  1273. POP EBP
  1274. JMP [_RpcBindingToStringBindingA]
  1275. end;
  1276. end;
  1277. var
  1278. _RpcBindingToStringBindingW: Pointer;
  1279. function RpcBindingToStringBindingW;
  1280. begin
  1281. GetProcedureAddress(_RpcBindingToStringBindingW, rpclib, 'RpcBindingToStringBindingW');
  1282. asm
  1283. MOV ESP, EBP
  1284. POP EBP
  1285. JMP [_RpcBindingToStringBindingW]
  1286. end;
  1287. end;
  1288. var
  1289. _RpcBindingToStringBinding: Pointer;
  1290. function RpcBindingToStringBinding;
  1291. begin
  1292. GetProcedureAddress(_RpcBindingToStringBinding, rpclib, 'RpcBindingToStringBinding' + AWSuffix);
  1293. asm
  1294. MOV ESP, EBP
  1295. POP EBP
  1296. JMP [_RpcBindingToStringBinding]
  1297. end;
  1298. end;
  1299. var
  1300. _RpcBindingVectorFree: Pointer;
  1301. function RpcBindingVectorFree;
  1302. begin
  1303. GetProcedureAddress(_RpcBindingVectorFree, rpclib, 'RpcBindingVectorFree');
  1304. asm
  1305. MOV ESP, EBP
  1306. POP EBP
  1307. JMP [_RpcBindingVectorFree]
  1308. end;
  1309. end;
  1310. var
  1311. _RpcStringBindingComposeA: Pointer;
  1312. function RpcStringBindingComposeA;
  1313. begin
  1314. GetProcedureAddress(_RpcStringBindingComposeA, rpclib, 'RpcStringBindingComposeA');
  1315. asm
  1316. MOV ESP, EBP
  1317. POP EBP
  1318. JMP [_RpcStringBindingComposeA]
  1319. end;
  1320. end;
  1321. var
  1322. _RpcStringBindingComposeW: Pointer;
  1323. function RpcStringBindingComposeW;
  1324. begin
  1325. GetProcedureAddress(_RpcStringBindingComposeW, rpclib, 'RpcStringBindingComposeW');
  1326. asm
  1327. MOV ESP, EBP
  1328. POP EBP
  1329. JMP [_RpcStringBindingComposeW]
  1330. end;
  1331. end;
  1332. var
  1333. _RpcStringBindingCompose: Pointer;
  1334. function RpcStringBindingCompose;
  1335. begin
  1336. GetProcedureAddress(_RpcStringBindingCompose, rpclib, 'RpcStringBindingCompose' + AWSuffix);
  1337. asm
  1338. MOV ESP, EBP
  1339. POP EBP
  1340. JMP [_RpcStringBindingCompose]
  1341. end;
  1342. end;
  1343. var
  1344. _RpcStringBindingParseA: Pointer;
  1345. function RpcStringBindingParseA;
  1346. begin
  1347. GetProcedureAddress(_RpcStringBindingParseA, rpclib, 'RpcStringBindingParseA');
  1348. asm
  1349. MOV ESP, EBP
  1350. POP EBP
  1351. JMP [_RpcStringBindingParseA]
  1352. end;
  1353. end;
  1354. var
  1355. _RpcStringBindingParseW: Pointer;
  1356. function RpcStringBindingParseW;
  1357. begin
  1358. GetProcedureAddress(_RpcStringBindingParseW, rpclib, 'RpcStringBindingParseW');
  1359. asm
  1360. MOV ESP, EBP
  1361. POP EBP
  1362. JMP [_RpcStringBindingParseW]
  1363. end;
  1364. end;
  1365. var
  1366. _RpcStringBindingParse: Pointer;
  1367. function RpcStringBindingParse;
  1368. begin
  1369. GetProcedureAddress(_RpcStringBindingParse, rpclib, 'RpcStringBindingParse' + AWSuffix);
  1370. asm
  1371. MOV ESP, EBP
  1372. POP EBP
  1373. JMP [_RpcStringBindingParse]
  1374. end;
  1375. end;
  1376. var
  1377. _RpcStringFreeA: Pointer;
  1378. function RpcStringFreeA;
  1379. begin
  1380. GetProcedureAddress(_RpcStringFreeA, rpclib, 'RpcStringFreeA');
  1381. asm
  1382. MOV ESP, EBP
  1383. POP EBP
  1384. JMP [_RpcStringFreeA]
  1385. end;
  1386. end;
  1387. var
  1388. _RpcStringFreeW: Pointer;
  1389. function RpcStringFreeW;
  1390. begin
  1391. GetProcedureAddress(_RpcStringFreeW, rpclib, 'RpcStringFreeW');
  1392. asm
  1393. MOV ESP, EBP
  1394. POP EBP
  1395. JMP [_RpcStringFreeW]
  1396. end;
  1397. end;
  1398. var
  1399. _RpcStringFree: Pointer;
  1400. function RpcStringFree;
  1401. begin
  1402. GetProcedureAddress(_RpcStringFree, rpclib, 'RpcStringFree' + AWSuffix);
  1403. asm
  1404. MOV ESP, EBP
  1405. POP EBP
  1406. JMP [_RpcStringFree]
  1407. end;
  1408. end;
  1409. var
  1410. _RpcIfInqId: Pointer;
  1411. function RpcIfInqId;
  1412. begin
  1413. GetProcedureAddress(_RpcIfInqId, rpclib, 'RpcIfInqId');
  1414. asm
  1415. MOV ESP, EBP
  1416. POP EBP
  1417. JMP [_RpcIfInqId]
  1418. end;
  1419. end;
  1420. var
  1421. _RpcNetworkIsProtseqValidA: Pointer;
  1422. function RpcNetworkIsProtseqValidA;
  1423. begin
  1424. GetProcedureAddress(_RpcNetworkIsProtseqValidA, rpclib, 'RpcNetworkIsProtseqValidA');
  1425. asm
  1426. MOV ESP, EBP
  1427. POP EBP
  1428. JMP [_RpcNetworkIsProtseqValidA]
  1429. end;
  1430. end;
  1431. var
  1432. _RpcNetworkIsProtseqValidW: Pointer;
  1433. function RpcNetworkIsProtseqValidW;
  1434. begin
  1435. GetProcedureAddress(_RpcNetworkIsProtseqValidW, rpclib, 'RpcNetworkIsProtseqValidW');
  1436. asm
  1437. MOV ESP, EBP
  1438. POP EBP
  1439. JMP [_RpcNetworkIsProtseqValidW]
  1440. end;
  1441. end;
  1442. var
  1443. _RpcMgmtInqComTimeout: Pointer;
  1444. function RpcMgmtInqComTimeout;
  1445. begin
  1446. GetProcedureAddress(_RpcMgmtInqComTimeout, rpclib, 'RpcMgmtInqComTimeout');
  1447. asm
  1448. MOV ESP, EBP
  1449. POP EBP
  1450. JMP [_RpcMgmtInqComTimeout]
  1451. end;
  1452. end;
  1453. var
  1454. _RpcMgmtSetComTimeout: Pointer;
  1455. function RpcMgmtSetComTimeout;
  1456. begin
  1457. GetProcedureAddress(_RpcMgmtSetComTimeout, rpclib, 'RpcMgmtSetComTimeout');
  1458. asm
  1459. MOV ESP, EBP
  1460. POP EBP
  1461. JMP [_RpcMgmtSetComTimeout]
  1462. end;
  1463. end;
  1464. var
  1465. _RpcMgmtSetCancelTimeout: Pointer;
  1466. function RpcMgmtSetCancelTimeout;
  1467. begin
  1468. GetProcedureAddress(_RpcMgmtSetCancelTimeout, rpclib, 'RpcMgmtSetCancelTimeout');
  1469. asm
  1470. MOV ESP, EBP
  1471. POP EBP
  1472. JMP [_RpcMgmtSetCancelTimeout]
  1473. end;
  1474. end;
  1475. var
  1476. _RpcNetworkInqProtseqsA: Pointer;
  1477. function RpcNetworkInqProtseqsA;
  1478. begin
  1479. GetProcedureAddress(_RpcNetworkInqProtseqsA, rpclib, 'RpcNetworkInqProtseqsA');
  1480. asm
  1481. MOV ESP, EBP
  1482. POP EBP
  1483. JMP [_RpcNetworkInqProtseqsA]
  1484. end;
  1485. end;
  1486. var
  1487. _RpcNetworkInqProtseqsW: Pointer;
  1488. function RpcNetworkInqProtseqsW;
  1489. begin
  1490. GetProcedureAddress(_RpcNetworkInqProtseqsW, rpclib, 'RpcNetworkInqProtseqsW');
  1491. asm
  1492. MOV ESP, EBP
  1493. POP EBP
  1494. JMP [_RpcNetworkInqProtseqsW]
  1495. end;
  1496. end;
  1497. var
  1498. _RpcNetworkInqProtseqs: Pointer;
  1499. function RpcNetworkInqProtseqs;
  1500. begin
  1501. GetProcedureAddress(_RpcNetworkInqProtseqs, rpclib, 'RpcNetworkInqProtseqs' + AWSuffix);
  1502. asm
  1503. MOV ESP, EBP
  1504. POP EBP
  1505. JMP [_RpcNetworkInqProtseqs]
  1506. end;
  1507. end;
  1508. var
  1509. _RpcObjectInqType: Pointer;
  1510. function RpcObjectInqType;
  1511. begin
  1512. GetProcedureAddress(_RpcObjectInqType, rpclib, 'RpcObjectInqType');
  1513. asm
  1514. MOV ESP, EBP
  1515. POP EBP
  1516. JMP [_RpcObjectInqType]
  1517. end;
  1518. end;
  1519. var
  1520. _RpcObjectSetInqFn: Pointer;
  1521. function RpcObjectSetInqFn;
  1522. begin
  1523. GetProcedureAddress(_RpcObjectSetInqFn, rpclib, 'RpcObjectSetInqFn');
  1524. asm
  1525. MOV ESP, EBP
  1526. POP EBP
  1527. JMP [_RpcObjectSetInqFn]
  1528. end;
  1529. end;
  1530. var
  1531. _RpcObjectSetType: Pointer;
  1532. function RpcObjectSetType;
  1533. begin
  1534. GetProcedureAddress(_RpcObjectSetType, rpclib, 'RpcObjectSetType');
  1535. asm
  1536. MOV ESP, EBP
  1537. POP EBP
  1538. JMP [_RpcObjectSetType]
  1539. end;
  1540. end;
  1541. var
  1542. _RpcProtseqVectorFreeA: Pointer;
  1543. function RpcProtseqVectorFreeA;
  1544. begin
  1545. GetProcedureAddress(_RpcProtseqVectorFreeA, rpclib, 'RpcProtseqVectorFreeA');
  1546. asm
  1547. MOV ESP, EBP
  1548. POP EBP
  1549. JMP [_RpcProtseqVectorFreeA]
  1550. end;
  1551. end;
  1552. var
  1553. _RpcProtseqVectorFreeW: Pointer;
  1554. function RpcProtseqVectorFreeW;
  1555. begin
  1556. GetProcedureAddress(_RpcProtseqVectorFreeW, rpclib, 'RpcProtseqVectorFreeW');
  1557. asm
  1558. MOV ESP, EBP
  1559. POP EBP
  1560. JMP [_RpcProtseqVectorFreeW]
  1561. end;
  1562. end;
  1563. var
  1564. _RpcProtseqVectorFree: Pointer;
  1565. function RpcProtseqVectorFree;
  1566. begin
  1567. GetProcedureAddress(_RpcProtseqVectorFree, rpclib, 'RpcProtseqVectorFree' + AWSuffix);
  1568. asm
  1569. MOV ESP, EBP
  1570. POP EBP
  1571. JMP [_RpcProtseqVectorFree]
  1572. end;
  1573. end;
  1574. var
  1575. _RpcServerInqBindings: Pointer;
  1576. function RpcServerInqBindings;
  1577. begin
  1578. GetProcedureAddress(_RpcServerInqBindings, rpclib, 'RpcServerInqBindings');
  1579. asm
  1580. MOV ESP, EBP
  1581. POP EBP
  1582. JMP [_RpcServerInqBindings]
  1583. end;
  1584. end;
  1585. var
  1586. _RpcServerInqIf: Pointer;
  1587. function RpcServerInqIf;
  1588. begin
  1589. GetProcedureAddress(_RpcServerInqIf, rpclib, 'RpcServerInqIf');
  1590. asm
  1591. MOV ESP, EBP
  1592. POP EBP
  1593. JMP [_RpcServerInqIf]
  1594. end;
  1595. end;
  1596. var
  1597. _RpcServerListen: Pointer;
  1598. function RpcServerListen;
  1599. begin
  1600. GetProcedureAddress(_RpcServerListen, rpclib, 'RpcServerListen');
  1601. asm
  1602. MOV ESP, EBP
  1603. POP EBP
  1604. JMP [_RpcServerListen]
  1605. end;
  1606. end;
  1607. var
  1608. _RpcServerRegisterIf: Pointer;
  1609. function RpcServerRegisterIf;
  1610. begin
  1611. GetProcedureAddress(_RpcServerRegisterIf, rpclib, 'RpcServerRegisterIf');
  1612. asm
  1613. MOV ESP, EBP
  1614. POP EBP
  1615. JMP [_RpcServerRegisterIf]
  1616. end;
  1617. end;
  1618. var
  1619. _RpcServerRegisterIfEx: Pointer;
  1620. function RpcServerRegisterIfEx;
  1621. begin
  1622. GetProcedureAddress(_RpcServerRegisterIfEx, rpclib, 'RpcServerRegisterIfEx');
  1623. asm
  1624. MOV ESP, EBP
  1625. POP EBP
  1626. JMP [_RpcServerRegisterIfEx]
  1627. end;
  1628. end;
  1629. var
  1630. _RpcServerRegisterIf2: Pointer;
  1631. function RpcServerRegisterIf2;
  1632. begin
  1633. GetProcedureAddress(_RpcServerRegisterIf2, rpclib, 'RpcServerRegisterIf2');
  1634. asm
  1635. MOV ESP, EBP
  1636. POP EBP
  1637. JMP [_RpcServerRegisterIf2]
  1638. end;
  1639. end;
  1640. var
  1641. _RpcServerUnregisterIf: Pointer;
  1642. function RpcServerUnregisterIf;
  1643. begin
  1644. GetProcedureAddress(_RpcServerUnregisterIf, rpclib, 'RpcServerUnregisterIf');
  1645. asm
  1646. MOV ESP, EBP
  1647. POP EBP
  1648. JMP [_RpcServerUnregisterIf]
  1649. end;
  1650. end;
  1651. var
  1652. _RpcServerUnregisterIfEx: Pointer;
  1653. function RpcServerUnregisterIfEx;
  1654. begin
  1655. GetProcedureAddress(_RpcServerUnregisterIfEx, rpclib, 'RpcServerUnregisterIfEx');
  1656. asm
  1657. MOV ESP, EBP
  1658. POP EBP
  1659. JMP [_RpcServerUnregisterIfEx]
  1660. end;
  1661. end;
  1662. var
  1663. _RpcServerUseAllProtseqs: Pointer;
  1664. function RpcServerUseAllProtseqs;
  1665. begin
  1666. GetProcedureAddress(_RpcServerUseAllProtseqs, rpclib, 'RpcServerUseAllProtseqs');
  1667. asm
  1668. MOV ESP, EBP
  1669. POP EBP
  1670. JMP [_RpcServerUseAllProtseqs]
  1671. end;
  1672. end;
  1673. var
  1674. _RpcServerUseAllProtseqsEx: Pointer;
  1675. function RpcServerUseAllProtseqsEx;
  1676. begin
  1677. GetProcedureAddress(_RpcServerUseAllProtseqsEx, rpclib, 'RpcServerUseAllProtseqsEx');
  1678. asm
  1679. MOV ESP, EBP
  1680. POP EBP
  1681. JMP [_RpcServerUseAllProtseqsEx]
  1682. end;
  1683. end;
  1684. var
  1685. _RpcServerUseAllProtseqsIf: Pointer;
  1686. function RpcServerUseAllProtseqsIf;
  1687. begin
  1688. GetProcedureAddress(_RpcServerUseAllProtseqsIf, rpclib, 'RpcServerUseAllProtseqsIf');
  1689. asm
  1690. MOV ESP, EBP
  1691. POP EBP
  1692. JMP [_RpcServerUseAllProtseqsIf]
  1693. end;
  1694. end;
  1695. var
  1696. _RpcServerUseAllProtseqsIfEx: Pointer;
  1697. function RpcServerUseAllProtseqsIfEx;
  1698. begin
  1699. GetProcedureAddress(_RpcServerUseAllProtseqsIfEx, rpclib, 'RpcServerUseAllProtseqsIfEx');
  1700. asm
  1701. MOV ESP, EBP
  1702. POP EBP
  1703. JMP [_RpcServerUseAllProtseqsIfEx]
  1704. end;
  1705. end;
  1706. var
  1707. _RpcServerUseProtseqA: Pointer;
  1708. function RpcServerUseProtseqA;
  1709. begin
  1710. GetProcedureAddress(_RpcServerUseProtseqA, rpclib, 'RpcServerUseProtseqA');
  1711. asm
  1712. MOV ESP, EBP
  1713. POP EBP
  1714. JMP [_RpcServerUseProtseqA]
  1715. end;
  1716. end;
  1717. var
  1718. _RpcServerUseProtseqW: Pointer;
  1719. function RpcServerUseProtseqW;
  1720. begin
  1721. GetProcedureAddress(_RpcServerUseProtseqW, rpclib, 'RpcServerUseProtseqW');
  1722. asm
  1723. MOV ESP, EBP
  1724. POP EBP
  1725. JMP [_RpcServerUseProtseqW]
  1726. end;
  1727. end;
  1728. var
  1729. _RpcServerUseProtseq: Pointer;
  1730. function RpcServerUseProtseq;
  1731. begin
  1732. GetProcedureAddress(_RpcServerUseProtseq, rpclib, 'RpcServerUseProtseq' + AWSuffix);
  1733. asm
  1734. MOV ESP, EBP
  1735. POP EBP
  1736. JMP [_RpcServerUseProtseq]
  1737. end;
  1738. end;
  1739. var
  1740. _RpcServerUseProtseqExA: Pointer;
  1741. function RpcServerUseProtseqExA;
  1742. begin
  1743. GetProcedureAddress(_RpcServerUseProtseqExA, rpclib, 'RpcServerUseProtseqExA');
  1744. asm
  1745. MOV ESP, EBP
  1746. POP EBP
  1747. JMP [_RpcServerUseProtseqExA]
  1748. end;
  1749. end;
  1750. var
  1751. _RpcServerUseProtseqExW: Pointer;
  1752. function RpcServerUseProtseqExW;
  1753. begin
  1754. GetProcedureAddress(_RpcServerUseProtseqExW, rpclib, 'RpcServerUseProtseqExW');
  1755. asm
  1756. MOV ESP, EBP
  1757. POP EBP
  1758. JMP [_RpcServerUseProtseqExW]
  1759. end;
  1760. end;
  1761. var
  1762. _RpcServerUseProtseqEx: Pointer;
  1763. function RpcServerUseProtseqEx;
  1764. begin
  1765. GetProcedureAddress(_RpcServerUseProtseqEx, rpclib, 'RpcServerUseProtseqEx' + AWSuffix);
  1766. asm
  1767. MOV ESP, EBP
  1768. POP EBP
  1769. JMP [_RpcServerUseProtseqEx]
  1770. end;
  1771. end;
  1772. var
  1773. _RpcServerUseProtseqEpA: Pointer;
  1774. function RpcServerUseProtseqEpA;
  1775. begin
  1776. GetProcedureAddress(_RpcServerUseProtseqEpA, rpclib, 'RpcServerUseProtseqEpA');
  1777. asm
  1778. MOV ESP, EBP
  1779. POP EBP
  1780. JMP [_RpcServerUseProtseqEpA]
  1781. end;
  1782. end;
  1783. var
  1784. _RpcServerUseProtseqEpW: Pointer;
  1785. function RpcServerUseProtseqEpW;
  1786. begin
  1787. GetProcedureAddress(_RpcServerUseProtseqEpW, rpclib, 'RpcServerUseProtseqEpW');
  1788. asm
  1789. MOV ESP, EBP
  1790. POP EBP
  1791. JMP [_RpcServerUseProtseqEpW]
  1792. end;
  1793. end;
  1794. var
  1795. _RpcServerUseProtseqEp: Pointer;
  1796. function RpcServerUseProtseqEp;
  1797. begin
  1798. GetProcedureAddress(_RpcServerUseProtseqEp, rpclib, 'RpcServerUseProtseqEp' + AWSuffix);
  1799. asm
  1800. MOV ESP, EBP
  1801. POP EBP
  1802. JMP [_RpcServerUseProtseqEp]
  1803. end;
  1804. end;
  1805. var
  1806. _RpcServerUseProtseqEpExA: Pointer;
  1807. function RpcServerUseProtseqEpExA;
  1808. begin
  1809. GetProcedureAddress(_RpcServerUseProtseqEpExA, rpclib, 'RpcServerUseProtseqEpExA');
  1810. asm
  1811. MOV ESP, EBP
  1812. POP EBP
  1813. JMP [_RpcServerUseProtseqEpExA]
  1814. end;
  1815. end;
  1816. var
  1817. _RpcServerUseProtseqEpExW: Pointer;
  1818. function RpcServerUseProtseqEpExW;
  1819. begin
  1820. GetProcedureAddress(_RpcServerUseProtseqEpExW, rpclib, 'RpcServerUseProtseqEpExW');
  1821. asm
  1822. MOV ESP, EBP
  1823. POP EBP
  1824. JMP [_RpcServerUseProtseqEpExW]
  1825. end;
  1826. end;
  1827. var
  1828. _RpcServerUseProtseqEpEx: Pointer;
  1829. function RpcServerUseProtseqEpEx;
  1830. begin
  1831. GetProcedureAddress(_RpcServerUseProtseqEpEx, rpclib, 'RpcServerUseProtseqEpEx' + AWSuffix);
  1832. asm
  1833. MOV ESP, EBP
  1834. POP EBP
  1835. JMP [_RpcServerUseProtseqEpEx]
  1836. end;
  1837. end;
  1838. var
  1839. _RpcServerUseProtseqIfA: Pointer;
  1840. function RpcServerUseProtseqIfA;
  1841. begin
  1842. GetProcedureAddress(_RpcServerUseProtseqIfA, rpclib, 'RpcServerUseProtseqIfA');
  1843. asm
  1844. MOV ESP, EBP
  1845. POP EBP
  1846. JMP [_RpcServerUseProtseqIfA]
  1847. end;
  1848. end;
  1849. var
  1850. _RpcServerUseProtseqIfW: Pointer;
  1851. function RpcServerUseProtseqIfW;
  1852. begin
  1853. GetProcedureAddress(_RpcServerUseProtseqIfW, rpclib, 'RpcServerUseProtseqIfW');
  1854. asm
  1855. MOV ESP, EBP
  1856. POP EBP
  1857. JMP [_RpcServerUseProtseqIfW]
  1858. end;
  1859. end;
  1860. var
  1861. _RpcServerUseProtseqIfExA: Pointer;
  1862. function RpcServerUseProtseqIfExA;
  1863. begin
  1864. GetProcedureAddress(_RpcServerUseProtseqIfExA, rpclib, 'RpcServerUseProtseqIfExA');
  1865. asm
  1866. MOV ESP, EBP
  1867. POP EBP
  1868. JMP [_RpcServerUseProtseqIfExA]
  1869. end;
  1870. end;
  1871. var
  1872. _RpcServerUseProtseqIfExW: Pointer;
  1873. function RpcServerUseProtseqIfExW;
  1874. begin
  1875. GetProcedureAddress(_RpcServerUseProtseqIfExW, rpclib, 'RpcServerUseProtseqIfExW');
  1876. asm
  1877. MOV ESP, EBP
  1878. POP EBP
  1879. JMP [_RpcServerUseProtseqIfExW]
  1880. end;
  1881. end;
  1882. var
  1883. _RpcServerUseProtseqIfEx: Pointer;
  1884. function RpcServerUseProtseqIfEx;
  1885. begin
  1886. GetProcedureAddress(_RpcServerUseProtseqIfEx, rpclib, 'RpcServerUseProtseqIfEx' + AWSuffix);
  1887. asm
  1888. MOV ESP, EBP
  1889. POP EBP
  1890. JMP [_RpcServerUseProtseqIfEx]
  1891. end;
  1892. end;
  1893. var
  1894. _RpcServerYield: Pointer;
  1895. procedure RpcServerYield;
  1896. begin
  1897. GetProcedureAddress(_RpcServerYield, rpclib, 'RpcServerYield');
  1898. asm
  1899. MOV ESP, EBP
  1900. POP EBP
  1901. JMP [_RpcServerYield]
  1902. end;
  1903. end;
  1904. var
  1905. _RpcMgmtStatsVectorFree: Pointer;
  1906. function RpcMgmtStatsVectorFree;
  1907. begin
  1908. GetProcedureAddress(_RpcMgmtStatsVectorFree, rpclib, 'RpcMgmtStatsVectorFree');
  1909. asm
  1910. MOV ESP, EBP
  1911. POP EBP
  1912. JMP [_RpcMgmtStatsVectorFree]
  1913. end;
  1914. end;
  1915. var
  1916. _RpcMgmtInqStats: Pointer;
  1917. function RpcMgmtInqStats;
  1918. begin
  1919. GetProcedureAddress(_RpcMgmtInqStats, rpclib, 'RpcMgmtInqStats');
  1920. asm
  1921. MOV ESP, EBP
  1922. POP EBP
  1923. JMP [_RpcMgmtInqStats]
  1924. end;
  1925. end;
  1926. var
  1927. _RpcMgmtIsServerListening: Pointer;
  1928. function RpcMgmtIsServerListening;
  1929. begin
  1930. GetProcedureAddress(_RpcMgmtIsServerListening, rpclib, 'RpcMgmtIsServerListening');
  1931. asm
  1932. MOV ESP, EBP
  1933. POP EBP
  1934. JMP [_RpcMgmtIsServerListening]
  1935. end;
  1936. end;
  1937. var
  1938. _RpcMgmtStopServerListening: Pointer;
  1939. function RpcMgmtStopServerListening;
  1940. begin
  1941. GetProcedureAddress(_RpcMgmtStopServerListening, rpclib, 'RpcMgmtStopServerListening');
  1942. asm
  1943. MOV ESP, EBP
  1944. POP EBP
  1945. JMP [_RpcMgmtStopServerListening]
  1946. end;
  1947. end;
  1948. var
  1949. _RpcMgmtWaitServerListen: Pointer;
  1950. function RpcMgmtWaitServerListen;
  1951. begin
  1952. GetProcedureAddress(_RpcMgmtWaitServerListen, rpclib, 'RpcMgmtWaitServerListen');
  1953. asm
  1954. MOV ESP, EBP
  1955. POP EBP
  1956. JMP [_RpcMgmtWaitServerListen]
  1957. end;
  1958. end;
  1959. var
  1960. _RpcMgmtSetServerStackSize: Pointer;
  1961. function RpcMgmtSetServerStackSize;
  1962. begin
  1963. GetProcedureAddress(_RpcMgmtSetServerStackSize, rpclib, 'RpcMgmtSetServerStackSize');
  1964. asm
  1965. MOV ESP, EBP
  1966. POP EBP
  1967. JMP [_RpcMgmtSetServerStackSize]
  1968. end;
  1969. end;
  1970. var
  1971. _RpcSsDontSerializeContext: Pointer;
  1972. procedure RpcSsDontSerializeContext;
  1973. begin
  1974. GetProcedureAddress(_RpcSsDontSerializeContext, rpclib, 'RpcSsDontSerializeContext');
  1975. asm
  1976. MOV ESP, EBP
  1977. POP EBP
  1978. JMP [_RpcSsDontSerializeContext]
  1979. end;
  1980. end;
  1981. var
  1982. _RpcMgmtEnableIdleCleanup: Pointer;
  1983. function RpcMgmtEnableIdleCleanup;
  1984. begin
  1985. GetProcedureAddress(_RpcMgmtEnableIdleCleanup, rpclib, 'RpcMgmtEnableIdleCleanup');
  1986. asm
  1987. MOV ESP, EBP
  1988. POP EBP
  1989. JMP [_RpcMgmtEnableIdleCleanup]
  1990. end;
  1991. end;
  1992. var
  1993. _RpcMgmtInqIfIds: Pointer;
  1994. function RpcMgmtInqIfIds;
  1995. begin
  1996. GetProcedureAddress(_RpcMgmtInqIfIds, rpclib, 'RpcMgmtInqIfIds');
  1997. asm
  1998. MOV ESP, EBP
  1999. POP EBP
  2000. JMP [_RpcMgmtInqIfIds]
  2001. end;
  2002. end;
  2003. var
  2004. _RpcIfIdVectorFree: Pointer;
  2005. function RpcIfIdVectorFree;
  2006. begin
  2007. GetProcedureAddress(_RpcIfIdVectorFree, rpclib, 'RpcIfIdVectorFree');
  2008. asm
  2009. MOV ESP, EBP
  2010. POP EBP
  2011. JMP [_RpcIfIdVectorFree]
  2012. end;
  2013. end;
  2014. var
  2015. _RpcMgmtInqServerPrincNameA: Pointer;
  2016. function RpcMgmtInqServerPrincNameA;
  2017. begin
  2018. GetProcedureAddress(_RpcMgmtInqServerPrincNameA, rpclib, 'RpcMgmtInqServerPrincNameA');
  2019. asm
  2020. MOV ESP, EBP
  2021. POP EBP
  2022. JMP [_RpcMgmtInqServerPrincNameA]
  2023. end;
  2024. end;
  2025. var
  2026. _RpcMgmtInqServerPrincNameW: Pointer;
  2027. function RpcMgmtInqServerPrincNameW;
  2028. begin
  2029. GetProcedureAddress(_RpcMgmtInqServerPrincNameW, rpclib, 'RpcMgmtInqServerPrincNameW');
  2030. asm
  2031. MOV ESP, EBP
  2032. POP EBP
  2033. JMP [_RpcMgmtInqServerPrincNameW]
  2034. end;
  2035. end;
  2036. var
  2037. _RpcMgmtInqServerPrincName: Pointer;
  2038. function RpcMgmtInqServerPrincName;
  2039. begin
  2040. GetProcedureAddress(_RpcMgmtInqServerPrincName, rpclib, 'RpcMgmtInqServerPrincName' + AWSuffix);
  2041. asm
  2042. MOV ESP, EBP
  2043. POP EBP
  2044. JMP [_RpcMgmtInqServerPrincName]
  2045. end;
  2046. end;
  2047. var
  2048. _RpcServerInqDefaultPrincNameA: Pointer;
  2049. function RpcServerInqDefaultPrincNameA;
  2050. begin
  2051. GetProcedureAddress(_RpcServerInqDefaultPrincNameA, rpclib, 'RpcServerInqDefaultPrincNameA');
  2052. asm
  2053. MOV ESP, EBP
  2054. POP EBP
  2055. JMP [_RpcServerInqDefaultPrincNameA]
  2056. end;
  2057. end;
  2058. var
  2059. _RpcServerInqDefaultPrincNameW: Pointer;
  2060. function RpcServerInqDefaultPrincNameW;
  2061. begin
  2062. GetProcedureAddress(_RpcServerInqDefaultPrincNameW, rpclib, 'RpcServerInqDefaultPrincNameW');
  2063. asm
  2064. MOV ESP, EBP
  2065. POP EBP
  2066. JMP [_RpcServerInqDefaultPrincNameW]
  2067. end;
  2068. end;
  2069. var
  2070. _RpcServerInqDefaultPrincName: Pointer;
  2071. function RpcServerInqDefaultPrincName;
  2072. begin
  2073. GetProcedureAddress(_RpcServerInqDefaultPrincName, rpclib, 'RpcServerInqDefaultPrincName' + AWSuffix);
  2074. asm
  2075. MOV ESP, EBP
  2076. POP EBP
  2077. JMP [_RpcServerInqDefaultPrincName]
  2078. end;
  2079. end;
  2080. var
  2081. _RpcEpResolveBinding: Pointer;
  2082. function RpcEpResolveBinding;
  2083. begin
  2084. GetProcedureAddress(_RpcEpResolveBinding, rpclib, 'RpcEpResolveBinding');
  2085. asm
  2086. MOV ESP, EBP
  2087. POP EBP
  2088. JMP [_RpcEpResolveBinding]
  2089. end;
  2090. end;
  2091. var
  2092. _RpcNsBindingInqEntryNameA: Pointer;
  2093. function RpcNsBindingInqEntryNameA;
  2094. begin
  2095. GetProcedureAddress(_RpcNsBindingInqEntryNameA, rpclib, 'RpcNsBindingInqEntryNameA');
  2096. asm
  2097. MOV ESP, EBP
  2098. POP EBP
  2099. JMP [_RpcNsBindingInqEntryNameA]
  2100. end;
  2101. end;
  2102. var
  2103. _RpcNsBindingInqEntryNameW: Pointer;
  2104. function RpcNsBindingInqEntryNameW;
  2105. begin
  2106. GetProcedureAddress(_RpcNsBindingInqEntryNameW, rpclib, 'RpcNsBindingInqEntryNameW');
  2107. asm
  2108. MOV ESP, EBP
  2109. POP EBP
  2110. JMP [_RpcNsBindingInqEntryNameW]
  2111. end;
  2112. end;
  2113. var
  2114. _RpcNsBindingInqEntryName: Pointer;
  2115. function RpcNsBindingInqEntryName;
  2116. begin
  2117. GetProcedureAddress(_RpcNsBindingInqEntryName, rpclib, 'RpcNsBindingInqEntryName' + AWSuffix);
  2118. asm
  2119. MOV ESP, EBP
  2120. POP EBP
  2121. JMP [_RpcNsBindingInqEntryName]
  2122. end;
  2123. end;
  2124. var
  2125. _RpcImpersonateClient: Pointer;
  2126. function RpcImpersonateClient;
  2127. begin
  2128. GetProcedureAddress(_RpcImpersonateClient, rpclib, 'RpcImpersonateClient');
  2129. asm
  2130. MOV ESP, EBP
  2131. POP EBP
  2132. JMP [_RpcImpersonateClient]
  2133. end;
  2134. end;
  2135. var
  2136. _RpcRevertToSelfEx: Pointer;
  2137. function RpcRevertToSelfEx;
  2138. begin
  2139. GetProcedureAddress(_RpcRevertToSelfEx, rpclib, 'RpcRevertToSelfEx');
  2140. asm
  2141. MOV ESP, EBP
  2142. POP EBP
  2143. JMP [_RpcRevertToSelfEx]
  2144. end;
  2145. end;
  2146. var
  2147. _RpcRevertToSelf: Pointer;
  2148. function RpcRevertToSelf;
  2149. begin
  2150. GetProcedureAddress(_RpcRevertToSelf, rpclib, 'RpcRevertToSelf');
  2151. asm
  2152. MOV ESP, EBP
  2153. POP EBP
  2154. JMP [_RpcRevertToSelf]
  2155. end;
  2156. end;
  2157. var
  2158. _RpcBindingInqAuthClientA: Pointer;
  2159. function RpcBindingInqAuthClientA;
  2160. begin
  2161. GetProcedureAddress(_RpcBindingInqAuthClientA, rpclib, 'RpcBindingInqAuthClientA');
  2162. asm
  2163. MOV ESP, EBP
  2164. POP EBP
  2165. JMP [_RpcBindingInqAuthClientA]
  2166. end;
  2167. end;
  2168. var
  2169. _RpcBindingInqAuthClientW: Pointer;
  2170. function RpcBindingInqAuthClientW;
  2171. begin
  2172. GetProcedureAddress(_RpcBindingInqAuthClientW, rpclib, 'RpcBindingInqAuthClientW');
  2173. asm
  2174. MOV ESP, EBP
  2175. POP EBP
  2176. JMP [_RpcBindingInqAuthClientW]
  2177. end;
  2178. end;
  2179. var
  2180. _RpcBindingInqAuthClientExA: Pointer;
  2181. function RpcBindingInqAuthClientExA;
  2182. begin
  2183. GetProcedureAddress(_RpcBindingInqAuthClientExA, rpclib, 'RpcBindingInqAuthClientExA');
  2184. asm
  2185. MOV ESP, EBP
  2186. POP EBP
  2187. JMP [_RpcBindingInqAuthClientExA]
  2188. end;
  2189. end;
  2190. var
  2191. _RpcBindingInqAuthClientExW: Pointer;
  2192. function RpcBindingInqAuthClientExW;
  2193. begin
  2194. GetProcedureAddress(_RpcBindingInqAuthClientExW, rpclib, 'RpcBindingInqAuthClientExW');
  2195. asm
  2196. MOV ESP, EBP
  2197. POP EBP
  2198. JMP [_RpcBindingInqAuthClientExW]
  2199. end;
  2200. end;
  2201. var
  2202. _RpcBindingInqAuthInfoA: Pointer;
  2203. function RpcBindingInqAuthInfoA;
  2204. begin
  2205. GetProcedureAddress(_RpcBindingInqAuthInfoA, rpclib, 'RpcBindingInqAuthInfoA');
  2206. asm
  2207. MOV ESP, EBP
  2208. POP EBP
  2209. JMP [_RpcBindingInqAuthInfoA]
  2210. end;
  2211. end;
  2212. var
  2213. _RpcBindingInqAuthInfoW: Pointer;
  2214. function RpcBindingInqAuthInfoW;
  2215. begin
  2216. GetProcedureAddress(_RpcBindingInqAuthInfoW, rpclib, 'RpcBindingInqAuthInfoW');
  2217. asm
  2218. MOV ESP, EBP
  2219. POP EBP
  2220. JMP [_RpcBindingInqAuthInfoW]
  2221. end;
  2222. end;
  2223. var
  2224. _RpcBindingSetAuthInfoA: Pointer;
  2225. function RpcBindingSetAuthInfoA;
  2226. begin
  2227. GetProcedureAddress(_RpcBindingSetAuthInfoA, rpclib, 'RpcBindingSetAuthInfoA');
  2228. asm
  2229. MOV ESP, EBP
  2230. POP EBP
  2231. JMP [_RpcBindingSetAuthInfoA]
  2232. end;
  2233. end;
  2234. var
  2235. _RpcBindingSetAuthInfoW: Pointer;
  2236. function RpcBindingSetAuthInfoW;
  2237. begin
  2238. GetProcedureAddress(_RpcBindingSetAuthInfoW, rpclib, 'RpcBindingSetAuthInfoW');
  2239. asm
  2240. MOV ESP, EBP
  2241. POP EBP
  2242. JMP [_RpcBindingSetAuthInfoW]
  2243. end;
  2244. end;
  2245. var
  2246. _RpcBindingSetAuthInfoExA: Pointer;
  2247. function RpcBindingSetAuthInfoExA;
  2248. begin
  2249. GetProcedureAddress(_RpcBindingSetAuthInfoExA, rpclib, 'RpcBindingSetAuthInfoExA');
  2250. asm
  2251. MOV ESP, EBP
  2252. POP EBP
  2253. JMP [_RpcBindingSetAuthInfoExA]
  2254. end;
  2255. end;
  2256. var
  2257. _RpcBindingSetAuthInfoExW: Pointer;
  2258. function RpcBindingSetAuthInfoExW;
  2259. begin
  2260. GetProcedureAddress(_RpcBindingSetAuthInfoExW, rpclib, 'RpcBindingSetAuthInfoExW');
  2261. asm
  2262. MOV ESP, EBP
  2263. POP EBP
  2264. JMP [_RpcBindingSetAuthInfoExW]
  2265. end;
  2266. end;
  2267. var
  2268. _RpcBindingInqAuthInfoExA: Pointer;
  2269. function RpcBindingInqAuthInfoExA;
  2270. begin
  2271. GetProcedureAddress(_RpcBindingInqAuthInfoExA, rpclib, 'RpcBindingInqAuthInfoExA');
  2272. asm
  2273. MOV ESP, EBP
  2274. POP EBP
  2275. JMP [_RpcBindingInqAuthInfoExA]
  2276. end;
  2277. end;
  2278. var
  2279. _RpcBindingInqAuthInfoExW: Pointer;
  2280. function RpcBindingInqAuthInfoExW;
  2281. begin
  2282. GetProcedureAddress(_RpcBindingInqAuthInfoExW, rpclib, 'RpcBindingInqAuthInfoExW');
  2283. asm
  2284. MOV ESP, EBP
  2285. POP EBP
  2286. JMP [_RpcBindingInqAuthInfoExW]
  2287. end;
  2288. end;
  2289. var
  2290. _RpcServerRegisterAuthInfoA: Pointer;
  2291. function RpcServerRegisterAuthInfoA;
  2292. begin
  2293. GetProcedureAddress(_RpcServerRegisterAuthInfoA, rpclib, 'RpcServerRegisterAuthInfoA');
  2294. asm
  2295. MOV ESP, EBP
  2296. POP EBP
  2297. JMP [_RpcServerRegisterAuthInfoA]
  2298. end;
  2299. end;
  2300. var
  2301. _RpcServerRegisterAuthInfoW: Pointer;
  2302. function RpcServerRegisterAuthInfoW;
  2303. begin
  2304. GetProcedureAddress(_RpcServerRegisterAuthInfoW, rpclib, 'RpcServerRegisterAuthInfoW');
  2305. asm
  2306. MOV ESP, EBP
  2307. POP EBP
  2308. JMP [_RpcServerRegisterAuthInfoW]
  2309. end;
  2310. end;
  2311. var
  2312. _RpcBindingInqAuthClient: Pointer;
  2313. function RpcBindingInqAuthClient;
  2314. begin
  2315. GetProcedureAddress(_RpcBindingInqAuthClient, rpclib, 'RpcBindingInqAuthClient' + AWSuffix);
  2316. asm
  2317. MOV ESP, EBP
  2318. POP EBP
  2319. JMP [_RpcBindingInqAuthClient]
  2320. end;
  2321. end;
  2322. var
  2323. _RpcBindingInqAuthClientEx: Pointer;
  2324. function RpcBindingInqAuthClientEx;
  2325. begin
  2326. GetProcedureAddress(_RpcBindingInqAuthClientEx, rpclib, 'RpcBindingInqAuthClientEx' + AWSuffix);
  2327. asm
  2328. MOV ESP, EBP
  2329. POP EBP
  2330. JMP [_RpcBindingInqAuthClientEx]
  2331. end;
  2332. end;
  2333. var
  2334. _RpcBindingInqAuthInfo: Pointer;
  2335. function RpcBindingInqAuthInfo;
  2336. begin
  2337. GetProcedureAddress(_RpcBindingInqAuthInfo, rpclib, 'RpcBindingInqAuthInfo' + AWSuffix);
  2338. asm
  2339. MOV ESP, EBP
  2340. POP EBP
  2341. JMP [_RpcBindingInqAuthInfo]
  2342. end;
  2343. end;
  2344. var
  2345. _RpcBindingSetAuthInfo: Pointer;
  2346. function RpcBindingSetAuthInfo;
  2347. begin
  2348. GetProcedureAddress(_RpcBindingSetAuthInfo, rpclib, 'RpcBindingSetAuthInfo' + AWSuffix);
  2349. asm
  2350. MOV ESP, EBP
  2351. POP EBP
  2352. JMP [_RpcBindingSetAuthInfo]
  2353. end;
  2354. end;
  2355. var
  2356. _RpcBindingSetAuthInfoEx: Pointer;
  2357. function RpcBindingSetAuthInfoEx;
  2358. begin
  2359. GetProcedureAddress(_RpcBindingSetAuthInfoEx, rpclib, 'RpcBindingSetAuthInfoEx' + AWSuffix);
  2360. asm
  2361. MOV ESP, EBP
  2362. POP EBP
  2363. JMP [_RpcBindingSetAuthInfoEx]
  2364. end;
  2365. end;
  2366. var
  2367. _RpcBindingInqAuthInfoEx: Pointer;
  2368. function RpcBindingInqAuthInfoEx;
  2369. begin
  2370. GetProcedureAddress(_RpcBindingInqAuthInfoEx, rpclib, 'RpcBindingInqAuthInfoEx' + AWSuffix);
  2371. asm
  2372. MOV ESP, EBP
  2373. POP EBP
  2374. JMP [_RpcBindingInqAuthInfoEx]
  2375. end;
  2376. end;
  2377. var
  2378. _RpcServerRegisterAuthInfo: Pointer;
  2379. function RpcServerRegisterAuthInfo;
  2380. begin
  2381. GetProcedureAddress(_RpcServerRegisterAuthInfo, rpclib, 'RpcServerRegisterAuthInfo' + AWSuffix);
  2382. asm
  2383. MOV ESP, EBP
  2384. POP EBP
  2385. JMP [_RpcServerRegisterAuthInfo]
  2386. end;
  2387. end;
  2388. var
  2389. _RpcBindingServerFromClient: Pointer;
  2390. function RpcBindingServerFromClient;
  2391. begin
  2392. GetProcedureAddress(_RpcBindingServerFromClient, rpclib, 'RpcBindingServerFromClient');
  2393. asm
  2394. MOV ESP, EBP
  2395. POP EBP
  2396. JMP [_RpcBindingServerFromClient]
  2397. end;
  2398. end;
  2399. var
  2400. _RpcRaiseException: Pointer;
  2401. procedure RpcRaiseException;
  2402. begin
  2403. GetProcedureAddress(_RpcRaiseException, rpclib, 'RpcRaiseException');
  2404. asm
  2405. MOV ESP, EBP
  2406. POP EBP
  2407. JMP [_RpcRaiseException]
  2408. end;
  2409. end;
  2410. var
  2411. _RpcTestCancel: Pointer;
  2412. function RpcTestCancel;
  2413. begin
  2414. GetProcedureAddress(_RpcTestCancel, rpclib, 'RpcTestCancel');
  2415. asm
  2416. MOV ESP, EBP
  2417. POP EBP
  2418. JMP [_RpcTestCancel]
  2419. end;
  2420. end;
  2421. var
  2422. _RpcServerTestCancel: Pointer;
  2423. function RpcServerTestCancel;
  2424. begin
  2425. GetProcedureAddress(_RpcServerTestCancel, rpclib, 'RpcServerTestCancel');
  2426. asm
  2427. MOV ESP, EBP
  2428. POP EBP
  2429. JMP [_RpcServerTestCancel]
  2430. end;
  2431. end;
  2432. var
  2433. _RpcCancelThread: Pointer;
  2434. function RpcCancelThread;
  2435. begin
  2436. GetProcedureAddress(_RpcCancelThread, rpclib, 'RpcCancelThread');
  2437. asm
  2438. MOV ESP, EBP
  2439. POP EBP
  2440. JMP [_RpcCancelThread]
  2441. end;
  2442. end;
  2443. var
  2444. _RpcCancelThreadEx: Pointer;
  2445. function RpcCancelThreadEx;
  2446. begin
  2447. GetProcedureAddress(_RpcCancelThreadEx, rpclib, 'RpcCancelThreadEx');
  2448. asm
  2449. MOV ESP, EBP
  2450. POP EBP
  2451. JMP [_RpcCancelThreadEx]
  2452. end;
  2453. end;
  2454. var
  2455. _UuidCreate: Pointer;
  2456. function UuidCreate;
  2457. begin
  2458. GetProcedureAddress(_UuidCreate, rpclib, 'UuidCreate');
  2459. asm
  2460. MOV ESP, EBP
  2461. POP EBP
  2462. JMP [_UuidCreate]
  2463. end;
  2464. end;
  2465. var
  2466. _UuidCreateSequential: Pointer;
  2467. function UuidCreateSequential;
  2468. begin
  2469. GetProcedureAddress(_UuidCreateSequential, rpclib, 'UuidCreateSequential');
  2470. asm
  2471. MOV ESP, EBP
  2472. POP EBP
  2473. JMP [_UuidCreateSequential]
  2474. end;
  2475. end;
  2476. var
  2477. _UuidFromStringA: Pointer;
  2478. function UuidFromStringA;
  2479. begin
  2480. GetProcedureAddress(_UuidFromStringA, rpclib, 'UuidFromStringA');
  2481. asm
  2482. MOV ESP, EBP
  2483. POP EBP
  2484. JMP [_UuidFromStringA]
  2485. end;
  2486. end;
  2487. var
  2488. _UuidFromStringW: Pointer;
  2489. function UuidFromStringW;
  2490. begin
  2491. GetProcedureAddress(_UuidFromStringW, rpclib, 'UuidFromStringW');
  2492. asm
  2493. MOV ESP, EBP
  2494. POP EBP
  2495. JMP [_UuidFromStringW]
  2496. end;
  2497. end;
  2498. var
  2499. _UuidFromString: Pointer;
  2500. function UuidFromString;
  2501. begin
  2502. GetProcedureAddress(_UuidFromString, rpclib, 'UuidFromString' + AWSuffix);
  2503. asm
  2504. MOV ESP, EBP
  2505. POP EBP
  2506. JMP [_UuidFromString]
  2507. end;
  2508. end;
  2509. var
  2510. _UuidToStringA: Pointer;
  2511. function UuidToStringA;
  2512. begin
  2513. GetProcedureAddress(_UuidToStringA, rpclib, 'UuidToStringA');
  2514. asm
  2515. MOV ESP, EBP
  2516. POP EBP
  2517. JMP [_UuidToStringA]
  2518. end;
  2519. end;
  2520. var
  2521. _UuidToStringW: Pointer;
  2522. function UuidToStringW;
  2523. begin
  2524. GetProcedureAddress(_UuidToStringW, rpclib, 'UuidToStringW');
  2525. asm
  2526. MOV ESP, EBP
  2527. POP EBP
  2528. JMP [_UuidToStringW]
  2529. end;
  2530. end;
  2531. var
  2532. _UuidToString: Pointer;
  2533. function UuidToString;
  2534. begin
  2535. GetProcedureAddress(_UuidToString, rpclib, 'UuidToString' + AWSuffix);
  2536. asm
  2537. MOV ESP, EBP
  2538. POP EBP
  2539. JMP [_UuidToString]
  2540. end;
  2541. end;
  2542. var
  2543. _UuidCompare: Pointer;
  2544. function UuidCompare;
  2545. begin
  2546. GetProcedureAddress(_UuidCompare, rpclib, 'UuidCompare');
  2547. asm
  2548. MOV ESP, EBP
  2549. POP EBP
  2550. JMP [_UuidCompare]
  2551. end;
  2552. end;
  2553. var
  2554. _UuidCreateNil: Pointer;
  2555. function UuidCreateNil;
  2556. begin
  2557. GetProcedureAddress(_UuidCreateNil, rpclib, 'UuidCreateNil');
  2558. asm
  2559. MOV ESP, EBP
  2560. POP EBP
  2561. JMP [_UuidCreateNil]
  2562. end;
  2563. end;
  2564. var
  2565. _UuidEqual: Pointer;
  2566. function UuidEqual;
  2567. begin
  2568. GetProcedureAddress(_UuidEqual, rpclib, 'UuidEqual');
  2569. asm
  2570. MOV ESP, EBP
  2571. POP EBP
  2572. JMP [_UuidEqual]
  2573. end;
  2574. end;
  2575. var
  2576. _UuidHash: Pointer;
  2577. function UuidHash;
  2578. begin
  2579. GetProcedureAddress(_UuidHash, rpclib, 'UuidHash');
  2580. asm
  2581. MOV ESP, EBP
  2582. POP EBP
  2583. JMP [_UuidHash]
  2584. end;
  2585. end;
  2586. var
  2587. _UuidIsNil: Pointer;
  2588. function UuidIsNil;
  2589. begin
  2590. GetProcedureAddress(_UuidIsNil, rpclib, 'UuidIsNil');
  2591. asm
  2592. MOV ESP, EBP
  2593. POP EBP
  2594. JMP [_UuidIsNil]
  2595. end;
  2596. end;
  2597. var
  2598. _RpcEpRegisterNoReplaceA: Pointer;
  2599. function RpcEpRegisterNoReplaceA;
  2600. begin
  2601. GetProcedureAddress(_RpcEpRegisterNoReplaceA, rpclib, 'RpcEpRegisterNoReplaceA');
  2602. asm
  2603. MOV ESP, EBP
  2604. POP EBP
  2605. JMP [_RpcEpRegisterNoReplaceA]
  2606. end;
  2607. end;
  2608. var
  2609. _RpcEpRegisterNoReplaceW: Pointer;
  2610. function RpcEpRegisterNoReplaceW;
  2611. begin
  2612. GetProcedureAddress(_RpcEpRegisterNoReplaceW, rpclib, 'RpcEpRegisterNoReplaceW');
  2613. asm
  2614. MOV ESP, EBP
  2615. POP EBP
  2616. JMP [_RpcEpRegisterNoReplaceW]
  2617. end;
  2618. end;
  2619. var
  2620. _RpcEpRegisterNoReplace: Pointer;
  2621. function RpcEpRegisterNoReplace;
  2622. begin
  2623. GetProcedureAddress(_RpcEpRegisterNoReplace, rpclib, 'RpcEpRegisterNoReplace' + AWSuffix);
  2624. asm
  2625. MOV ESP, EBP
  2626. POP EBP
  2627. JMP [_RpcEpRegisterNoReplace]
  2628. end;
  2629. end;
  2630. var
  2631. _RpcEpRegisterA: Pointer;
  2632. function RpcEpRegisterA;
  2633. begin
  2634. GetProcedureAddress(_RpcEpRegisterA, rpclib, 'RpcEpRegisterA');
  2635. asm
  2636. MOV ESP, EBP
  2637. POP EBP
  2638. JMP [_RpcEpRegisterA]
  2639. end;
  2640. end;
  2641. var
  2642. _RpcEpRegisterW: Pointer;
  2643. function RpcEpRegisterW;
  2644. begin
  2645. GetProcedureAddress(_RpcEpRegisterW, rpclib, 'RpcEpRegisterW');
  2646. asm
  2647. MOV ESP, EBP
  2648. POP EBP
  2649. JMP [_RpcEpRegisterW]
  2650. end;
  2651. end;
  2652. var
  2653. _RpcEpRegister: Pointer;
  2654. function RpcEpRegister;
  2655. begin
  2656. GetProcedureAddress(_RpcEpRegister, rpclib, 'RpcEpRegister' + AWSuffix);
  2657. asm
  2658. MOV ESP, EBP
  2659. POP EBP
  2660. JMP [_RpcEpRegister]
  2661. end;
  2662. end;
  2663. var
  2664. _RpcEpUnregister: Pointer;
  2665. function RpcEpUnregister;
  2666. begin
  2667. GetProcedureAddress(_RpcEpUnregister, rpclib, 'RpcEpUnregister');
  2668. asm
  2669. MOV ESP, EBP
  2670. POP EBP
  2671. JMP [_RpcEpUnregister]
  2672. end;
  2673. end;
  2674. var
  2675. _DceErrorInqTextA: Pointer;
  2676. function DceErrorInqTextA;
  2677. begin
  2678. GetProcedureAddress(_DceErrorInqTextA, rpclib, 'DceErrorInqTextA');
  2679. asm
  2680. MOV ESP, EBP
  2681. POP EBP
  2682. JMP [_DceErrorInqTextA]
  2683. end;
  2684. end;
  2685. var
  2686. _DceErrorInqTextW: Pointer;
  2687. function DceErrorInqTextW;
  2688. begin
  2689. GetProcedureAddress(_DceErrorInqTextW, rpclib, 'DceErrorInqTextW');
  2690. asm
  2691. MOV ESP, EBP
  2692. POP EBP
  2693. JMP [_DceErrorInqTextW]
  2694. end;
  2695. end;
  2696. var
  2697. _DceErrorInqText: Pointer;
  2698. function DceErrorInqText;
  2699. begin
  2700. GetProcedureAddress(_DceErrorInqText, rpclib, 'DceErrorInqText' + AWSuffix);
  2701. asm
  2702. MOV ESP, EBP
  2703. POP EBP
  2704. JMP [_DceErrorInqText]
  2705. end;
  2706. end;
  2707. var
  2708. _RpcMgmtEpEltInqBegin: Pointer;
  2709. function RpcMgmtEpEltInqBegin;
  2710. begin
  2711. GetProcedureAddress(_RpcMgmtEpEltInqBegin, rpclib, 'RpcMgmtEpEltInqBegin');
  2712. asm
  2713. MOV ESP, EBP
  2714. POP EBP
  2715. JMP [_RpcMgmtEpEltInqBegin]
  2716. end;
  2717. end;
  2718. var
  2719. _RpcMgmtEpEltInqDone: Pointer;
  2720. function RpcMgmtEpEltInqDone;
  2721. begin
  2722. GetProcedureAddress(_RpcMgmtEpEltInqDone, rpclib, 'RpcMgmtEpEltInqDone');
  2723. asm
  2724. MOV ESP, EBP
  2725. POP EBP
  2726. JMP [_RpcMgmtEpEltInqDone]
  2727. end;
  2728. end;
  2729. var
  2730. _RpcMgmtEpEltInqNextA: Pointer;
  2731. function RpcMgmtEpEltInqNextA;
  2732. begin
  2733. GetProcedureAddress(_RpcMgmtEpEltInqNextA, rpclib, 'RpcMgmtEpEltInqNextA');
  2734. asm
  2735. MOV ESP, EBP
  2736. POP EBP
  2737. JMP [_RpcMgmtEpEltInqNextA]
  2738. end;
  2739. end;
  2740. var
  2741. _RpcMgmtEpEltInqNextW: Pointer;
  2742. function RpcMgmtEpEltInqNextW;
  2743. begin
  2744. GetProcedureAddress(_RpcMgmtEpEltInqNextW, rpclib, 'RpcMgmtEpEltInqNextW');
  2745. asm
  2746. MOV ESP, EBP
  2747. POP EBP
  2748. JMP [_RpcMgmtEpEltInqNextW]
  2749. end;
  2750. end;
  2751. var
  2752. _RpcMgmtEpEltInqNext: Pointer;
  2753. function RpcMgmtEpEltInqNext;
  2754. begin
  2755. GetProcedureAddress(_RpcMgmtEpEltInqNext, rpclib, 'RpcMgmtEpEltInqNext' + AWSuffix);
  2756. asm
  2757. MOV ESP, EBP
  2758. POP EBP
  2759. JMP [_RpcMgmtEpEltInqNext]
  2760. end;
  2761. end;
  2762. var
  2763. _RpcMgmtEpUnregister: Pointer;
  2764. function RpcMgmtEpUnregister;
  2765. begin
  2766. GetProcedureAddress(_RpcMgmtEpUnregister, rpclib, 'RpcMgmtEpUnregister');
  2767. asm
  2768. MOV ESP, EBP
  2769. POP EBP
  2770. JMP [_RpcMgmtEpUnregister]
  2771. end;
  2772. end;
  2773. var
  2774. _RpcMgmtSetAuthorizationFn: Pointer;
  2775. function RpcMgmtSetAuthorizationFn;
  2776. begin
  2777. GetProcedureAddress(_RpcMgmtSetAuthorizationFn, rpclib, 'RpcMgmtSetAuthorizationFn');
  2778. asm
  2779. MOV ESP, EBP
  2780. POP EBP
  2781. JMP [_RpcMgmtSetAuthorizationFn]
  2782. end;
  2783. end;
  2784. {$ELSE}
  2785. function RpcBindingCopy; external rpclib name 'RpcBindingCopy';
  2786. function RpcBindingFree; external rpclib name 'RpcBindingFree';
  2787. function RpcBindingSetOption; external rpclib name 'RpcBindingSetOption';
  2788. function RpcBindingInqOption; external rpclib name 'RpcBindingInqOption';
  2789. function RpcBindingFromStringBindingA; external rpclib name 'RpcBindingFromStringBindingA';
  2790. function RpcBindingFromStringBindingW; external rpclib name 'RpcBindingFromStringBindingW';
  2791. function RpcBindingFromStringBinding; external rpclib name 'RpcBindingFromStringBinding' + AWSuffix;
  2792. function RpcSsGetContextBinding; external rpclib name 'RpcSsGetContextBinding';
  2793. function RpcBindingInqObject; external rpclib name 'RpcBindingInqObject';
  2794. function RpcBindingReset; external rpclib name 'RpcBindingReset';
  2795. function RpcBindingSetObject; external rpclib name 'RpcBindingSetObject';
  2796. function RpcMgmtInqDefaultProtectLevel; external rpclib name 'RpcMgmtInqDefaultProtectLevel';
  2797. function RpcBindingToStringBindingA; external rpclib name 'RpcBindingToStringBindingA';
  2798. function RpcBindingToStringBindingW; external rpclib name 'RpcBindingToStringBindingW';
  2799. function RpcBindingToStringBinding; external rpclib name 'RpcBindingToStringBinding' + AWSuffix;
  2800. function RpcBindingVectorFree; external rpclib name 'RpcBindingVectorFree';
  2801. function RpcStringBindingComposeA; external rpclib name 'RpcStringBindingComposeA';
  2802. function RpcStringBindingComposeW; external rpclib name 'RpcStringBindingComposeW';
  2803. function RpcStringBindingCompose; external rpclib name 'RpcStringBindingCompose' + AWSuffix;
  2804. function RpcStringBindingParseA; external rpclib name 'RpcStringBindingParseA';
  2805. function RpcStringBindingParseW; external rpclib name 'RpcStringBindingParseW';
  2806. function RpcStringBindingParse; external rpclib name 'RpcStringBindingParse' + AWSuffix;
  2807. function RpcStringFreeA; external rpclib name 'RpcStringFreeA';
  2808. function RpcStringFreeW; external rpclib name 'RpcStringFreeW';
  2809. function RpcStringFree; external rpclib name 'RpcStringFree' + AWSuffix;
  2810. function RpcIfInqId; external rpclib name 'RpcIfInqId';
  2811. function RpcNetworkIsProtseqValidA; external rpclib name 'RpcNetworkIsProtseqValidA';
  2812. function RpcNetworkIsProtseqValidW; external rpclib name 'RpcNetworkIsProtseqValidW';
  2813. function RpcMgmtInqComTimeout; external rpclib name 'RpcMgmtInqComTimeout';
  2814. function RpcMgmtSetComTimeout; external rpclib name 'RpcMgmtSetComTimeout';
  2815. function RpcMgmtSetCancelTimeout; external rpclib name 'RpcMgmtSetCancelTimeout';
  2816. function RpcNetworkInqProtseqsA; external rpclib name 'RpcNetworkInqProtseqsA';
  2817. function RpcNetworkInqProtseqsW; external rpclib name 'RpcNetworkInqProtseqsW';
  2818. function RpcNetworkInqProtseqs; external rpclib name 'RpcNetworkInqProtseqs' + AWSuffix;
  2819. function RpcObjectInqType; external rpclib name 'RpcObjectInqType';
  2820. function RpcObjectSetInqFn; external rpclib name 'RpcObjectSetInqFn';
  2821. function RpcObjectSetType; external rpclib name 'RpcObjectSetType';
  2822. function RpcProtseqVectorFreeA; external rpclib name 'RpcProtseqVectorFreeA';
  2823. function RpcProtseqVectorFreeW; external rpclib name 'RpcProtseqVectorFreeW';
  2824. function RpcProtseqVectorFree; external rpclib name 'RpcProtseqVectorFree' + AWSuffix;
  2825. function RpcServerInqBindings; external rpclib name 'RpcServerInqBindings';
  2826. function RpcServerInqIf; external rpclib name 'RpcServerInqIf';
  2827. function RpcServerListen; external rpclib name 'RpcServerListen';
  2828. function RpcServerRegisterIf; external rpclib name 'RpcServerRegisterIf';
  2829. function RpcServerRegisterIfEx; external rpclib name 'RpcServerRegisterIfEx';
  2830. function RpcServerRegisterIf2; external rpclib name 'RpcServerRegisterIf2';
  2831. function RpcServerUnregisterIf; external rpclib name 'RpcServerUnregisterIf';
  2832. function RpcServerUnregisterIfEx; external rpclib name 'RpcServerUnregisterIfEx';
  2833. function RpcServerUseAllProtseqs; external rpclib name 'RpcServerUseAllProtseqs';
  2834. function RpcServerUseAllProtseqsEx; external rpclib name 'RpcServerUseAllProtseqsEx';
  2835. function RpcServerUseAllProtseqsIf; external rpclib name 'RpcServerUseAllProtseqsIf';
  2836. function RpcServerUseAllProtseqsIfEx; external rpclib name 'RpcServerUseAllProtseqsIfEx';
  2837. function RpcServerUseProtseqA; external rpclib name 'RpcServerUseProtseqA';
  2838. function RpcServerUseProtseqW; external rpclib name 'RpcServerUseProtseqW';
  2839. function RpcServerUseProtseq; external rpclib name 'RpcServerUseProtseq' + AWSuffix;
  2840. function RpcServerUseProtseqExA; external rpclib name 'RpcServerUseProtseqExA';
  2841. function RpcServerUseProtseqExW; external rpclib name 'RpcServerUseProtseqExW';
  2842. function RpcServerUseProtseqEx; external rpclib name 'RpcServerUseProtseqEx' + AWSuffix;
  2843. function RpcServerUseProtseqEpA; external rpclib name 'RpcServerUseProtseqEpA';
  2844. function RpcServerUseProtseqEpW; external rpclib name 'RpcServerUseProtseqEpW';
  2845. function RpcServerUseProtseqEp; external rpclib name 'RpcServerUseProtseqEp' + AWSuffix;
  2846. function RpcServerUseProtseqEpExA; external rpclib name 'RpcServerUseProtseqEpExA';
  2847. function RpcServerUseProtseqEpExW; external rpclib name 'RpcServerUseProtseqEpExW';
  2848. function RpcServerUseProtseqEpEx; external rpclib name 'RpcServerUseProtseqEpEx' + AWSuffix;
  2849. function RpcServerUseProtseqIfA; external rpclib name 'RpcServerUseProtseqIfA';
  2850. function RpcServerUseProtseqIfW; external rpclib name 'RpcServerUseProtseqIfW';
  2851. function RpcServerUseProtseqIfExA; external rpclib name 'RpcServerUseProtseqIfExA';
  2852. function RpcServerUseProtseqIfExW; external rpclib name 'RpcServerUseProtseqIfExW';
  2853. function RpcServerUseProtseqIfEx; external rpclib name 'RpcServerUseProtseqIfEx' + AWSuffix;
  2854. procedure RpcServerYield; external rpclib name 'RpcServerYield';
  2855. function RpcMgmtStatsVectorFree; external rpclib name 'RpcMgmtStatsVectorFree';
  2856. function RpcMgmtInqStats; external rpclib name 'RpcMgmtInqStats';
  2857. function RpcMgmtIsServerListening; external rpclib name 'RpcMgmtIsServerListening';
  2858. function RpcMgmtStopServerListening; external rpclib name 'RpcMgmtStopServerListening';
  2859. function RpcMgmtWaitServerListen; external rpclib name 'RpcMgmtWaitServerListen';
  2860. function RpcMgmtSetServerStackSize; external rpclib name 'RpcMgmtSetServerStackSize';
  2861. procedure RpcSsDontSerializeContext; external rpclib name 'RpcSsDontSerializeContext';
  2862. function RpcMgmtEnableIdleCleanup; external rpclib name 'RpcMgmtEnableIdleCleanup';
  2863. function RpcMgmtInqIfIds; external rpclib name 'RpcMgmtInqIfIds';
  2864. function RpcIfIdVectorFree; external rpclib name 'RpcIfIdVectorFree';
  2865. function RpcMgmtInqServerPrincNameA; external rpclib name 'RpcMgmtInqServerPrincNameA';
  2866. function RpcMgmtInqServerPrincNameW; external rpclib name 'RpcMgmtInqServerPrincNameW';
  2867. function RpcMgmtInqServerPrincName; external rpclib name 'RpcMgmtInqServerPrincName' + AWSuffix;
  2868. function RpcServerInqDefaultPrincNameA; external rpclib name 'RpcServerInqDefaultPrincNameA';
  2869. function RpcServerInqDefaultPrincNameW; external rpclib name 'RpcServerInqDefaultPrincNameW';
  2870. function RpcServerInqDefaultPrincName; external rpclib name 'RpcServerInqDefaultPrincName' + AWSuffix;
  2871. function RpcEpResolveBinding; external rpclib name 'RpcEpResolveBinding';
  2872. function RpcNsBindingInqEntryNameA; external rpclib name 'RpcNsBindingInqEntryNameA';
  2873. function RpcNsBindingInqEntryNameW; external rpclib name 'RpcNsBindingInqEntryNameW';
  2874. function RpcNsBindingInqEntryName; external rpclib name 'RpcNsBindingInqEntryName' + AWSuffix;
  2875. function RpcImpersonateClient; external rpclib name 'RpcImpersonateClient';
  2876. function RpcRevertToSelfEx; external rpclib name 'RpcRevertToSelfEx';
  2877. function RpcRevertToSelf; external rpclib name 'RpcRevertToSelf';
  2878. function RpcBindingInqAuthClientA; external rpclib name 'RpcBindingInqAuthClientA';
  2879. function RpcBindingInqAuthClientW; external rpclib name 'RpcBindingInqAuthClientW';
  2880. function RpcBindingInqAuthClientExA; external rpclib name 'RpcBindingInqAuthClientExA';
  2881. function RpcBindingInqAuthClientExW; external rpclib name 'RpcBindingInqAuthClientExW';
  2882. function RpcBindingInqAuthInfoA; external rpclib name 'RpcBindingInqAuthInfoA';
  2883. function RpcBindingInqAuthInfoW; external rpclib name 'RpcBindingInqAuthInfoW';
  2884. function RpcBindingSetAuthInfoA; external rpclib name 'RpcBindingSetAuthInfoA';
  2885. function RpcBindingSetAuthInfoW; external rpclib name 'RpcBindingSetAuthInfoW';
  2886. function RpcBindingSetAuthInfoExA; external rpclib name 'RpcBindingSetAuthInfoExA';
  2887. function RpcBindingSetAuthInfoExW; external rpclib name 'RpcBindingSetAuthInfoExW';
  2888. function RpcBindingInqAuthInfoExA; external rpclib name 'RpcBindingInqAuthInfoExA';
  2889. function RpcBindingInqAuthInfoExW; external rpclib name 'RpcBindingInqAuthInfoExW';
  2890. function RpcServerRegisterAuthInfoA; external rpclib name 'RpcServerRegisterAuthInfoA';
  2891. function RpcServerRegisterAuthInfoW; external rpclib name 'RpcServerRegisterAuthInfoW';
  2892. function RpcBindingInqAuthClient; external rpclib name 'RpcBindingInqAuthClient' + AWSuffix;
  2893. function RpcBindingInqAuthClientEx; external rpclib name 'RpcBindingInqAuthClientEx' + AWSuffix;
  2894. function RpcBindingInqAuthInfo; external rpclib name 'RpcBindingInqAuthInfo' + AWSuffix;
  2895. function RpcBindingSetAuthInfo; external rpclib name 'RpcBindingSetAuthInfo' + AWSuffix;
  2896. function RpcBindingSetAuthInfoEx; external rpclib name 'RpcBindingSetAuthInfoEx' + AWSuffix;
  2897. function RpcBindingInqAuthInfoEx; external rpclib name 'RpcBindingInqAuthInfoEx' + AWSuffix;
  2898. function RpcServerRegisterAuthInfo; external rpclib name 'RpcServerRegisterAuthInfo' + AWSuffix;
  2899. function RpcBindingServerFromClient; external rpclib name 'RpcBindingServerFromClient';
  2900. procedure RpcRaiseException; external rpclib name 'RpcRaiseException';
  2901. function RpcTestCancel; external rpclib name 'RpcTestCancel';
  2902. function RpcServerTestCancel; external rpclib name 'RpcServerTestCancel';
  2903. function RpcCancelThread; external rpclib name 'RpcCancelThread';
  2904. function RpcCancelThreadEx; external rpclib name 'RpcCancelThreadEx';
  2905. function UuidCreate; external rpclib name 'UuidCreate';
  2906. function UuidCreateSequential; external rpclib name 'UuidCreateSequential';
  2907. function UuidFromStringA; external rpclib name 'UuidFromStringA';
  2908. function UuidFromStringW; external rpclib name 'UuidFromStringW';
  2909. function UuidFromString; external rpclib name 'UuidFromString' + AWSuffix;
  2910. function UuidToStringA; external rpclib name 'UuidToStringA';
  2911. function UuidToStringW; external rpclib name 'UuidToStringW';
  2912. function UuidToString; external rpclib name 'UuidToString' + AWSuffix;
  2913. function UuidCompare; external rpclib name 'UuidCompare';
  2914. function UuidCreateNil; external rpclib name 'UuidCreateNil';
  2915. function UuidEqual; external rpclib name 'UuidEqual';
  2916. function UuidHash; external rpclib name 'UuidHash';
  2917. function UuidIsNil; external rpclib name 'UuidIsNil';
  2918. function RpcEpRegisterNoReplaceA; external rpclib name 'RpcEpRegisterNoReplaceA';
  2919. function RpcEpRegisterNoReplaceW; external rpclib name 'RpcEpRegisterNoReplaceW';
  2920. function RpcEpRegisterNoReplace; external rpclib name 'RpcEpRegisterNoReplace' + AWSuffix;
  2921. function RpcEpRegisterA; external rpclib name 'RpcEpRegisterA';
  2922. function RpcEpRegisterW; external rpclib name 'RpcEpRegisterW';
  2923. function RpcEpRegister; external rpclib name 'RpcEpRegister' + AWSuffix;
  2924. function RpcEpUnregister; external rpclib name 'RpcEpUnregister';
  2925. function DceErrorInqTextA; external rpclib name 'DceErrorInqTextA';
  2926. function DceErrorInqTextW; external rpclib name 'DceErrorInqTextW';
  2927. function DceErrorInqText; external rpclib name 'DceErrorInqText' + AWSuffix;
  2928. function RpcMgmtEpEltInqBegin; external rpclib name 'RpcMgmtEpEltInqBegin';
  2929. function RpcMgmtEpEltInqDone; external rpclib name 'RpcMgmtEpEltInqDone';
  2930. function RpcMgmtEpEltInqNextA; external rpclib name 'RpcMgmtEpEltInqNextA';
  2931. function RpcMgmtEpEltInqNextW; external rpclib name 'RpcMgmtEpEltInqNextW';
  2932. function RpcMgmtEpEltInqNext; external rpclib name 'RpcMgmtEpEltInqNext' + AWSuffix;
  2933. function RpcMgmtEpUnregister; external rpclib name 'RpcMgmtEpUnregister';
  2934. function RpcMgmtSetAuthorizationFn; external rpclib name 'RpcMgmtSetAuthorizationFn';
  2935. {$ENDIF DYNAMIC_LINK}
  2936. end.