JwaRpcDce.pas
上传用户:davidchvip
上传日期:2009-07-28
资源大小:1749k
文件大小:127k
源码类别:

Windows编程

开发平台:

Delphi

  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@chello.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 home    }
  18. { page, located at http://delphi-jedi.org or my personal homepage located at   }
  19. { http://members.chello.nl/m.vanbrakel2                                        }
  20. {                }
  21. { The contents of this file are used with permission, subject to the Mozilla   }
  22. { Public License Version 1.1 (the "License"); you may not use this file except }
  23. { in compliance with the License. You may obtain a copy of the License at      }
  24. { http://www.mozilla.org/MPL/MPL-1.1.html                                      }
  25. {                                                                              }
  26. { Software distributed under the License is distributed on an "AS IS" basis,   }
  27. { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
  28. { the specific language governing rights and limitations under the License.    }
  29. {                                                                              }
  30. { Alternatively, the contents of this file may be used under the terms of the  }
  31. { GNU Lesser General Public License (the  "LGPL License"), in which case the   }
  32. { provisions of the LGPL License are applicable instead of those above.        }
  33. { If you wish to allow use of your version of this file only under the terms   }
  34. { of the LGPL License and not to allow others to use your version of this file }
  35. { under the MPL, indicate your decision by deleting  the provisions above and  }
  36. { replace  them with the notice and other provisions required by the LGPL      }
  37. { License.  If you do not delete the provisions above, a recipient may use     }
  38. { your version of this file under either the MPL or the LGPL License.          }
  39. {                 }
  40. { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
  41. {                 }
  42. {******************************************************************************}
  43. unit JwaRpcDce;
  44. {$WEAKPACKAGEUNIT}
  45. {$HPPEMIT ''}
  46. {$HPPEMIT '#include "RpcDce.h"'}
  47. {$HPPEMIT ''}
  48. {$HPPEMIT 'typedef RPC_BINDING_VECTOR *PRPC_BINDING_VECTOR'}
  49. {$HPPEMIT 'typedef UUID_VECTOR *PUUID_VECTOR'}
  50. {$HPPEMIT 'typedef RPC_IF_ID *PRPC_IF_ID'}
  51. {$HPPEMIT 'typedef RPC_PROTSEQ_VECTORA *PRPC_PROTSEQ_VECTORA'}
  52. {$HPPEMIT 'typedef RPC_PROTSEQ_VECTORW *PRPC_PROTSEQ_VECTORW'}
  53. {$HPPEMIT 'typedef RPC_STATS_VECTOR *PRPC_STATS_VECTOR'}
  54. {$HPPEMIT 'typedef RPC_IF_ID_VECTOR *PRPC_IF_ID_VECTOR'}
  55. {$HPPEMIT 'typedef RPC_AUTHZ_HANDLE *PRPC_AUTHZ_HANDLE'}
  56. {$HPPEMIT 'typedef RPC_AUTH_IDENTITY_HANDLE *PRPC_AUTH_IDENTITY_HANDLE'}
  57. {$HPPEMIT 'typedef RPC_BINDING_HANDLE *PRPC_BINDING_HANDLE'}
  58. {$HPPEMIT 'typedef UUID *PUUID'}
  59. {$HPPEMIT 'typedef UUID *LPUUID'}
  60. {$HPPEMIT ''}
  61. {$I WINDEFINES.INC}
  62. interface
  63. uses
  64.   JwaWinNT, JwaWinType, JwaRpc;
  65. type
  66.   PPChar = ^PChar;
  67.   PPWideChar = ^PWideChar;
  68.   PCardinal = ^Cardinal;
  69.   RPC_BINDING_HANDLE = I_RPC_HANDLE;
  70.   {$EXTERNALSYM RPC_BINDING_HANDLE}
  71.   UUID = GUID;
  72.   {$EXTERNALSYM UUID}
  73.   PRPC_BINDING_HANDLE = ^RPC_BINDING_HANDLE;
  74.   {$NODEFINE PRPC_BINDING_HANDLE}
  75.   PUUID = ^UUID;
  76.   {$NODEFINE PUUID}
  77.   LPUUID = ^UUID;
  78.   {$NODEFINE LPUUID}
  79. type
  80.   PRPC_BINDING_VECTOR = ^RPC_BINDING_VECTOR;
  81.   {$NODEFINE PRPC_BINDING_VECTOR}
  82.   _RPC_BINDING_VECTOR = record
  83.     Count: Cardinal;
  84.     BindingH: array [0..0] of RPC_BINDING_HANDLE;
  85.   end;
  86.   {$EXTERNALSYM _RPC_BINDING_VECTOR}
  87.   RPC_BINDING_VECTOR = _RPC_BINDING_VECTOR;
  88.   {$EXTERNALSYM RPC_BINDING_VECTOR}
  89.   TRpcBindingVector = RPC_BINDING_VECTOR;
  90.   PRpcBindingVector = PRPC_BINDING_VECTOR;
  91.   PUUID_VECTOR = ^UUID_VECTOR;
  92.   {$NODEFINE PUUID_VECTOR}
  93.   _UUID_VECTOR = record
  94.     Count: Cardinal;
  95.     Uuid: array [0..0] of PUUID;
  96.   end;
  97.   {$EXTERNALSYM _UUID_VECTOR}
  98.   UUID_VECTOR = _UUID_VECTOR;
  99.   {$EXTERNALSYM UUID_VECTOR}
  100.   TUuidVector = UUID_VECTOR;
  101.   PUuidVector = ^TUuidVector;
  102.   RPC_IF_HANDLE = LPVOID;
  103.   {$EXTERNALSYM RPC_IF_HANDLE}
  104.   PRPC_IF_ID = ^RPC_IF_ID;
  105.   {$NODEFINE PRPC_IF_ID}
  106.   _RPC_IF_ID = record
  107.     Uuid: UUID;
  108.     VersMajor: Word;
  109.     VersMinor: Word;
  110.   end;
  111.   {$EXTERNALSYM _RPC_IF_ID}
  112.   RPC_IF_ID = _RPC_IF_ID;
  113.   {$EXTERNALSYM RPC_IF_ID}
  114.   TRpcIfId = RPC_IF_ID;
  115.   PRpcIfId = ^TRpcIfId;
  116. const
  117.   RPC_C_BINDING_INFINITE_TIMEOUT = 10;
  118.   {$EXTERNALSYM RPC_C_BINDING_INFINITE_TIMEOUT}
  119.   RPC_C_BINDING_MIN_TIMEOUT      = 0;
  120.   {$EXTERNALSYM RPC_C_BINDING_MIN_TIMEOUT}
  121.   RPC_C_BINDING_DEFAULT_TIMEOUT  = 5;
  122.   {$EXTERNALSYM RPC_C_BINDING_DEFAULT_TIMEOUT}
  123.   RPC_C_BINDING_MAX_TIMEOUT      = 9;
  124.   {$EXTERNALSYM RPC_C_BINDING_MAX_TIMEOUT}
  125.   RPC_C_CANCEL_INFINITE_TIMEOUT  = DWORD(-1);
  126.   {$EXTERNALSYM RPC_C_CANCEL_INFINITE_TIMEOUT}
  127.   RPC_C_LISTEN_MAX_CALLS_DEFAULT = 1234;
  128.   {$EXTERNALSYM RPC_C_LISTEN_MAX_CALLS_DEFAULT}
  129.   RPC_C_PROTSEQ_MAX_REQS_DEFAULT = 10;
  130.   {$EXTERNALSYM RPC_C_PROTSEQ_MAX_REQS_DEFAULT}
  131. // RPC_POLICY EndpointFlags.
  132.   RPC_C_BIND_TO_ALL_NICS  = 1;
  133.   {$EXTERNALSYM RPC_C_BIND_TO_ALL_NICS}
  134.   RPC_C_USE_INTERNET_PORT = $1;
  135.   {$EXTERNALSYM RPC_C_USE_INTERNET_PORT}
  136.   RPC_C_USE_INTRANET_PORT = $2;
  137.   {$EXTERNALSYM RPC_C_USE_INTRANET_PORT}
  138.   RPC_C_DONT_FAIL         = $4;
  139.   {$EXTERNALSYM RPC_C_DONT_FAIL}
  140. // RPC_POLICY EndpointFlags specific to the Falcon/RPC transport:
  141.   RPC_C_MQ_TEMPORARY                 = $0000;
  142.   {$EXTERNALSYM RPC_C_MQ_TEMPORARY}
  143.   RPC_C_MQ_PERMANENT                 = $0001;
  144.   {$EXTERNALSYM RPC_C_MQ_PERMANENT}
  145.   RPC_C_MQ_CLEAR_ON_OPEN             = $0002;
  146.   {$EXTERNALSYM RPC_C_MQ_CLEAR_ON_OPEN}
  147.   RPC_C_MQ_USE_EXISTING_SECURITY     = $0004;
  148.   {$EXTERNALSYM RPC_C_MQ_USE_EXISTING_SECURITY}
  149.   RPC_C_MQ_AUTHN_LEVEL_NONE          = $0000;
  150.   {$EXTERNALSYM RPC_C_MQ_AUTHN_LEVEL_NONE}
  151.   RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY = $0008;
  152.   {$EXTERNALSYM RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY}
  153.   RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY   = $0010;
  154.   {$EXTERNALSYM RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY}
  155. // Client: RpcBindingSetOption() values for the Falcon/RPC transport:
  156.   RPC_C_OPT_MQ_DELIVERY            = 1;
  157.   {$EXTERNALSYM RPC_C_OPT_MQ_DELIVERY}
  158.   RPC_C_OPT_MQ_PRIORITY            = 2;
  159.   {$EXTERNALSYM RPC_C_OPT_MQ_PRIORITY}
  160.   RPC_C_OPT_MQ_JOURNAL             = 3;
  161.   {$EXTERNALSYM RPC_C_OPT_MQ_JOURNAL}
  162.   RPC_C_OPT_MQ_ACKNOWLEDGE         = 4;
  163.   {$EXTERNALSYM RPC_C_OPT_MQ_ACKNOWLEDGE}
  164.   RPC_C_OPT_MQ_AUTHN_SERVICE       = 5;
  165.   {$EXTERNALSYM RPC_C_OPT_MQ_AUTHN_SERVICE}
  166.   RPC_C_OPT_MQ_AUTHN_LEVEL         = 6;
  167.   {$EXTERNALSYM RPC_C_OPT_MQ_AUTHN_LEVEL}
  168.   RPC_C_OPT_MQ_TIME_TO_REACH_QUEUE = 7;
  169.   {$EXTERNALSYM RPC_C_OPT_MQ_TIME_TO_REACH_QUEUE}
  170.   RPC_C_OPT_MQ_TIME_TO_BE_RECEIVED = 8;
  171.   {$EXTERNALSYM RPC_C_OPT_MQ_TIME_TO_BE_RECEIVED}
  172.   RPC_C_OPT_BINDING_NONCAUSAL      = 9;
  173.   {$EXTERNALSYM RPC_C_OPT_BINDING_NONCAUSAL}
  174.   RPC_C_OPT_SECURITY_CALLBACK      = 10;
  175.   {$EXTERNALSYM RPC_C_OPT_SECURITY_CALLBACK}
  176.   RPC_C_OPT_UNIQUE_BINDING         = 11;
  177.   {$EXTERNALSYM RPC_C_OPT_UNIQUE_BINDING}
  178.   RPC_C_OPT_CALL_TIMEOUT           = 12;
  179.   {$EXTERNALSYM RPC_C_OPT_CALL_TIMEOUT}
  180.   RPC_C_OPT_DONT_LINGER            = 13;
  181.   {$EXTERNALSYM RPC_C_OPT_DONT_LINGER}
  182.   RPC_C_OPT_MAX_OPTIONS            = 14;
  183.   {$EXTERNALSYM RPC_C_OPT_MAX_OPTIONS}
  184.   RPC_C_MQ_EXPRESS     = 0; // Client: RPC_C_MQ_DELIVERY.
  185.   {$EXTERNALSYM RPC_C_MQ_EXPRESS}
  186.   RPC_C_MQ_RECOVERABLE = 1;
  187.   {$EXTERNALSYM RPC_C_MQ_RECOVERABLE}
  188.   RPC_C_MQ_JOURNAL_NONE       = 0; // Client: RPC_C_MQ_JOURNAL.
  189.   {$EXTERNALSYM RPC_C_MQ_JOURNAL_NONE}
  190.   RPC_C_MQ_JOURNAL_DEADLETTER = 1;
  191.   {$EXTERNALSYM RPC_C_MQ_JOURNAL_DEADLETTER}
  192.   RPC_C_MQ_JOURNAL_ALWAYS     = 2;
  193.   {$EXTERNALSYM RPC_C_MQ_JOURNAL_ALWAYS}
  194. // flags for RpcServerInqAuthClientEx
  195.   RPC_C_FULL_CERT_CHAIN = $0001;
  196.   {$EXTERNALSYM RPC_C_FULL_CERT_CHAIN}
  197. type
  198.   PRPC_PROTSEQ_VECTORA = ^RPC_PROTSEQ_VECTORA;
  199.   {$NODEFINE PRPC_PROTSEQ_VECTORA}
  200.   _RPC_PROTSEQ_VECTORA = record
  201.     Count: Cardinal;
  202.     Protseq: array [0..0] of PByte
  203.   end;
  204.   {$EXTERNALSYM _RPC_PROTSEQ_VECTORA}
  205.   RPC_PROTSEQ_VECTORA = _RPC_PROTSEQ_VECTORA;
  206.   {$EXTERNALSYM RPC_PROTSEQ_VECTORA}
  207.   TRpcProtSeqVectorA = RPC_PROTSEQ_VECTORA;
  208.   PRpcProtSeqVectorA = PRPC_PROTSEQ_VECTORA;
  209.   PRPC_PROTSEQ_VECTORW = ^RPC_PROTSEQ_VECTORW;
  210.   {$NODEFINE PRPC_PROTSEQ_VECTORW}
  211.   _RPC_PROTSEQ_VECTORW = record
  212.     Count: Cardinal;
  213.     Protseq: array [0..0] of PWord;
  214.   end;
  215.   {$EXTERNALSYM _RPC_PROTSEQ_VECTORW}
  216.   RPC_PROTSEQ_VECTORW = _RPC_PROTSEQ_VECTORW;
  217.   {$EXTERNALSYM RPC_PROTSEQ_VECTORW}
  218.   TRpcProtSeqVectorW = RPC_PROTSEQ_VECTORW;
  219.   PRpcProtSeqVectorW = PRPC_PROTSEQ_VECTORW;
  220. {$IFDEF UNICODE}
  221.   RPC_PROTSEQ_VECTOR = RPC_PROTSEQ_VECTORW;
  222.   {$EXTERNALSYM RPC_PROTSEQ_VECTOR}
  223.   TRpcProtSeqVector = TRpcProtSeqVectorW;
  224.   PRpcProtSeqVector = PRpcProtSeqVectorW;
  225. {$ELSE}
  226.   RPC_PROTSEQ_VECTOR = RPC_PROTSEQ_VECTORA;
  227.   {$EXTERNALSYM RPC_PROTSEQ_VECTOR}  
  228.   TRpcProtSeqVector = TRpcProtSeqVectorA;
  229.   PRpcProtSeqVector = PRpcProtSeqVectorA;
  230. {$ENDIF}
  231.   PRPC_POLICY = ^RPC_POLICY;
  232.   {$EXTERNALSYM PRPC_POLICY}
  233.   _RPC_POLICY = record
  234.     Length: Cardinal;
  235.     EndpointFlags: Cardinal;
  236.     NICFlags: Cardinal;
  237.   end;
  238.   {$EXTERNALSYM _RPC_POLICY}
  239.   RPC_POLICY = _RPC_POLICY;
  240.   {$EXTERNALSYM RPC_POLICY}
  241.   TRpcPolicy = RPC_POLICY;
  242.   PRpcPolicy = PRPC_POLICY;
  243.   RPC_OBJECT_INQ_FN = procedure (const ObjectUuid: UUID; var TypeUuid: UUID;
  244.     var Status: RPC_STATUS); stdcall;
  245.   {$EXTERNALSYM RPC_OBJECT_INQ_FN}
  246.   TRpcObjectInqFn = RPC_OBJECT_INQ_FN;
  247.   RPC_IF_CALLBACK_FN = function (InterfaceUuid: RPC_IF_HANDLE; Context: Pointer): RPC_STATUS; stdcall;
  248.   {$EXTERNALSYM RPC_IF_CALLBACK_FN}
  249.   TRpcIfCallbackFn = RPC_IF_CALLBACK_FN;
  250.   RPC_SECURITY_CALLBACK_FN = procedure (Context: Pointer); stdcall;
  251.   {$EXTERNALSYM RPC_SECURITY_CALLBACK_FN}
  252.   TRpcSecurityCallbackFn = RPC_SECURITY_CALLBACK_FN;
  253.   PRPC_STATS_VECTOR = ^RPC_STATS_VECTOR;
  254.   {$NODEFINE PRPC_STATS_VECTOR}
  255.   RPC_STATS_VECTOR = record
  256.     Count: Cardinal;
  257.     Stats: array [0..0] of Cardinal;
  258.   end;
  259.   {$EXTERNALSYM RPC_STATS_VECTOR}
  260.   TRpcStatsVector = RPC_STATS_VECTOR;
  261.   PRpcStatsVector = PRPC_STATS_VECTOR;
  262. const
  263.   RPC_C_STATS_CALLS_IN  = 0;
  264.   {$EXTERNALSYM RPC_C_STATS_CALLS_IN}
  265.   RPC_C_STATS_CALLS_OUT = 1;
  266.   {$EXTERNALSYM RPC_C_STATS_CALLS_OUT}
  267.   RPC_C_STATS_PKTS_IN   = 2;
  268.   {$EXTERNALSYM RPC_C_STATS_PKTS_IN}
  269.   RPC_C_STATS_PKTS_OUT  = 3;
  270.   {$EXTERNALSYM RPC_C_STATS_PKTS_OUT}
  271. type
  272.   PRPC_IF_ID_VECTOR = ^RPC_IF_ID_VECTOR;
  273.   {$NODEFINE RPC_IF_ID_VECTOR}
  274.   RPC_IF_ID_VECTOR = record
  275.     Count: Cardinal;
  276.     IfId: array [0..0] of PRpcIfId;
  277.   end;
  278.   {$EXTERNALSYM RPC_IF_ID_VECTOR}
  279.   TRpcIfIdVector = RPC_IF_ID_VECTOR;
  280.   PRpcIfIdVector = PRPC_IF_ID_VECTOR;
  281. function RpcBindingCopy(SourceBinding: RPC_BINDING_HANDLE;
  282.   var DestinationBinding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  283. {$EXTERNALSYM RpcBindingCopy}
  284. function RpcBindingFree(var Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  285. {$EXTERNALSYM RpcBindingFree}
  286. function RpcBindingSetOption(hBinding: RPC_BINDING_HANDLE; option: Cardinal;
  287.   optionValue: ULONG_PTR): RPC_STATUS; stdcall;
  288. {$EXTERNALSYM RpcBindingSetOption}
  289. function RpcBindingInqOption(hBinding: RPC_BINDING_HANDLE; option: Cardinal;
  290.   var pOptionValue: ULONG_PTR): RPC_STATUS; stdcall;
  291. {$EXTERNALSYM RpcBindingInqOption}
  292. function RpcBindingFromStringBindingA(StringBinding: PChar;
  293.   var Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  294. {$EXTERNALSYM RpcBindingFromStringBindingA}
  295. function RpcBindingFromStringBindingW(StringBinding: PWideChar;
  296.   var Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  297. {$EXTERNALSYM RpcBindingFromStringBindingW}
  298. {$IFDEF UNICODE}
  299. function RpcBindingFromStringBinding(StringBinding: PWideChar;
  300.   var Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  301. {$EXTERNALSYM RpcBindingFromStringBinding}
  302. {$ELSE}
  303. function RpcBindingFromStringBinding(StringBinding: PChar;
  304.   var Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  305. {$EXTERNALSYM RpcBindingFromStringBinding}
  306. {$ENDIF}
  307. function RpcSsGetContextBinding(ContextHandle: Pointer; var Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  308. {$EXTERNALSYM RpcSsGetContextBinding}
  309. function RpcBindingInqObject(Binding: RPC_BINDING_HANDLE; var ObjectUuid: UUID): RPC_STATUS; stdcall;
  310. {$EXTERNALSYM RpcBindingInqObject}
  311. function RpcBindingReset(Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  312. {$EXTERNALSYM RpcBindingReset}
  313. // RpcBindingServerFromClient : UNSUPPORTED
  314. // RpcBindingSetAuthInfo
  315. function RpcBindingSetObject(Binding: RPC_BINDING_HANDLE; const ObjectUuid: UUID): RPC_STATUS; stdcall;
  316. {$EXTERNALSYM RpcBindingSetObject}
  317. function RpcMgmtInqDefaultProtectLevel(AuthnSvc: Cardinal; var AuthnLevel: Cardinal): RPC_STATUS; stdcall;
  318. {$EXTERNALSYM RpcMgmtInqDefaultProtectLevel}
  319. function RpcBindingToStringBindingA(Binding: RPC_BINDING_HANDLE;
  320.   var StringBinding: PChar): RPC_STATUS; stdcall;
  321. {$EXTERNALSYM RpcBindingToStringBindingA}
  322. function RpcBindingToStringBindingW(Binding: RPC_BINDING_HANDLE;
  323.   var StringBinding: PWideChar): RPC_STATUS; stdcall;
  324. {$EXTERNALSYM RpcBindingToStringBindingW}
  325. {$IFDEF UNICODE}
  326. function RpcBindingToStringBinding(Binding: RPC_BINDING_HANDLE;
  327.   var StringBinding: PWideChar): RPC_STATUS; stdcall;
  328. {$EXTERNALSYM RpcBindingToStringBinding}
  329. {$ELSE}
  330. function RpcBindingToStringBinding(Binding: RPC_BINDING_HANDLE;
  331.   var StringBinding: PChar): RPC_STATUS; stdcall;
  332. {$EXTERNALSYM RpcBindingToStringBinding}
  333. {$ENDIF}
  334. function RpcBindingVectorFree(var BindingVector: PRPC_BINDING_VECTOR): RPC_STATUS; stdcall;
  335. {$EXTERNALSYM RpcBindingVectorFree}
  336. function RpcStringBindingComposeA(ObjUuid, Protseq, NetworkAddr, Endpoint,
  337.   Options: PChar; var StringBinding: PChar): RPC_STATUS; stdcall;
  338. {$EXTERNALSYM RpcStringBindingComposeA}
  339. function RpcStringBindingComposeW(ObjUuid, Protseq, NetworkAddr, Endpoint,
  340.   Options: PWideChar; var StringBinding: PWideChar): RPC_STATUS; stdcall;
  341. {$EXTERNALSYM RpcStringBindingComposeW}
  342. {$IFDEF UNICODE}
  343. function RpcStringBindingCompose(ObjUuid, Protseq, NetworkAddr, Endpoint,
  344.   Options: PWideChar; var StringBinding: PWideChar): RPC_STATUS; stdcall;
  345. {$EXTERNALSYM RpcStringBindingCompose}
  346. {$ELSE}
  347. function RpcStringBindingCompose(ObjUuid, Protseq, NetworkAddr, Endpoint,
  348.   Options: PChar; var StringBinding: PChar): RPC_STATUS; stdcall;
  349. {$EXTERNALSYM RpcStringBindingCompose}
  350. {$ENDIF}
  351. function RpcStringBindingParseA(StringBinding: PChar; ObjUuid, Protseq,
  352.   NetworkAddr, Endpoint, NetworkOptions: PPChar): RPC_STATUS; stdcall;
  353. {$EXTERNALSYM RpcStringBindingParseA}
  354. function RpcStringBindingParseW(StringBinding: PWideChar; ObjUuid, Protseq,
  355.   NetworkAddr, Endpoint, NetworkOptions: PPWideChar): RPC_STATUS; stdcall;
  356. {$EXTERNALSYM RpcStringBindingParseW}
  357. {$IFDEF UNICODE}
  358. function RpcStringBindingParse(StringBinding: PWideChar; ObjUuid, Protseq,
  359.   NetworkAddr, Endpoint, NetworkOptions: PPWideChar): RPC_STATUS; stdcall;
  360. {$EXTERNALSYM RpcStringBindingParse}
  361. {$ELSE}
  362. function RpcStringBindingParse(StringBinding: PChar; ObjUuid, Protseq,
  363.   NetworkAddr, Endpoint, NetworkOptions: PPChar): RPC_STATUS; stdcall;
  364. {$EXTERNALSYM RpcStringBindingParse}
  365. {$ENDIF}
  366. function RpcStringFreeA(var S: PChar): RPC_STATUS; stdcall;
  367. {$EXTERNALSYM RpcStringFreeA}
  368. function RpcStringFreeW(var S: PWideChar): RPC_STATUS; stdcall;
  369. {$EXTERNALSYM RpcStringFreeW}
  370. {$IFDEF UNICODE}
  371. function RpcStringFree(var S: PWideChar): RPC_STATUS; stdcall;
  372. {$EXTERNALSYM RpcStringFree}
  373. {$ELSE}
  374. function RpcStringFree(var S: PChar): RPC_STATUS; stdcall;
  375. {$EXTERNALSYM RpcStringFree}
  376. {$ENDIF}
  377. function RpcIfInqId(RpcIfHandle: RPC_IF_HANDLE; var RpcIfId: RPC_IF_ID): RPC_STATUS; stdcall;
  378. {$EXTERNALSYM RpcIfInqId}
  379. function RpcNetworkIsProtseqValidA(Protseq: PChar): RPC_STATUS; stdcall;
  380. {$EXTERNALSYM RpcNetworkIsProtseqValidA}
  381. function RpcNetworkIsProtseqValidW(Protseq: PWideChar): RPC_STATUS; stdcall;
  382. {$EXTERNALSYM RpcNetworkIsProtseqValidW}
  383. function RpcMgmtInqComTimeout(Binding: RPC_BINDING_HANDLE; var Timeout: Cardinal): RPC_STATUS; stdcall;
  384. {$EXTERNALSYM RpcMgmtInqComTimeout}
  385. function RpcMgmtSetComTimeout(Binding: RPC_BINDING_HANDLE; Timeout: Cardinal): RPC_STATUS; stdcall;
  386. {$EXTERNALSYM RpcMgmtSetComTimeout}
  387. function RpcMgmtSetCancelTimeout(Timeout: Longint): RPC_STATUS; stdcall;
  388. {$EXTERNALSYM RpcMgmtSetCancelTimeout}
  389. function RpcNetworkInqProtseqsA(var ProtseqVector: PRPC_PROTSEQ_VECTORA): RPC_STATUS; stdcall;
  390. {$EXTERNALSYM RpcNetworkInqProtseqsA}
  391. function RpcNetworkInqProtseqsW(var ProtseqVector: PRPC_PROTSEQ_VECTORW): RPC_STATUS; stdcall;
  392. {$EXTERNALSYM RpcNetworkInqProtseqsW}
  393. {$IFDEF UNICODE}
  394. function RpcNetworkInqProtseqs(var ProtseqVector: PRPC_PROTSEQ_VECTORW): RPC_STATUS; stdcall;
  395. {$EXTERNALSYM RpcNetworkInqProtseqs}
  396. {$ELSE}
  397. function RpcNetworkInqProtseqs(var ProtseqVector: PRPC_PROTSEQ_VECTORA): RPC_STATUS; stdcall;
  398. {$EXTERNALSYM RpcNetworkInqProtseqs}
  399. {$ENDIF}
  400. function RpcObjectInqType(const ObjUuid: UUID; TypeUuid: PUUID): RPC_STATUS; stdcall;
  401. {$EXTERNALSYM RpcObjectInqType}
  402. function RpcObjectSetInqFn(InquiryFn: RPC_OBJECT_INQ_FN): RPC_STATUS; stdcall;
  403. {$EXTERNALSYM RpcObjectSetInqFn}
  404. function RpcObjectSetType(const ObjUuid: UUID; TypeUuid: PUUID): RPC_STATUS; stdcall;
  405. {$EXTERNALSYM RpcObjectSetType}
  406. function RpcProtseqVectorFreeA(var ProtseqVector: PRPC_PROTSEQ_VECTORA): RPC_STATUS; stdcall;
  407. {$EXTERNALSYM RpcProtseqVectorFreeA}
  408. function RpcProtseqVectorFreeW(var ProtseqVector: PRPC_PROTSEQ_VECTORW): RPC_STATUS; stdcall;
  409. {$EXTERNALSYM RpcProtseqVectorFreeW}
  410. {$IFDEF UNICODE}
  411. function RpcProtseqVectorFree(var ProtseqVector: PRPC_PROTSEQ_VECTORW): RPC_STATUS; stdcall;
  412. {$EXTERNALSYM RpcProtseqVectorFree}
  413. {$ELSE}
  414. function RpcProtseqVectorFree(var ProtseqVector: PRPC_PROTSEQ_VECTORA): RPC_STATUS; stdcall;
  415. {$EXTERNALSYM RpcProtseqVectorFree}
  416. {$ENDIF}
  417. function RpcServerInqBindings(var BindingVector: PRPC_BINDING_VECTOR): RPC_STATUS; stdcall;
  418. {$EXTERNALSYM RpcServerInqBindings}
  419. function RpcServerInqIf(IfSpec: RPC_IF_HANDLE; MgrTypeUuid: PUUID;
  420.   MgrEpv: Pointer): RPC_STATUS; stdcall;
  421. {$EXTERNALSYM RpcServerInqIf}
  422. function RpcServerListen(MinimumCallThreads, MaxCalls, DontWait: Cardinal): RPC_STATUS; stdcall;
  423. {$EXTERNALSYM RpcServerListen}
  424. function RpcServerRegisterIf(IfSpec: RPC_IF_HANDLE; MgrTypeUuid: PUUID;
  425.   MgrEpv: Pointer): RPC_STATUS; stdcall;
  426. {$EXTERNALSYM RpcServerRegisterIf}
  427. function RpcServerRegisterIfEx(IfSpec: RPC_IF_HANDLE; MgrTypeUuid: PUUID;
  428.   MgrEpv: Pointer; Flags, MaxCalls: Cardinal; IfCallback: RPC_IF_CALLBACK_FN): RPC_STATUS; stdcall;
  429. {$EXTERNALSYM RpcServerRegisterIfEx}
  430. function RpcServerRegisterIf2(IfSpec: RPC_IF_HANDLE; MgrTypeUuid: PUUID;
  431.   MgrEpv: Pointer; Flags, MaxCalls, MaxRpcSize: Cardinal;
  432.   IfCallbackFn: RPC_IF_CALLBACK_FN): RPC_STATUS; stdcall;
  433. {$EXTERNALSYM RpcServerRegisterIf2}
  434. function RpcServerUnregisterIf(IfSpec: RPC_IF_HANDLE; MgrTypeUuid: PUUID;
  435.   WaitForCallsToComplete: Cardinal): RPC_STATUS; stdcall;
  436. {$EXTERNALSYM RpcServerUnregisterIf}
  437. function RpcServerUnregisterIfEx(IfSpec: RPC_IF_HANDLE; MgrTypeUuid: PUUID;
  438.   RundownContextHandles: Integer): RPC_STATUS; stdcall;
  439. {$EXTERNALSYM RpcServerUnregisterIfEx}
  440. function RpcServerUseAllProtseqs(MaxCalls: Cardinal; SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  441. {$EXTERNALSYM RpcServerUseAllProtseqs}
  442. function RpcServerUseAllProtseqsEx(MaxCalls: Cardinal; SecurityDescriptor: Pointer;
  443.   Policy: PRPC_POLICY): RPC_STATUS; stdcall;
  444. {$EXTERNALSYM RpcServerUseAllProtseqsEx}
  445. function RpcServerUseAllProtseqsIf(MaxCalls: Cardinal; IfSpec: RPC_IF_HANDLE;
  446.   SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  447. {$EXTERNALSYM RpcServerUseAllProtseqsIf}
  448. function RpcServerUseAllProtseqsIfEx(MaxCalls: Cardinal; IfSpec: RPC_IF_HANDLE;
  449.   SecurityDescriptor: Pointer; Policy: PRPC_POLICY): RPC_STATUS; stdcall;
  450. {$EXTERNALSYM RpcServerUseAllProtseqsIfEx}
  451. function RpcServerUseProtseqA(Protseq: PChar; MaxCalls: Cardinal;
  452.   SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  453. {$EXTERNALSYM RpcServerUseProtseqA}
  454. function RpcServerUseProtseqW(Protseq: PWideChar; MaxCalls: Cardinal;
  455.   SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  456. {$EXTERNALSYM RpcServerUseProtseqW}
  457. {$IFDEF UNICODE}
  458. function RpcServerUseProtseq(Protseq: PWideChar; MaxCalls: Cardinal;
  459.   SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  460. {$EXTERNALSYM RpcServerUseProtseq}
  461. {$ELSE}
  462. function RpcServerUseProtseq(Protseq: PChar; MaxCalls: Cardinal;
  463.   SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  464. {$EXTERNALSYM RpcServerUseProtseq}
  465. {$ENDIF}
  466. function RpcServerUseProtseqExA(Protseq: PChar; MaxCalls: Cardinal;
  467.   SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  468. {$EXTERNALSYM RpcServerUseProtseqExA}
  469. function RpcServerUseProtseqExW(Protseq: PWideChar; MaxCalls: Cardinal;
  470.   SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  471. {$EXTERNALSYM RpcServerUseProtseqExW}
  472. {$IFDEF UNICODE}
  473. function RpcServerUseProtseqEx(Protseq: PWideChar; MaxCalls: Cardinal;
  474.   SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  475. {$EXTERNALSYM RpcServerUseProtseqEx}
  476. {$ELSE}
  477. function RpcServerUseProtseqEx(Protseq: PChar; MaxCalls: Cardinal;
  478.   SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  479. {$EXTERNALSYM RpcServerUseProtseqEx}
  480. {$ENDIF}
  481. function RpcServerUseProtseqEpA(Protseq: PChar; MaxCalls: Cardinal;
  482.   Endpoint: PChar; SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  483. {$EXTERNALSYM RpcServerUseProtseqEpA}
  484. function RpcServerUseProtseqEpW(Protseq: PWideChar; MaxCalls: Cardinal;
  485.   Endpoint: PWideChar; SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  486. {$EXTERNALSYM RpcServerUseProtseqEpW}
  487. {$IFDEF UNICODE}
  488. function RpcServerUseProtseqEp(Protseq: PWideChar; MaxCalls: Cardinal;
  489.   Endpoint: PWideChar; SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  490. {$EXTERNALSYM RpcServerUseProtseqEp}
  491. {$ELSE}
  492. function RpcServerUseProtseqEp(Protseq: PChar; MaxCalls: Cardinal;
  493.   Endpoint: PChar; SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  494. {$EXTERNALSYM RpcServerUseProtseqEp}
  495. {$ENDIF}
  496. function RpcServerUseProtseqEpExA(Protseq: PChar; MaxCalls: Cardinal;
  497.   Endpoint: PChar; SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  498. {$EXTERNALSYM RpcServerUseProtseqEpExA}
  499. function RpcServerUseProtseqEpExW(Protseq: PWideChar; MaxCalls: Cardinal;
  500.   Endpoint: PWideChar; SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  501. {$EXTERNALSYM RpcServerUseProtseqEpExW}
  502. {$IFDEF UNICODE}
  503. function RpcServerUseProtseqEpEx(Protseq: PWideChar; MaxCalls: Cardinal;
  504.   Endpoint: PWideChar; SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  505. {$EXTERNALSYM RpcServerUseProtseqEpEx}
  506. {$ELSE}
  507. function RpcServerUseProtseqEpEx(Protseq: PChar; MaxCalls: Cardinal;
  508.   Endpoint: PChar; SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  509. {$EXTERNALSYM RpcServerUseProtseqEpEx}
  510. {$ENDIF}
  511. function RpcServerUseProtseqIfA(Protseq: PChar; MaxCalls: Cardinal;
  512.   IfSpec: RPC_IF_HANDLE; SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  513. {$EXTERNALSYM RpcServerUseProtseqIfA}
  514. function RpcServerUseProtseqIfW(Protseq: PWideChar; MaxCalls: Cardinal;
  515.   IfSpec: RPC_IF_HANDLE; SecurityDescriptor: Pointer): RPC_STATUS; stdcall;
  516. {$EXTERNALSYM RpcServerUseProtseqIfW}
  517. function RpcServerUseProtseqIfExA(Protseq: PChar; MaxCalls: Cardinal;
  518.   IfSpec: RPC_IF_HANDLE; SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  519. {$EXTERNALSYM RpcServerUseProtseqIfExA}
  520. function RpcServerUseProtseqIfExW(Protseq: PWideChar; MaxCalls: Cardinal;
  521.   IfSpec: RPC_IF_HANDLE; SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  522. {$EXTERNALSYM RpcServerUseProtseqIfExW}
  523. {$IFDEF UNICODE}
  524. function RpcServerUseProtseqIfEx(Protseq: PWideChar; MaxCalls: Cardinal;
  525.   IfSpec: RPC_IF_HANDLE; SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  526. {$EXTERNALSYM RpcServerUseProtseqIfEx}
  527. {$ELSE}
  528. function RpcServerUseProtseqIfEx(Protseq: PChar; MaxCalls: Cardinal;
  529.   IfSpec: RPC_IF_HANDLE; SecurityDescriptor: Pointer; const Policy: RPC_POLICY): RPC_STATUS; stdcall;
  530. {$EXTERNALSYM RpcServerUseProtseqIfEx}
  531. {$ENDIF}
  532. procedure RpcServerYield; stdcall;
  533. {$EXTERNALSYM RpcServerYield}
  534. function RpcMgmtStatsVectorFree(var StatsVector: PRPC_STATS_VECTOR): RPC_STATUS; stdcall;
  535. {$EXTERNALSYM RpcMgmtStatsVectorFree}
  536. function RpcMgmtInqStats(Binding: RPC_BINDING_HANDLE; var Statistics: PRPC_STATS_VECTOR): RPC_STATUS; stdcall;
  537. {$EXTERNALSYM RpcMgmtInqStats}
  538. function RpcMgmtIsServerListening(Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  539. {$EXTERNALSYM RpcMgmtIsServerListening}
  540. function RpcMgmtStopServerListening(Binding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  541. {$EXTERNALSYM RpcMgmtStopServerListening}
  542. function RpcMgmtWaitServerListen: RPC_STATUS; stdcall;
  543. {$EXTERNALSYM RpcMgmtWaitServerListen}
  544. function RpcMgmtSetServerStackSize(ThreadStackSize: Cardinal): RPC_STATUS; stdcall;
  545. {$EXTERNALSYM RpcMgmtSetServerStackSize}
  546. procedure RpcSsDontSerializeContext; stdcall;
  547. {$EXTERNALSYM RpcSsDontSerializeContext}
  548. function RpcMgmtEnableIdleCleanup: RPC_STATUS; stdcall;
  549. {$EXTERNALSYM RpcMgmtEnableIdleCleanup}
  550. function RpcMgmtInqIfIds(Binding: RPC_BINDING_HANDLE;
  551.   var IfIdVector: PRPC_IF_ID_VECTOR): RPC_STATUS; stdcall;
  552. {$EXTERNALSYM RpcMgmtInqIfIds}
  553. function RpcIfIdVectorFree(var IfIdVector: PRPC_IF_ID_VECTOR): RPC_STATUS; stdcall;
  554. {$EXTERNALSYM RpcIfIdVectorFree}
  555. function RpcMgmtInqServerPrincNameA(Binding: RPC_BINDING_HANDLE;
  556.   AuthnSvc: Cardinal; var ServerPrincName: PChar): RPC_STATUS; stdcall;
  557. {$EXTERNALSYM RpcMgmtInqServerPrincNameA}
  558. function RpcMgmtInqServerPrincNameW(Binding: RPC_BINDING_HANDLE;
  559.   AuthnSvc: Cardinal; var ServerPrincName: PWideChar): RPC_STATUS; stdcall;
  560. {$EXTERNALSYM RpcMgmtInqServerPrincNameW}
  561. {$IFDEF UNICODE}
  562. function RpcMgmtInqServerPrincName(Binding: RPC_BINDING_HANDLE;
  563.   AuthnSvc: Cardinal; var ServerPrincName: PWideChar): RPC_STATUS; stdcall;
  564. {$EXTERNALSYM RpcMgmtInqServerPrincName}
  565. {$ELSE}
  566. function RpcMgmtInqServerPrincName(Binding: RPC_BINDING_HANDLE;
  567.   AuthnSvc: Cardinal; var ServerPrincName: PChar): RPC_STATUS; stdcall;
  568. {$EXTERNALSYM RpcMgmtInqServerPrincName}
  569. {$ENDIF}
  570. function RpcServerInqDefaultPrincNameA(AuthnSvc: Cardinal; var PrincName: PChar): RPC_STATUS; stdcall;
  571. {$EXTERNALSYM RpcServerInqDefaultPrincNameA}
  572. function RpcServerInqDefaultPrincNameW(AuthnSvc: Cardinal; var PrincName: PWideChar): RPC_STATUS; stdcall;
  573. {$EXTERNALSYM RpcServerInqDefaultPrincNameW}
  574. {$IFDEF UNICODE}
  575. function RpcServerInqDefaultPrincName(AuthnSvc: Cardinal; var PrincName: PWideChar): RPC_STATUS; stdcall;
  576. {$EXTERNALSYM RpcServerInqDefaultPrincName}
  577. {$ELSE}
  578. function RpcServerInqDefaultPrincName(AuthnSvc: Cardinal; var PrincName: PChar): RPC_STATUS; stdcall;
  579. {$EXTERNALSYM RpcServerInqDefaultPrincName}
  580. {$ENDIF}
  581. function RpcEpResolveBinding(Binding: RPC_BINDING_HANDLE; IfSpe: RPC_IF_HANDLE): RPC_STATUS; stdcall;
  582. {$EXTERNALSYM RpcEpResolveBinding}
  583. function RpcNsBindingInqEntryNameA(Binding: RPC_BINDING_HANDLE;
  584.   EntryNameSyntax: Cardinal; var EntryName: PChar): RPC_STATUS; stdcall;
  585. {$EXTERNALSYM RpcNsBindingInqEntryNameA}
  586. function RpcNsBindingInqEntryNameW(Binding: RPC_BINDING_HANDLE;
  587.   EntryNameSyntax: Cardinal; var EntryName: PWideChar): RPC_STATUS; stdcall;
  588. {$EXTERNALSYM RpcNsBindingInqEntryNameW}
  589. {$IFDEF UNICODE}
  590. function RpcNsBindingInqEntryName(Binding: RPC_BINDING_HANDLE;
  591.   EntryNameSyntax: Cardinal; var EntryName: PWideChar): RPC_STATUS; stdcall;
  592. {$EXTERNALSYM RpcNsBindingInqEntryName}
  593. {$ELSE}
  594. function RpcNsBindingInqEntryName(Binding: RPC_BINDING_HANDLE;
  595.   EntryNameSyntax: Cardinal; var EntryName: PChar): RPC_STATUS; stdcall;
  596. {$EXTERNALSYM RpcNsBindingInqEntryName}
  597. {$ENDIF}
  598. type
  599.   RPC_AUTH_IDENTITY_HANDLE = Pointer;
  600.   {$EXTERNALSYM RPC_AUTH_IDENTITY_HANDLE}
  601.   RPC_AUTHZ_HANDLE = Pointer;
  602.   {$EXTERNALSYM RPC_AUTHZ_HANDLE}
  603.   PRPC_AUTHZ_HANDLE = ^RPC_AUTHZ_HANDLE;
  604.   {$NODEFINE PRPC_AUTHZ_HANDLE}
  605.   PRPC_AUTH_IDENTITY_HANDLE = ^RPC_AUTH_IDENTITY_HANDLE;
  606.   {$NODEFINE PRPC_AUTH_IDENTITY_HANDLE}
  607. const
  608.   RPC_C_AUTHN_LEVEL_DEFAULT       = 0;
  609.   {$EXTERNALSYM RPC_C_AUTHN_LEVEL_DEFAULT}
  610.   RPC_C_AUTHN_LEVEL_NONE          = 1;
  611.   {$EXTERNALSYM RPC_C_AUTHN_LEVEL_NONE}
  612.   RPC_C_AUTHN_LEVEL_CONNECT       = 2;
  613.   {$EXTERNALSYM RPC_C_AUTHN_LEVEL_CONNECT}
  614.   RPC_C_AUTHN_LEVEL_CALL          = 3;
  615.   {$EXTERNALSYM RPC_C_AUTHN_LEVEL_CALL}
  616.   RPC_C_AUTHN_LEVEL_PKT           = 4;
  617.   {$EXTERNALSYM RPC_C_AUTHN_LEVEL_PKT}
  618.   RPC_C_AUTHN_LEVEL_PKT_INTEGRITY = 5;
  619.   {$EXTERNALSYM RPC_C_AUTHN_LEVEL_PKT_INTEGRITY}
  620.   RPC_C_AUTHN_LEVEL_PKT_PRIVACY   = 6;
  621.   {$EXTERNALSYM RPC_C_AUTHN_LEVEL_PKT_PRIVACY}
  622.   RPC_C_IMP_LEVEL_DEFAULT     = 0;
  623.   {$EXTERNALSYM RPC_C_IMP_LEVEL_DEFAULT}
  624.   RPC_C_IMP_LEVEL_ANONYMOUS   = 1;
  625.   {$EXTERNALSYM RPC_C_IMP_LEVEL_ANONYMOUS}
  626.   RPC_C_IMP_LEVEL_IDENTIFY    = 2;
  627.   {$EXTERNALSYM RPC_C_IMP_LEVEL_IDENTIFY}
  628.   RPC_C_IMP_LEVEL_IMPERSONATE = 3;
  629.   {$EXTERNALSYM RPC_C_IMP_LEVEL_IMPERSONATE}
  630.   RPC_C_IMP_LEVEL_DELEGATE    = 4;
  631.   {$EXTERNALSYM RPC_C_IMP_LEVEL_DELEGATE}
  632.   RPC_C_QOS_IDENTITY_STATIC  = 0;
  633.   {$EXTERNALSYM RPC_C_QOS_IDENTITY_STATIC}
  634.   RPC_C_QOS_IDENTITY_DYNAMIC = 1;
  635.   {$EXTERNALSYM RPC_C_QOS_IDENTITY_DYNAMIC}
  636.   RPC_C_QOS_CAPABILITIES_DEFAULT                      = $0;
  637.   {$EXTERNALSYM RPC_C_QOS_CAPABILITIES_DEFAULT}
  638.   RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH                  = $1;
  639.   {$EXTERNALSYM RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH}
  640.   RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC                 = $2;
  641.   {$EXTERNALSYM RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC}
  642.   RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY                = $4;
  643.   {$EXTERNALSYM RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY}
  644.   RPC_C_QOS_CAPABILITIES_IGNORE_DELEGATE_FAILURE      = $8;
  645.   {$EXTERNALSYM RPC_C_QOS_CAPABILITIES_IGNORE_DELEGATE_FAILURE}
  646.   RPC_C_QOS_CAPABILITIES_LOCAL_MA_HINT                = $10;
  647.   {$EXTERNALSYM RPC_C_QOS_CAPABILITIES_LOCAL_MA_HINT}
  648.   RPC_C_PROTECT_LEVEL_DEFAULT       = (RPC_C_AUTHN_LEVEL_DEFAULT);
  649.   {$EXTERNALSYM RPC_C_PROTECT_LEVEL_DEFAULT}
  650.   RPC_C_PROTECT_LEVEL_NONE          = (RPC_C_AUTHN_LEVEL_NONE);
  651.   {$EXTERNALSYM RPC_C_PROTECT_LEVEL_NONE}
  652.   RPC_C_PROTECT_LEVEL_CONNECT       = (RPC_C_AUTHN_LEVEL_CONNECT);
  653.   {$EXTERNALSYM RPC_C_PROTECT_LEVEL_CONNECT}
  654.   RPC_C_PROTECT_LEVEL_CALL          = (RPC_C_AUTHN_LEVEL_CALL);
  655.   {$EXTERNALSYM RPC_C_PROTECT_LEVEL_CALL}
  656.   RPC_C_PROTECT_LEVEL_PKT           = (RPC_C_AUTHN_LEVEL_PKT);
  657.   {$EXTERNALSYM RPC_C_PROTECT_LEVEL_PKT}
  658.   RPC_C_PROTECT_LEVEL_PKT_INTEGRITY = (RPC_C_AUTHN_LEVEL_PKT_INTEGRITY);
  659.   {$EXTERNALSYM RPC_C_PROTECT_LEVEL_PKT_INTEGRITY}
  660.   RPC_C_PROTECT_LEVEL_PKT_PRIVACY   = (RPC_C_AUTHN_LEVEL_PKT_PRIVACY);
  661.   {$EXTERNALSYM RPC_C_PROTECT_LEVEL_PKT_PRIVACY}
  662.   RPC_C_AUTHN_NONE          = 0;
  663.   {$EXTERNALSYM RPC_C_AUTHN_NONE}
  664.   RPC_C_AUTHN_DCE_PRIVATE   = 1;
  665.   {$EXTERNALSYM RPC_C_AUTHN_DCE_PRIVATE}
  666.   RPC_C_AUTHN_DCE_PUBLIC    = 2;
  667.   {$EXTERNALSYM RPC_C_AUTHN_DCE_PUBLIC}
  668.   RPC_C_AUTHN_DEC_PUBLIC    = 4;
  669.   {$EXTERNALSYM RPC_C_AUTHN_DEC_PUBLIC}
  670.   RPC_C_AUTHN_GSS_NEGOTIATE = 9;
  671.   {$EXTERNALSYM RPC_C_AUTHN_GSS_NEGOTIATE}
  672.   RPC_C_AUTHN_WINNT         = 10;
  673.   {$EXTERNALSYM RPC_C_AUTHN_WINNT}
  674.   RPC_C_AUTHN_GSS_SCHANNEL  = 14;
  675.   {$EXTERNALSYM RPC_C_AUTHN_GSS_SCHANNEL}
  676.   RPC_C_AUTHN_GSS_KERBEROS  = 16;
  677.   {$EXTERNALSYM RPC_C_AUTHN_GSS_KERBEROS}
  678.   RPC_C_AUTHN_DPA           = 17;
  679.   {$EXTERNALSYM RPC_C_AUTHN_DPA}
  680.   RPC_C_AUTHN_MSN           = 18;
  681.   {$EXTERNALSYM RPC_C_AUTHN_MSN}
  682.   RPC_C_AUTHN_DIGEST        = 21;
  683.   {$EXTERNALSYM RPC_C_AUTHN_DIGEST}
  684.   RPC_C_AUTHN_MQ            = 100;
  685.   {$EXTERNALSYM RPC_C_AUTHN_MQ}
  686.   RPC_C_AUTHN_DEFAULT       = DWORD($FFFFFFFF);
  687.   {$EXTERNALSYM RPC_C_AUTHN_DEFAULT}
  688.   RPC_C_NO_CREDENTIALS = RPC_AUTH_IDENTITY_HANDLE(MAXUINT_PTR);
  689.   {$EXTERNALSYM RPC_C_NO_CREDENTIALS}
  690.   RPC_C_SECURITY_QOS_VERSION = 1;
  691.   {$EXTERNALSYM RPC_C_SECURITY_QOS_VERSION}
  692.   RPC_C_SECURITY_QOS_VERSION_1 = 1;
  693.   {$EXTERNALSYM RPC_C_SECURITY_QOS_VERSION_1}
  694. type
  695.   _RPC_SECURITY_QOS = record
  696.     Version: Longint;
  697.     Capabilities: Longint;
  698.     IdentityTracking: Longint;
  699.     ImpersonationType: Longint;
  700.   end;
  701.   {$EXTERNALSYM _RPC_SECURITY_QOS}
  702.   RPC_SECURITY_QOS = _RPC_SECURITY_QOS;
  703.   {$EXTERNALSYM RPC_SECURITY_QOS}
  704.   PRPC_SECURITY_QOS = ^RPC_SECURITY_QOS;
  705.   {$EXTERNALSYM PRPC_SECURITY_QOS}
  706.   TRpcSecurityQos = RPC_SECURITY_QOS;
  707.   PRpcSecurityQos = PRPC_SECURITY_QOS;
  708. const
  709.   SEC_WINNT_AUTH_IDENTITY_ANSI    = $1;
  710.   {$EXTERNALSYM SEC_WINNT_AUTH_IDENTITY_ANSI}
  711.   SEC_WINNT_AUTH_IDENTITY_UNICODE = $2;
  712.   {$EXTERNALSYM SEC_WINNT_AUTH_IDENTITY_UNICODE}
  713. type
  714.   _SEC_WINNT_AUTH_IDENTITY_W = record
  715.     User: PWideChar;
  716.     UserLength: Longint;
  717.     Domain: PWideChar;
  718.     DomainLength: Longint;
  719.     Password: PWideChar;
  720.     PasswordLength: Longint;
  721.     Flags: Longint;
  722.   end;
  723.   {$EXTERNALSYM _SEC_WINNT_AUTH_IDENTITY_W}
  724.   SEC_WINNT_AUTH_IDENTITY_W = _SEC_WINNT_AUTH_IDENTITY_W;
  725.   {$EXTERNALSYM SEC_WINNT_AUTH_IDENTITY_W}
  726.   PSEC_WINNT_AUTH_IDENTITY_W = ^SEC_WINNT_AUTH_IDENTITY_W;
  727.   {$EXTERNALSYM PSEC_WINNT_AUTH_IDENTITY_W}
  728.   TSecWinNTAuthIdentityW = SEC_WINNT_AUTH_IDENTITY_W;
  729.   PSecWinNTAuthIdentityW = PSEC_WINNT_AUTH_IDENTITY_W;
  730.   _SEC_WINNT_AUTH_IDENTITY_A = record
  731.     User: PChar;
  732.     UserLength: Longint;
  733.     Domain: PChar;
  734.     DomainLength: Longint;
  735.     Password: PChar;
  736.     PasswordLength: Longint;
  737.     Flags: Longint;
  738.   end;
  739.   {$EXTERNALSYM _SEC_WINNT_AUTH_IDENTITY_A}
  740.   SEC_WINNT_AUTH_IDENTITY_A = _SEC_WINNT_AUTH_IDENTITY_A;
  741.   {$EXTERNALSYM SEC_WINNT_AUTH_IDENTITY_A}
  742.   PSEC_WINNT_AUTH_IDENTITY_A = ^SEC_WINNT_AUTH_IDENTITY_A;
  743.   {$EXTERNALSYM PSEC_WINNT_AUTH_IDENTITY_A}
  744.   TSecWinNTAuthIdentityA = SEC_WINNT_AUTH_IDENTITY_A;
  745.   PSecWinNTAuthIdentityA = PSEC_WINNT_AUTH_IDENTITY_A;
  746. {$IFDEF UNICODE}
  747.   SEC_WINNT_AUTH_IDENTITY = SEC_WINNT_AUTH_IDENTITY_W;
  748.   {$EXTERNALSYM SEC_WINNT_AUTH_IDENTITY}
  749.   PSEC_WINNT_AUTH_IDENTITY = PSEC_WINNT_AUTH_IDENTITY_W;
  750.   {$EXTERNALSYM PSEC_WINNT_AUTH_IDENTITY}
  751.   _SEC_WINNT_AUTH_IDENTITY = _SEC_WINNT_AUTH_IDENTITY_W;
  752.   {$EXTERNALSYM _SEC_WINNT_AUTH_IDENTITY}
  753.   TSecWinNTAuthIdentity = TSecWinNTAuthIdentityW;
  754.   PSecWinNTAuthIdentity = PSecWinNTAuthIdentityW;
  755. {$ELSE}
  756.   SEC_WINNT_AUTH_IDENTITY = SEC_WINNT_AUTH_IDENTITY_A;
  757.   {$EXTERNALSYM SEC_WINNT_AUTH_IDENTITY}
  758.   PSEC_WINNT_AUTH_IDENTITY = PSEC_WINNT_AUTH_IDENTITY_A;
  759.   {$EXTERNALSYM PSEC_WINNT_AUTH_IDENTITY}
  760.   _SEC_WINNT_AUTH_IDENTITY = _SEC_WINNT_AUTH_IDENTITY_A;
  761.   {$EXTERNALSYM _SEC_WINNT_AUTH_IDENTITY}
  762.   TSecWinNTAuthIdentity = TSecWinNTAuthIdentityA;
  763.   PSecWinNTAuthIdentity = PSecWinNTAuthIdentityA;
  764. {$ENDIF}
  765. const
  766.   RPC_C_SECURITY_QOS_VERSION_2 = 2;
  767.   {$EXTERNALSYM RPC_C_SECURITY_QOS_VERSION_2}
  768.   RPC_C_AUTHN_INFO_TYPE_HTTP                 = 1;
  769.   {$EXTERNALSYM RPC_C_AUTHN_INFO_TYPE_HTTP}
  770.   RPC_C_HTTP_AUTHN_TARGET_SERVER             = 1;
  771.   {$EXTERNALSYM RPC_C_HTTP_AUTHN_TARGET_SERVER}
  772.   RPC_C_HTTP_AUTHN_TARGET_PROXY              = 2;
  773.   {$EXTERNALSYM RPC_C_HTTP_AUTHN_TARGET_PROXY}
  774.   RPC_C_HTTP_AUTHN_SCHEME_BASIC     = $00000001;
  775.   {$EXTERNALSYM RPC_C_HTTP_AUTHN_SCHEME_BASIC}
  776.   RPC_C_HTTP_AUTHN_SCHEME_NTLM      = $00000002;
  777.   {$EXTERNALSYM RPC_C_HTTP_AUTHN_SCHEME_NTLM}
  778.   RPC_C_HTTP_AUTHN_SCHEME_PASSPORT  = $00000004;
  779.   {$EXTERNALSYM RPC_C_HTTP_AUTHN_SCHEME_PASSPORT}
  780.   RPC_C_HTTP_AUTHN_SCHEME_DIGEST    = $00000008;
  781.   {$EXTERNALSYM RPC_C_HTTP_AUTHN_SCHEME_DIGEST}
  782.   RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE = $00000010;
  783.   {$EXTERNALSYM RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE}
  784.   RPC_C_HTTP_FLAG_USE_SSL                    = 1;
  785.   {$EXTERNALSYM RPC_C_HTTP_FLAG_USE_SSL}
  786.   RPC_C_HTTP_FLAG_USE_FIRST_AUTH_SCHEME      = 2;
  787.   {$EXTERNALSYM RPC_C_HTTP_FLAG_USE_FIRST_AUTH_SCHEME}
  788. type
  789.   _RPC_HTTP_TRANSPORT_CREDENTIALS_W = record
  790.     TransportCredentials: PSEC_WINNT_AUTH_IDENTITY_W;
  791.     Flags: Cardinal;
  792.     AuthenticationTarget: Cardinal;
  793.     NumberOfAuthnSchemes: Cardinal;
  794.     AuthnSchemes: PCardinal;
  795.     ServerCertificateSubject: PWord;
  796.   end;
  797.   {$EXTERNALSYM RPC_HTTP_TRANSPORT_CREDENTIALS_W}
  798.   RPC_HTTP_TRANSPORT_CREDENTIALS_W = _RPC_HTTP_TRANSPORT_CREDENTIALS_W;
  799.   {$EXTERNALSYM RPC_HTTP_TRANSPORT_CREDENTIALS_W}
  800.   PRPC_HTTP_TRANSPORT_CREDENTIALS_W = ^RPC_HTTP_TRANSPORT_CREDENTIALS_W;
  801.   {$EXTERNALSYM PRPC_HTTP_TRANSPORT_CREDENTIALS_W}
  802.   TRpcHttpTransportCredentialsW = RPC_HTTP_TRANSPORT_CREDENTIALS_W;
  803.   PRpcHttpTransportCredentialsW = PRPC_HTTP_TRANSPORT_CREDENTIALS_W;
  804.   _RPC_HTTP_TRANSPORT_CREDENTIALS_A = record
  805.     TransportCredentials: PSEC_WINNT_AUTH_IDENTITY_A;
  806.     Flags: Cardinal;
  807.     AuthenticationTarget: Cardinal;
  808.     NumberOfAuthnSchemes: Cardinal;
  809.     AuthnSchemes: PCardinal;
  810.     ServerCertificateSubject: PByte;
  811.   end;
  812.   {$EXTERNALSYM RPC_HTTP_TRANSPORT_CREDENTIALS_A}
  813.   RPC_HTTP_TRANSPORT_CREDENTIALS_A = _RPC_HTTP_TRANSPORT_CREDENTIALS_A;
  814.   {$EXTERNALSYM RPC_HTTP_TRANSPORT_CREDENTIALS_A}
  815.   PRPC_HTTP_TRANSPORT_CREDENTIALS_A = ^RPC_HTTP_TRANSPORT_CREDENTIALS_A;
  816.   {$EXTERNALSYM PRPC_HTTP_TRANSPORT_CREDENTIALS_A}
  817.   TRpcHttpTransportCredentialsA = RPC_HTTP_TRANSPORT_CREDENTIALS_A;
  818.   PRpcHttpTransportCredentialsA = PRPC_HTTP_TRANSPORT_CREDENTIALS_A;
  819.   _RPC_SECURITY_QOS_V2_W = record
  820.     Version: Cardinal;
  821.     Capabilities: Cardinal;
  822.     IdentityTracking: Cardinal;
  823.     ImpersonationType: Cardinal;
  824.     AdditionalSecurityInfoType: Cardinal;
  825.     case Integer of
  826.       0: (HttpCredentials: PRPC_HTTP_TRANSPORT_CREDENTIALS_W);
  827.   end;
  828.   {$EXTERNALSYM _RPC_SECURITY_QOS_V2_W}
  829.   RPC_SECURITY_QOS_V2_W = _RPC_SECURITY_QOS_V2_W;
  830.   {$EXTERNALSYM RPC_SECURITY_QOS_V2_W}
  831.   PRPC_SECURITY_QOS_V2_W = ^RPC_SECURITY_QOS_V2_W;
  832.   {$EXTERNALSYM PRPC_SECURITY_QOS_V2_W}
  833.   TRpcSecurityQosV2W = RPC_SECURITY_QOS_V2_W;
  834.   PRpcSecurityQosV2W = PRPC_SECURITY_QOS_V2_W;  
  835.   _RPC_SECURITY_QOS_V2_A = record
  836.     Version: Cardinal;
  837.     Capabilities: Cardinal;
  838.     IdentityTracking: Cardinal;
  839.     ImpersonationType: Cardinal;
  840.     AdditionalSecurityInfoType: Cardinal;
  841.     case Integer of
  842.       0: (HttpCredentials: PRPC_HTTP_TRANSPORT_CREDENTIALS_A);
  843.   end;
  844.   {$EXTERNALSYM _RPC_SECURITY_QOS_V2_A}
  845.   RPC_SECURITY_QOS_V2_A = _RPC_SECURITY_QOS_V2_A;
  846.   {$EXTERNALSYM RPC_SECURITY_QOS_V2_A}
  847.   PRPC_SECURITY_QOS_V2_A = ^RPC_SECURITY_QOS_V2_A;
  848.   {$EXTERNALSYM PRPC_SECURITY_QOS_V2_A}
  849.   TRpcSecurityQosV2A = RPC_SECURITY_QOS_V2_A;
  850.   PRpcSecurityQosV2A = PRPC_SECURITY_QOS_V2_A;
  851. const
  852.   RPC_C_SECURITY_QOS_VERSION_3 = 3;
  853.   {$EXTERNALSYM RPC_C_SECURITY_QOS_VERSION_3}
  854. type
  855.   _RPC_SECURITY_QOS_V3_W = record
  856.     Version: Cardinal;
  857.     Capabilities: Cardinal;
  858.     IdentityTracking: Cardinal;
  859.     ImpersonationType: Cardinal;
  860.     AdditionalSecurityInfoType: Cardinal;
  861.     u: record
  862.     case Integer of
  863.       0: (HttpCredentials: PRPC_HTTP_TRANSPORT_CREDENTIALS_W);
  864.     end;
  865.     Sid: Pointer;
  866.   end;
  867.   {$EXTERNALSYM _RPC_SECURITY_QOS_V3_W}
  868.   RPC_SECURITY_QOS_V3_W = _RPC_SECURITY_QOS_V3_W;
  869.   {$EXTERNALSYM RPC_SECURITY_QOS_V3_W}
  870.   PRPC_SECURITY_QOS_V3_W = ^RPC_SECURITY_QOS_V3_W;
  871.   {$EXTERNALSYM PRPC_SECURITY_QOS_V3_W}
  872.   TRpcSecurityQosV3W = RPC_SECURITY_QOS_V3_W;
  873.   PRpcSecurityQosV3W = PRPC_SECURITY_QOS_V3_W;
  874.   _RPC_SECURITY_QOS_V3_A = record
  875.     Version: Cardinal;
  876.     Capabilities: Cardinal;
  877.     IdentityTracking: Cardinal;
  878.     ImpersonationType: Cardinal;
  879.     AdditionalSecurityInfoType: Cardinal;
  880.     u: record
  881.     case Integer of
  882.       0: (HttpCredentials: PRPC_HTTP_TRANSPORT_CREDENTIALS_A);
  883.     end;
  884.     Sid: Pointer;
  885.   end;
  886.   {$EXTERNALSYM _RPC_SECURITY_QOS_V3_A}
  887.   RPC_SECURITY_QOS_V3_A = _RPC_SECURITY_QOS_V3_A;
  888.   {$EXTERNALSYM RPC_SECURITY_QOS_V3_A}
  889.   PRPC_SECURITY_QOS_V3_A = ^RPC_SECURITY_QOS_V3_A;
  890.   {$EXTERNALSYM PRPC_SECURITY_QOS_V3_A}
  891.   TRpcSecurityQosV3A = RPC_SECURITY_QOS_V3_A;
  892.   PRpcSecurityQosV3A = PRPC_SECURITY_QOS_V3_A;
  893. {$IFDEF UNICODE}
  894.   RPC_SECURITY_QOS_V2 = RPC_SECURITY_QOS_V2_W;
  895.   {$EXTERNALSYM RPC_SECURITY_QOS_V2}
  896.   PRPC_SECURITY_QOS_V2 = PRPC_SECURITY_QOS_V2_W;
  897.   {$EXTERNALSYM PRPC_SECURITY_QOS_V2}
  898.   _RPC_SECURITY_QOS_V2 = _RPC_SECURITY_QOS_V2_W;
  899.   {$EXTERNALSYM _RPC_SECURITY_QOS_V2}
  900.   TRpcSecurityQosV2 = TRpcSecurityQosV2W;
  901.   PRpcSecurityQosV2 = PRpcSecurityQosV2W;
  902.   RPC_HTTP_TRANSPORT_CREDENTIALS = RPC_HTTP_TRANSPORT_CREDENTIALS_W;
  903.   {$EXTERNALSYM RPC_HTTP_TRANSPORT_CREDENTIALS}
  904.   PRPC_HTTP_TRANSPORT_CREDENTIALS = PRPC_HTTP_TRANSPORT_CREDENTIALS_W;
  905.   {$EXTERNALSYM PRPC_HTTP_TRANSPORT_CREDENTIALS}
  906.   _RPC_HTTP_TRANSPORT_CREDENTIALS = _RPC_HTTP_TRANSPORT_CREDENTIALS_W;
  907.   {$EXTERNALSYM _RPC_HTTP_TRANSPORT_CREDENTIALS}
  908.   TRpcHttpTransportCredentials = TRpcHttpTransportCredentialsW;
  909.   PRpcHttpTransportCredentials = PRpcHttpTransportCredentialsW;
  910.   RPC_SECURITY_QOS_V3 = RPC_SECURITY_QOS_V3_W;
  911.   {$EXTERNALSYM RPC_SECURITY_QOS_V3}
  912.   PRPC_SECURITY_QOS_V3 = PRPC_SECURITY_QOS_V3_W;
  913.   {$EXTERNALSYM PRPC_SECURITY_QOS_V3}
  914.   _RPC_SECURITY_QOS_V3 = _RPC_SECURITY_QOS_V3_W;
  915.   {$EXTERNALSYM _RPC_SECURITY_QOS_V3}
  916.   TRpcSecurityQosV3 = TRpcSecurityQosV3W;
  917.   PRpcSecurityQosV3 = PRpcSecurityQosV3W;
  918. {$ELSE}
  919.   RPC_SECURITY_QOS_V2 = RPC_SECURITY_QOS_V2_A;
  920.   {$EXTERNALSYM RPC_SECURITY_QOS_V2}
  921.   PRPC_SECURITY_QOS_V2 = PRPC_SECURITY_QOS_V2_A;
  922.   {$EXTERNALSYM PRPC_SECURITY_QOS_V2}
  923.   _RPC_SECURITY_QOS_V2 = _RPC_SECURITY_QOS_V2_A;
  924.   {$EXTERNALSYM _RPC_SECURITY_QOS_V2}
  925.   TRpcSecurityQosV2 = TRpcSecurityQosV2A;
  926.   PRpcSecurityQosV2 = PRpcSecurityQosV2A;
  927.   RPC_HTTP_TRANSPORT_CREDENTIALS = RPC_HTTP_TRANSPORT_CREDENTIALS_A;
  928.   {$EXTERNALSYM RPC_HTTP_TRANSPORT_CREDENTIALS}
  929.   PRPC_HTTP_TRANSPORT_CREDENTIALS = PRPC_HTTP_TRANSPORT_CREDENTIALS_A;
  930.   {$EXTERNALSYM PRPC_HTTP_TRANSPORT_CREDENTIALS}
  931.   _RPC_HTTP_TRANSPORT_CREDENTIALS = _RPC_HTTP_TRANSPORT_CREDENTIALS_A;
  932.   {$EXTERNALSYM _RPC_HTTP_TRANSPORT_CREDENTIALS}
  933.   TRpcHttpTransportCredentials = TRpcHttpTransportCredentialsA;
  934.   PRpcHttpTransportCredentials = PRpcHttpTransportCredentialsA;
  935.   RPC_SECURITY_QOS_V3 = RPC_SECURITY_QOS_V3_A;
  936.   {$EXTERNALSYM RPC_SECURITY_QOS_V3}
  937.   PRPC_SECURITY_QOS_V3 = PRPC_SECURITY_QOS_V3_A;
  938.   {$EXTERNALSYM PRPC_SECURITY_QOS_V3}
  939.   _RPC_SECURITY_QOS_V3 = _RPC_SECURITY_QOS_V3_A;
  940.   {$EXTERNALSYM _RPC_SECURITY_QOS_V3}
  941.   TRpcSecurityQosV3 = TRpcSecurityQosV3A;
  942.   PRpcSecurityQosV3 = PRpcSecurityQosV3A;
  943. {$ENDIF}
  944. type
  945.   RPC_NEW_HTTP_PROXY_CHANNEL = function (ServerName: PWideChar; ServerPort: PWord; RemoteUser: PByte; out NewServerName: PWord): RPC_STATUS; stdcall;
  946.   {$EXTERNALSYM RPC_NEW_HTTP_PROXY_CHANNEL}
  947.   RPC_HTTP_PROXY_FREE_STRING = procedure (ServerName: PWideChar); stdcall;
  948.   {$EXTERNALSYM RPC_HTTP_PROXY_FREE_STRING}
  949. const
  950.   RPC_C_AUTHZ_NONE    = 0;
  951.   {$EXTERNALSYM RPC_C_AUTHZ_NONE}
  952.   RPC_C_AUTHZ_NAME    = 1;
  953.   {$EXTERNALSYM RPC_C_AUTHZ_NAME}
  954.   RPC_C_AUTHZ_DCE     = 2;
  955.   {$EXTERNALSYM RPC_C_AUTHZ_DCE}
  956.   RPC_C_AUTHZ_DEFAULT = DWORD($ffffffff);
  957.   {$EXTERNALSYM RPC_C_AUTHZ_DEFAULT}
  958. function RpcImpersonateClient(BindingHandle: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  959. {$EXTERNALSYM RpcImpersonateClient}
  960. function RpcRevertToSelfEx(BindingHandle: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  961. {$EXTERNALSYM RpcRevertToSelfEx}
  962. function RpcRevertToSelf: RPC_STATUS; stdcall;
  963. {$EXTERNALSYM RpcRevertToSelf}
  964. function RpcBindingInqAuthClientA(ClientBinding: RPC_BINDING_HANDLE;
  965.   Privs: PRPC_AUTHZ_HANDLE; ServerPrincName: PPChar; AuthnLevel, AuthnSvc,
  966.   AuthzSvc: PCardinal): RPC_STATUS; stdcall;
  967. {$EXTERNALSYM RpcBindingInqAuthClientA}
  968. function RpcBindingInqAuthClientW(ClientBinding: RPC_BINDING_HANDLE;
  969.   Privs: PRPC_AUTHZ_HANDLE; ServerPrincName: PPWideChar; AuthnLevel, AuthnSvc,
  970.   AuthzSvc: PCardinal): RPC_STATUS; stdcall;
  971. {$EXTERNALSYM RpcBindingInqAuthClientW}
  972. function RpcBindingInqAuthClientExA(ClientBinding: RPC_BINDING_HANDLE;
  973.   Privs: PRPC_AUTHZ_HANDLE; ServerPrincName: PPChar; AuthnLevel, AuthnSvc,
  974.   AuthzSvc: PCardinal; Flags: Cardinal): RPC_STATUS; stdcall;
  975. {$EXTERNALSYM RpcBindingInqAuthClientExA}
  976. function RpcBindingInqAuthClientExW(ClientBinding: RPC_BINDING_HANDLE;
  977.   Privs: PRPC_AUTHZ_HANDLE; ServerPrincName: PPWideChar; AuthnLevel, AuthnSvc,
  978.   AuthzSvc: PCardinal; Flags: Cardinal): RPC_STATUS; stdcall;
  979. {$EXTERNALSYM RpcBindingInqAuthClientExW}
  980. function RpcBindingInqAuthInfoA(Binding: RPC_BINDING_HANDLE; ServerPrincName: PPChar;
  981.   AuthnLevel, AuthnSvc: PCardinal; AuthIdentity: PRPC_AUTH_IDENTITY_HANDLE;
  982.   AuthzSvc: PCardinal): RPC_STATUS; stdcall;
  983. {$EXTERNALSYM RpcBindingInqAuthInfoA}
  984. function RpcBindingInqAuthInfoW(Binding: RPC_BINDING_HANDLE; ServerPrincName: PPWideChar;
  985.   AuthnLevel, AuthnSvc: PCardinal; AuthIdentity: PRPC_AUTH_IDENTITY_HANDLE;
  986.   AuthzSvc: PCardinal): RPC_STATUS; stdcall;
  987. {$EXTERNALSYM RpcBindingInqAuthInfoW}
  988. function RpcBindingSetAuthInfoA(Binding: RPC_BINDING_HANDLE; ServerPrincName: PChar;
  989.   AuthnLevel, AuthnSvc: Cardinal; AuthIdentity: RPC_AUTH_IDENTITY_HANDLE;
  990.   AuthzSvc: Cardinal): RPC_STATUS; stdcall;
  991. {$EXTERNALSYM RpcBindingSetAuthInfoA}
  992. function RpcBindingSetAuthInfoW(Binding: RPC_BINDING_HANDLE; ServerPrincName: PWideChar;
  993.   AuthnLevel, AuthnSvc: Cardinal; AuthIdentity: RPC_AUTH_IDENTITY_HANDLE;
  994.   AuthzSvc: Cardinal): RPC_STATUS; stdcall;
  995. {$EXTERNALSYM RpcBindingSetAuthInfoW}
  996. function RpcBindingSetAuthInfoExA(Binding: RPC_BINDING_HANDLE;
  997.   ServerPrincName: PChar; AuthnLevel, AuthnSvc: Cardinal;
  998.   AuthIdentity: RPC_AUTH_IDENTITY_HANDLE; AuthzSvc: Cardinal;
  999.   const SecurityQOS: RPC_SECURITY_QOS): RPC_STATUS; stdcall;
  1000. {$EXTERNALSYM RpcBindingSetAuthInfoExA}
  1001. function RpcBindingSetAuthInfoExW(Binding: RPC_BINDING_HANDLE;
  1002.   ServerPrincName: PWideChar; AuthnLevel, AuthnSvc: Cardinal;
  1003.   AuthIdentity: RPC_AUTH_IDENTITY_HANDLE; AuthzSvc: Cardinal;
  1004.   const SecurityQOS: RPC_SECURITY_QOS): RPC_STATUS; stdcall;
  1005. {$EXTERNALSYM RpcBindingSetAuthInfoExW}
  1006. function RpcBindingInqAuthInfoExA(Binding: RPC_BINDING_HANDLE;
  1007.   ServerPrincName: PPChar; AuthnLevel, AuthnSvc: PCardinal;
  1008.   AuthIdentity: PRPC_AUTH_IDENTITY_HANDLE; AuthzSvc: PCardinal;
  1009.   RpcQosVersion: Cardinal; var SecurityQOS: RPC_SECURITY_QOS): RPC_STATUS; stdcall;
  1010. {$EXTERNALSYM RpcBindingInqAuthInfoExA}
  1011. function RpcBindingInqAuthInfoExW(Binding: RPC_BINDING_HANDLE;
  1012.   ServerPrincName: PPWideChar; AuthnLevel, AuthnSvc: PCardinal;
  1013.   AuthIdentity: PRPC_AUTH_IDENTITY_HANDLE; AuthzSvc: PCardinal;
  1014.   RpcQosVersion: Cardinal; var SecurityQOS: RPC_SECURITY_QOS): RPC_STATUS; stdcall;
  1015. {$EXTERNALSYM RpcBindingInqAuthInfoExW}
  1016. type
  1017.   RPC_AUTH_KEY_RETRIEVAL_FN = procedure (Arg: Pointer; ServerPrincName: PWideChar;
  1018.     KeyVer: Cardinal; var Key: Pointer; var Status: RPC_STATUS); stdcall;
  1019.   {$EXTERNALSYM RPC_AUTH_KEY_RETRIEVAL_FN}
  1020.   TRpcAuthKeyRetrievalFn = RPC_AUTH_KEY_RETRIEVAL_FN;
  1021. function RpcServerRegisterAuthInfoA(ServerPrincName: PChar; AuthnSvc: Cardinal;
  1022.   GetKeyFn: RPC_AUTH_KEY_RETRIEVAL_FN; Arg: Pointer): RPC_STATUS; stdcall;
  1023. {$EXTERNALSYM RpcServerRegisterAuthInfoA}
  1024. function RpcServerRegisterAuthInfoW(ServerPrincName: PWideChar; AuthnSvc: Cardinal;
  1025.   GetKeyFn: RPC_AUTH_KEY_RETRIEVAL_FN; Arg: Pointer): RPC_STATUS; stdcall;
  1026. {$EXTERNALSYM RpcServerRegisterAuthInfoW}
  1027. {$IFDEF UNICODE}
  1028. function RpcBindingInqAuthClient(ClientBinding: RPC_BINDING_HANDLE;
  1029.   Privs: PRPC_AUTHZ_HANDLE; ServerPrincName: PPWideChar; AuthnLevel, AuthnSvc,
  1030.   AuthzSvc: PCardinal): RPC_STATUS; stdcall;
  1031. {$EXTERNALSYM RpcBindingInqAuthClient}
  1032. function RpcBindingInqAuthClientEx(ClientBinding: RPC_BINDING_HANDLE;
  1033.   Privs: PRPC_AUTHZ_HANDLE; ServerPrincName: PPWideChar; AuthnLevel, AuthnSvc,
  1034.   AuthzSvc: PCardinal; Flags: Cardinal): RPC_STATUS; stdcall;
  1035. {$EXTERNALSYM RpcBindingInqAuthClientEx}
  1036. function RpcBindingInqAuthInfo(Binding: RPC_BINDING_HANDLE; ServerPrincName: PPWideChar;
  1037.   AuthnLevel, AuthnSvc: PCardinal; AuthIdentity: PRPC_AUTH_IDENTITY_HANDLE;
  1038.   AuthzSvc: PCardinal): RPC_STATUS; stdcall;
  1039. {$EXTERNALSYM RpcBindingInqAuthInfo}
  1040. function RpcBindingSetAuthInfo(Binding: RPC_BINDING_HANDLE; ServerPrincName: PWideChar;
  1041.   AuthnLevel, AuthnSvc: Cardinal; AuthIdentity: RPC_AUTH_IDENTITY_HANDLE;
  1042.   AuthzSvc: Cardinal): RPC_STATUS; stdcall;
  1043. {$EXTERNALSYM RpcBindingSetAuthInfo}
  1044. function RpcBindingSetAuthInfoEx(Binding: RPC_BINDING_HANDLE;
  1045.   ServerPrincName: PWideChar; AuthnLevel, AuthnSvc: Cardinal;
  1046.   AuthIdentity: RPC_AUTH_IDENTITY_HANDLE; AuthzSvc: Cardinal;
  1047.   const SecurityQOS: RPC_SECURITY_QOS): RPC_STATUS; stdcall;
  1048. {$EXTERNALSYM RpcBindingSetAuthInfoEx}
  1049. function RpcBindingInqAuthInfoEx(Binding: RPC_BINDING_HANDLE;
  1050.   ServerPrincName: PPWideChar; AuthnLevel, AuthnSvc: PCardinal;
  1051.   AuthIdentity: PRPC_AUTH_IDENTITY_HANDLE; AuthzSvc: PCardinal;
  1052.   RpcQosVersion: Cardinal; var SecurityQOS: RPC_SECURITY_QOS): RPC_STATUS; stdcall;
  1053. {$EXTERNALSYM RpcBindingInqAuthInfoEx}
  1054. function RpcServerRegisterAuthInfo(ServerPrincName: PWideChar; AuthnSvc: Cardinal;
  1055.   GetKeyFn: RPC_AUTH_KEY_RETRIEVAL_FN; Arg: Pointer): RPC_STATUS; stdcall;
  1056. {$EXTERNALSYM RpcServerRegisterAuthInfo}
  1057. {$ELSE}
  1058. function RpcBindingInqAuthClient(ClientBinding: RPC_BINDING_HANDLE;
  1059.   Privs: PRPC_AUTHZ_HANDLE; ServerPrincName: PPChar; AuthnLevel, AuthnSvc,
  1060.   AuthzSvc: PCardinal): RPC_STATUS; stdcall;
  1061. {$EXTERNALSYM RpcBindingInqAuthClient}
  1062. function RpcBindingInqAuthClientEx(ClientBinding: RPC_BINDING_HANDLE;
  1063.   Privs: PRPC_AUTHZ_HANDLE; ServerPrincName: PPChar; AuthnLevel, AuthnSvc,
  1064.   AuthzSvc: PCardinal; Flags: Cardinal): RPC_STATUS; stdcall;
  1065. {$EXTERNALSYM RpcBindingInqAuthClientEx}
  1066. function RpcBindingInqAuthInfo(Binding: RPC_BINDING_HANDLE; ServerPrincName: PPChar;
  1067.   AuthnLevel, AuthnSvc: PCardinal; AuthIdentity: PRPC_AUTH_IDENTITY_HANDLE;
  1068.   AuthzSvc: PCardinal): RPC_STATUS; stdcall;
  1069. {$EXTERNALSYM RpcBindingInqAuthInfo}
  1070. function RpcBindingSetAuthInfo(Binding: RPC_BINDING_HANDLE; ServerPrincName: PChar;
  1071.   AuthnLevel, AuthnSvc: Cardinal; AuthIdentity: RPC_AUTH_IDENTITY_HANDLE;
  1072.   AuthzSvc: Cardinal): RPC_STATUS; stdcall;
  1073. {$EXTERNALSYM RpcBindingSetAuthInfo}
  1074. function RpcBindingSetAuthInfoEx(Binding: RPC_BINDING_HANDLE;
  1075.   ServerPrincName: PChar; AuthnLevel, AuthnSvc: Cardinal;
  1076.   AuthIdentity: RPC_AUTH_IDENTITY_HANDLE; AuthzSvc: Cardinal;
  1077.   const SecurityQOS: RPC_SECURITY_QOS): RPC_STATUS; stdcall;
  1078. {$EXTERNALSYM RpcBindingSetAuthInfoEx}
  1079. function RpcBindingInqAuthInfoEx(Binding: RPC_BINDING_HANDLE;
  1080.   ServerPrincName: PPChar; AuthnLevel, AuthnSvc: PCardinal;
  1081.   AuthIdentity: PRPC_AUTH_IDENTITY_HANDLE; AuthzSvc: PCardinal;
  1082.   RpcQosVersion: Cardinal; var SecurityQOS: RPC_SECURITY_QOS): RPC_STATUS; stdcall;
  1083. {$EXTERNALSYM RpcBindingInqAuthInfoEx}
  1084. function RpcServerRegisterAuthInfo(ServerPrincName: PChar; AuthnSvc: Cardinal;
  1085.   GetKeyFn: RPC_AUTH_KEY_RETRIEVAL_FN; Arg: Pointer): RPC_STATUS; stdcall;
  1086. {$EXTERNALSYM RpcServerRegisterAuthInfo}
  1087. {$ENDIF}
  1088. type
  1089.   RPC_CLIENT_INFORMATION1 = record
  1090.     UserName: PChar;
  1091.     ComputerName: PChar;
  1092.     Privilege: Word;
  1093.     AuthFlags: Longword;
  1094.   end;
  1095.   {$EXTERNALSYM RPC_CLIENT_INFORMATION1}
  1096.   PRPC_CLIENT_INFORMATION1 = ^RPC_CLIENT_INFORMATION1;
  1097.   {$EXTERNALSYM PRPC_CLIENT_INFORMATION1}
  1098.   TRpcClientInformation1 = RPC_CLIENT_INFORMATION1;
  1099.   PRpcClientInformation1 = PRPC_CLIENT_INFORMATION1;
  1100. function RpcBindingServerFromClient(ClientBinding: RPC_BINDING_HANDLE;
  1101.   var ServerBinding: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  1102. {$EXTERNALSYM RpcBindingServerFromClient}
  1103. procedure RpcRaiseException(exception: RPC_STATUS); stdcall;
  1104. {$EXTERNALSYM RpcRaiseException}
  1105. function RpcTestCancel: RPC_STATUS; stdcall;
  1106. {$EXTERNALSYM RpcTestCancel}
  1107. function RpcServerTestCancel(BindingHandle: RPC_BINDING_HANDLE): RPC_STATUS; stdcall;
  1108. {$EXTERNALSYM RpcServerTestCancel}
  1109. function RpcCancelThread(Thread: Pointer): RPC_STATUS; stdcall;
  1110. {$EXTERNALSYM RpcCancelThread}
  1111. function RpcCancelThreadEx(Thread: Pointer; Timeout: Longint): RPC_STATUS; stdcall;
  1112. {$EXTERNALSYM RpcCancelThreadEx}
  1113. function UuidCreate(var Uuid: UUID): RPC_STATUS; stdcall;
  1114. {$EXTERNALSYM UuidCreate}
  1115. function UuidCreateSequential(Uuid: UUID): RPC_STATUS; stdcall;
  1116. {$EXTERNALSYM UuidCreateSequential}
  1117. function UuidFromStringA(StringUuid: PChar; var Uuid: UUID): RPC_STATUS; stdcall;
  1118. {$EXTERNALSYM UuidFromStringA}
  1119. function UuidFromStringW(StringUuid: PWideChar; var Uuid: UUID): RPC_STATUS; stdcall;
  1120. {$EXTERNALSYM UuidFromStringW}
  1121. {$IFDEF UNICODE}
  1122. function UuidFromString(StringUuid: PWideChar; var Uuid: UUID): RPC_STATUS; stdcall;
  1123. {$EXTERNALSYM UuidFromString}
  1124. {$ELSE}
  1125. function UuidFromString(StringUuid: PChar; var Uuid: UUID): RPC_STATUS; stdcall;
  1126. {$EXTERNALSYM UuidFromString}
  1127. {$ENDIF}
  1128. function UuidToStringA(const Uuid: UUID; var StringUuid: PChar): RPC_STATUS; stdcall;
  1129. {$EXTERNALSYM UuidToStringA}
  1130. function UuidToStringW(const Uuid: UUID; var StringUuid: PWideChar): RPC_STATUS; stdcall;
  1131. {$EXTERNALSYM UuidToStringW}
  1132. {$IFDEF UNICODE}
  1133. function UuidToString(const Uuid: UUID; var StringUuid: PWideChar): RPC_STATUS; stdcall;
  1134. {$EXTERNALSYM UuidToString}
  1135. {$ELSE}
  1136. function UuidToString(const Uuid: UUID; var StringUuid: PChar): RPC_STATUS; stdcall;
  1137. {$EXTERNALSYM UuidToString}
  1138. {$ENDIF}
  1139. function UuidCompare(const Uuid1, Uuid2: UUID; var Status: RPC_STATUS): Integer; stdcall;
  1140. {$EXTERNALSYM UuidCompare}
  1141. function UuidCreateNil(var NilUuid: UUID): RPC_STATUS; stdcall;
  1142. {$EXTERNALSYM UuidCreateNil}
  1143. function UuidEqual(const Uuid1, Uuid2: UUID; var Status: RPC_STATUS): Integer; stdcall;
  1144. {$EXTERNALSYM UuidEqual}
  1145. function UuidHash(const Uuid: UUID; var Status: RPC_STATUS): Word; stdcall;
  1146. {$EXTERNALSYM UuidHash}
  1147. function UuidIsNil(const Uuid: UUID; var Status: RPC_STATUS): Integer; stdcall;
  1148. {$EXTERNALSYM UuidIsNil}
  1149. function RpcEpRegisterNoReplaceA(IfSpec: RPC_IF_HANDLE;
  1150.   BindingVector: PRPC_BINDING_VECTOR; UuidVector: PUUID_VECTOR;
  1151.   Annotation: PChar): RPC_STATUS; stdcall;
  1152. {$EXTERNALSYM RpcEpRegisterNoReplaceA}
  1153. function RpcEpRegisterNoReplaceW(IfSpec: RPC_IF_HANDLE;
  1154.   BindingVector: PRPC_BINDING_VECTOR; UuidVector: PUUID_VECTOR;
  1155.   Annotation: PWideChar): RPC_STATUS; stdcall;
  1156. {$EXTERNALSYM RpcEpRegisterNoReplaceW}
  1157. {$IFDEF UNICODE}
  1158. function RpcEpRegisterNoReplace(IfSpec: RPC_IF_HANDLE;
  1159.   BindingVector: PRPC_BINDING_VECTOR; UuidVector: PUUID_VECTOR;
  1160.   Annotation: PWideChar): RPC_STATUS; stdcall;
  1161. {$EXTERNALSYM RpcEpRegisterNoReplace}
  1162. {$ELSE}
  1163. function RpcEpRegisterNoReplace(IfSpec: RPC_IF_HANDLE;
  1164.   BindingVector: PRPC_BINDING_VECTOR; UuidVector: PUUID_VECTOR;
  1165.   Annotation: PChar): RPC_STATUS; stdcall;
  1166. {$EXTERNALSYM RpcEpRegisterNoReplace}
  1167. {$ENDIF}
  1168. function RpcEpRegisterA(IfSpec: RPC_IF_HANDLE; BindingVector: PRPC_BINDING_VECTOR;
  1169.   UuidVector: PUUID_VECTOR; Annotation: PChar): RPC_STATUS; stdcall;
  1170. {$EXTERNALSYM RpcEpRegisterA}
  1171. function RpcEpRegisterW(IfSpec: RPC_IF_HANDLE; BindingVector: PRPC_BINDING_VECTOR;
  1172.   UuidVector: PUUID_VECTOR; Annotation: PWideChar): RPC_STATUS; stdcall;
  1173. {$EXTERNALSYM RpcEpRegisterW}
  1174. {$IFDEF UNICODE}
  1175. function RpcEpRegister(IfSpec: RPC_IF_HANDLE; BindingVector: PRPC_BINDING_VECTOR;
  1176.   UuidVector: PUUID_VECTOR; Annotation: PWideChar): RPC_STATUS; stdcall;
  1177. {$EXTERNALSYM RpcEpRegister}
  1178. {$ELSE}
  1179. function RpcEpRegister(IfSpec: RPC_IF_HANDLE; BindingVector: PRPC_BINDING_VECTOR;
  1180.   UuidVector: PUUID_VECTOR; Annotation: PChar): RPC_STATUS; stdcall;
  1181. {$EXTERNALSYM RpcEpRegister}
  1182. {$ENDIF}
  1183. function RpcEpUnregister(IfSpec: RPC_IF_HANDLE; BindingVector: PRPC_BINDING_VECTOR;
  1184.   UuidVector: UUID_VECTOR): RPC_STATUS; stdcall;
  1185. {$EXTERNALSYM RpcEpUnregister}
  1186. function DceErrorInqTextA(RpcStatus: RPC_STATUS; ErrorText: PChar): RPC_STATUS; stdcall;
  1187. {$EXTERNALSYM DceErrorInqTextA}
  1188. function DceErrorInqTextW(RpcStatus: RPC_STATUS; ErrorText: PWideChar): RPC_STATUS; stdcall;
  1189. {$EXTERNALSYM DceErrorInqTextW}
  1190. {$IFDEF UNICODE}
  1191. function DceErrorInqText(RpcStatus: RPC_STATUS; ErrorText: PWideChar): RPC_STATUS; stdcall;
  1192. {$EXTERNALSYM DceErrorInqText}
  1193. {$ELSE}
  1194. function DceErrorInqText(RpcStatus: RPC_STATUS; ErrorText: PChar): RPC_STATUS; stdcall;
  1195. {$EXTERNALSYM DceErrorInqText}
  1196. {$ENDIF}
  1197. const
  1198.   DCE_C_ERROR_STRING_LEN = 256;
  1199.   {$EXTERNALSYM DCE_C_ERROR_STRING_LEN}
  1200. type
  1201.   RPC_EP_INQ_HANDLE = ^I_RPC_HANDLE;
  1202.   {$EXTERNALSYM RPC_EP_INQ_HANDLE}
  1203. const
  1204.   RPC_C_EP_ALL_ELTS      = 0;
  1205.   {$EXTERNALSYM RPC_C_EP_ALL_ELTS}
  1206.   RPC_C_EP_MATCH_BY_IF   = 1;
  1207.   {$EXTERNALSYM RPC_C_EP_MATCH_BY_IF}
  1208.   RPC_C_EP_MATCH_BY_OBJ  = 2;
  1209.   {$EXTERNALSYM RPC_C_EP_MATCH_BY_OBJ}
  1210.   RPC_C_EP_MATCH_BY_BOTH = 3;
  1211.   {$EXTERNALSYM RPC_C_EP_MATCH_BY_BOTH}
  1212.   RPC_C_VERS_ALL        = 1;
  1213.   {$EXTERNALSYM RPC_C_VERS_ALL}
  1214.   RPC_C_VERS_COMPATIBLE = 2;
  1215.   {$EXTERNALSYM RPC_C_VERS_COMPATIBLE}
  1216.   RPC_C_VERS_EXACT      = 3;
  1217.   {$EXTERNALSYM RPC_C_VERS_EXACT}
  1218.   RPC_C_VERS_MAJOR_ONLY = 4;
  1219.   {$EXTERNALSYM RPC_C_VERS_MAJOR_ONLY}
  1220.   RPC_C_VERS_UPTO       = 5;
  1221.   {$EXTERNALSYM RPC_C_VERS_UPTO}
  1222. function RpcMgmtEpEltInqBegin(EpBinding: RPC_BINDING_HANDLE; InquiryType: Cardinal;
  1223.   IfId: PRPC_IF_ID; VersOption: Cardinal; ObjectUuid: PUUID;
  1224.   var InquiryContext: RPC_EP_INQ_HANDLE): RPC_STATUS; stdcall;
  1225. {$EXTERNALSYM RpcMgmtEpEltInqBegin}
  1226. function RpcMgmtEpEltInqDone(var InquiryContext: RPC_EP_INQ_HANDLE): RPC_STATUS; stdcall;
  1227. {$EXTERNALSYM RpcMgmtEpEltInqDone}
  1228. function RpcMgmtEpEltInqNextA(InquiryContext: RPC_EP_INQ_HANDLE; var IfId: RPC_IF_ID;
  1229.   Binding: PRPC_BINDING_HANDLE; ObjectUuid: PUUID; var Annotation: PChar): RPC_STATUS; stdcall;
  1230. {$EXTERNALSYM RpcMgmtEpEltInqNextA}
  1231. function RpcMgmtEpEltInqNextW(InquiryContext: RPC_EP_INQ_HANDLE; var IfId: RPC_IF_ID;
  1232.   Binding: PRPC_BINDING_HANDLE; ObjectUuid: PUUID; var Annotation: PWideChar): RPC_STATUS; stdcall;
  1233. {$EXTERNALSYM RpcMgmtEpEltInqNextW}
  1234. {$IFDEF UNICODE}
  1235. function RpcMgmtEpEltInqNext(InquiryContext: RPC_EP_INQ_HANDLE; var IfId: RPC_IF_ID;
  1236.   Binding: PRPC_BINDING_HANDLE; ObjectUuid: PUUID; var Annotation: PWideChar): RPC_STATUS; stdcall;
  1237. {$EXTERNALSYM RpcMgmtEpEltInqNext}
  1238. {$ELSE}
  1239. function RpcMgmtEpEltInqNext(InquiryContext: RPC_EP_INQ_HANDLE; var IfId: RPC_IF_ID;
  1240.   Binding: PRPC_BINDING_HANDLE; ObjectUuid: PUUID; var Annotation: PChar): RPC_STATUS; stdcall;
  1241. {$EXTERNALSYM RpcMgmtEpEltInqNext}
  1242. {$ENDIF}
  1243. function RpcMgmtEpUnregister(EpBinding: RPC_BINDING_HANDLE; IfId: PRPC_IF_ID;
  1244.   Binding: RPC_BINDING_HANDLE; ObjectUuid : PUUID): RPC_STATUS; stdcall;
  1245. {$EXTERNALSYM RpcMgmtEpUnregister}
  1246. type
  1247.   RPC_MGMT_AUTHORIZATION_FN = function (ClientBinding: RPC_BINDING_HANDLE;
  1248.     RequestedMgmtOperation: Cardinal; var Status: RPC_STATUS): Integer; stdcall;
  1249.   {$EXTERNALSYM RPC_MGMT_AUTHORIZATION_FN}
  1250.   TRpcMgmtAuthorizationFn = RPC_MGMT_AUTHORIZATION_FN;
  1251. const
  1252.   RPC_C_MGMT_INQ_IF_IDS         = 0;
  1253.   {$EXTERNALSYM RPC_C_MGMT_INQ_IF_IDS}
  1254.   RPC_C_MGMT_INQ_PRINC_NAME     = 1;
  1255.   {$EXTERNALSYM RPC_C_MGMT_INQ_PRINC_NAME}
  1256.   RPC_C_MGMT_INQ_STATS          = 2;
  1257.   {$EXTERNALSYM RPC_C_MGMT_INQ_STATS}
  1258.   RPC_C_MGMT_IS_SERVER_LISTEN   = 3;
  1259.   {$EXTERNALSYM RPC_C_MGMT_IS_SERVER_LISTEN}
  1260.   RPC_C_MGMT_STOP_SERVER_LISTEN = 4;
  1261.   {$EXTERNALSYM RPC_C_MGMT_STOP_SERVER_LISTEN}
  1262. function RpcMgmtSetAuthorizationFn(AuthorizationFn: RPC_MGMT_AUTHORIZATION_FN): RPC_STATUS; stdcall;
  1263. {$EXTERNALSYM RpcMgmtSetAuthorizationFn}
  1264. const
  1265.   RPC_C_PARM_MAX_PACKET_LENGTH = 1;
  1266.   {$EXTERNALSYM RPC_C_PARM_MAX_PACKET_LENGTH}
  1267.   RPC_C_PARM_BUFFER_LENGTH     = 2;
  1268.   {$EXTERNALSYM RPC_C_PARM_BUFFER_LENGTH}
  1269.   RPC_IF_AUTOLISTEN              = $0001;
  1270.   {$EXTERNALSYM RPC_IF_AUTOLISTEN}
  1271.   RPC_IF_OLE                     = $0002;
  1272.   {$EXTERNALSYM RPC_IF_OLE}
  1273.   RPC_IF_ALLOW_UNKNOWN_AUTHORITY = $0004;
  1274.   {$EXTERNALSYM RPC_IF_ALLOW_UNKNOWN_AUTHORITY}
  1275.   RPC_IF_ALLOW_SECURE_ONLY       = $0008;
  1276.   {$EXTERNALSYM RPC_IF_ALLOW_SECURE_ONLY}
  1277.   RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH = $0010;
  1278.   {$EXTERNALSYM RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH}
  1279. implementation
  1280. const
  1281.   rpclib = 'rpcrt4.dll';
  1282. {$IFDEF DYNAMIC_LINK}
  1283. var
  1284.   _RpcBindingCopy: Pointer;
  1285. function RpcBindingCopy;
  1286. begin
  1287.   GetProcedureAddress(_RpcBindingCopy, rpclib, 'RpcBindingCopy');
  1288.   asm
  1289.     mov esp, ebp
  1290.     pop ebp
  1291.     jmp [_RpcBindingCopy]
  1292.   end;
  1293. end;
  1294. {$ELSE}
  1295. function RpcBindingCopy; external rpclib name 'RpcBindingCopy';
  1296. {$ENDIF DYNAMIC_LINK}
  1297. {$IFDEF DYNAMIC_LINK}
  1298. var
  1299.   _RpcBindingFree: Pointer;
  1300. function RpcBindingFree;
  1301. begin
  1302.   GetProcedureAddress(_RpcBindingFree, rpclib, 'RpcBindingFree');
  1303.   asm
  1304.     mov esp, ebp
  1305.     pop ebp
  1306.     jmp [_RpcBindingFree]
  1307.   end;
  1308. end;
  1309. {$ELSE}
  1310. function RpcBindingFree; external rpclib name 'RpcBindingFree';
  1311. {$ENDIF DYNAMIC_LINK}
  1312. {$IFDEF DYNAMIC_LINK}
  1313. var
  1314.   _RpcBindingSetOption: Pointer;
  1315. function RpcBindingSetOption;
  1316. begin
  1317.   GetProcedureAddress(_RpcBindingSetOption, rpclib, 'RpcBindingSetOption');
  1318.   asm
  1319.     mov esp, ebp
  1320.     pop ebp
  1321.     jmp [_RpcBindingSetOption]
  1322.   end;
  1323. end;
  1324. {$ELSE}
  1325. function RpcBindingSetOption; external rpclib name 'RpcBindingSetOption';
  1326. {$ENDIF DYNAMIC_LINK}
  1327. {$IFDEF DYNAMIC_LINK}
  1328. var
  1329.   _RpcBindingInqOption: Pointer;
  1330. function RpcBindingInqOption;
  1331. begin
  1332.   GetProcedureAddress(_RpcBindingInqOption, rpclib, 'RpcBindingInqOption');
  1333.   asm
  1334.     mov esp, ebp
  1335.     pop ebp
  1336.     jmp [_RpcBindingInqOption]
  1337.   end;
  1338. end;
  1339. {$ELSE}
  1340. function RpcBindingInqOption; external rpclib name 'RpcBindingInqOption';
  1341. {$ENDIF DYNAMIC_LINK}
  1342. {$IFDEF DYNAMIC_LINK}
  1343. var
  1344.   _RpcBindingFromStringBindingA: Pointer;
  1345. function RpcBindingFromStringBindingA;
  1346. begin
  1347.   GetProcedureAddress(_RpcBindingFromStringBindingA, rpclib, 'RpcBindingFromStringBindingA');
  1348.   asm
  1349.     mov esp, ebp
  1350.     pop ebp
  1351.     jmp [_RpcBindingFromStringBindingA]
  1352.   end;
  1353. end;
  1354. {$ELSE}
  1355. function RpcBindingFromStringBindingA; external rpclib name 'RpcBindingFromStringBindingA';
  1356. {$ENDIF DYNAMIC_LINK}
  1357. {$IFDEF DYNAMIC_LINK}
  1358. var
  1359.   _RpcBindingFromStringBindingW: Pointer;
  1360. function RpcBindingFromStringBindingW;
  1361. begin
  1362.   GetProcedureAddress(_RpcBindingFromStringBindingW, rpclib, 'RpcBindingFromStringBindingW');
  1363.   asm
  1364.     mov esp, ebp
  1365.     pop ebp
  1366.     jmp [_RpcBindingFromStringBindingW]
  1367.   end;
  1368. end;
  1369. {$ELSE}
  1370. function RpcBindingFromStringBindingW; external rpclib name 'RpcBindingFromStringBindingW';
  1371. {$ENDIF DYNAMIC_LINK}
  1372. {$IFDEF UNICODE}
  1373. {$IFDEF DYNAMIC_LINK}
  1374. var
  1375.   _RpcBindingFromStringBinding: Pointer;
  1376. function RpcBindingFromStringBinding;
  1377. begin
  1378.   GetProcedureAddress(_RpcBindingFromStringBinding, rpclib, 'RpcBindingFromStringBindingW');
  1379.   asm
  1380.     mov esp, ebp
  1381.     pop ebp
  1382.     jmp [_RpcBindingFromStringBinding]
  1383.   end;
  1384. end;
  1385. {$ELSE}
  1386. function RpcBindingFromStringBinding; external rpclib name 'RpcBindingFromStringBindingW';
  1387. {$ENDIF DYNAMIC_LINK}
  1388. {$ELSE}
  1389. {$IFDEF DYNAMIC_LINK}
  1390. var
  1391.   _RpcBindingFromStringBinding: Pointer;
  1392. function RpcBindingFromStringBinding;
  1393. begin
  1394.   GetProcedureAddress(_RpcBindingFromStringBinding, rpclib, 'RpcBindingFromStringBindingA');
  1395.   asm
  1396.     mov esp, ebp
  1397.     pop ebp
  1398.     jmp [_RpcBindingFromStringBinding]
  1399.   end;
  1400. end;
  1401. {$ELSE}
  1402. function RpcBindingFromStringBinding; external rpclib name 'RpcBindingFromStringBindingA';
  1403. {$ENDIF DYNAMIC_LINK}
  1404. {$ENDIF}
  1405. {$IFDEF DYNAMIC_LINK}
  1406. var
  1407.   _RpcSsGetContextBinding: Pointer;
  1408. function RpcSsGetContextBinding;
  1409. begin
  1410.   GetProcedureAddress(_RpcSsGetContextBinding, rpclib, 'RpcSsGetContextBinding');
  1411.   asm
  1412.     mov esp, ebp
  1413.     pop ebp
  1414.     jmp [_RpcSsGetContextBinding]
  1415.   end;
  1416. end;
  1417. {$ELSE}
  1418. function RpcSsGetContextBinding; external rpclib name 'RpcSsGetContextBinding';
  1419. {$ENDIF DYNAMIC_LINK}
  1420. {$IFDEF DYNAMIC_LINK}
  1421. var
  1422.   _RpcBindingInqObject: Pointer;
  1423. function RpcBindingInqObject;
  1424. begin
  1425.   GetProcedureAddress(_RpcBindingInqObject, rpclib, 'RpcBindingInqObject');
  1426.   asm
  1427.     mov esp, ebp
  1428.     pop ebp
  1429.     jmp [_RpcBindingInqObject]
  1430.   end;
  1431. end;
  1432. {$ELSE}
  1433. function RpcBindingInqObject; external rpclib name 'RpcBindingInqObject';
  1434. {$ENDIF DYNAMIC_LINK}
  1435. {$IFDEF DYNAMIC_LINK}
  1436. var
  1437.   _RpcBindingReset: Pointer;
  1438. function RpcBindingReset;
  1439. begin
  1440.   GetProcedureAddress(_RpcBindingReset, rpclib, 'RpcBindingReset');
  1441.   asm
  1442.     mov esp, ebp
  1443.     pop ebp
  1444.     jmp [_RpcBindingReset]
  1445.   end;
  1446. end;
  1447. {$ELSE}
  1448. function RpcBindingReset; external rpclib name 'RpcBindingReset';
  1449. {$ENDIF DYNAMIC_LINK}
  1450. {$IFDEF DYNAMIC_LINK}
  1451. var
  1452.   _RpcBindingSetObject: Pointer;
  1453. function RpcBindingSetObject;
  1454. begin
  1455.   GetProcedureAddress(_RpcBindingSetObject, rpclib, 'RpcBindingSetObject');
  1456.   asm
  1457.     mov esp, ebp
  1458.     pop ebp
  1459.     jmp [_RpcBindingSetObject]
  1460.   end;
  1461. end;
  1462. {$ELSE}
  1463. function RpcBindingSetObject; external rpclib name 'RpcBindingSetObject';
  1464. {$ENDIF DYNAMIC_LINK}
  1465. {$IFDEF DYNAMIC_LINK}
  1466. var
  1467.   _RpcMgmtInqDefaultProtectLevel: Pointer;
  1468. function RpcMgmtInqDefaultProtectLevel;
  1469. begin
  1470.   GetProcedureAddress(_RpcMgmtInqDefaultProtectLevel, rpclib, 'RpcMgmtInqDefaultProtectLevel');
  1471.   asm
  1472.     mov esp, ebp
  1473.     pop ebp
  1474.     jmp [_RpcMgmtInqDefaultProtectLevel]
  1475.   end;
  1476. end;
  1477. {$ELSE}
  1478. function RpcMgmtInqDefaultProtectLevel; external rpclib name 'RpcMgmtInqDefaultProtectLevel';
  1479. {$ENDIF DYNAMIC_LINK}
  1480. {$IFDEF DYNAMIC_LINK}
  1481. var
  1482.   _RpcBindingToStringBindingA: Pointer;
  1483. function RpcBindingToStringBindingA;
  1484. begin
  1485.   GetProcedureAddress(_RpcBindingToStringBindingA, rpclib, 'RpcBindingToStringBindingA');
  1486.   asm
  1487.     mov esp, ebp
  1488.     pop ebp
  1489.     jmp [_RpcBindingToStringBindingA]
  1490.   end;
  1491. end;
  1492. {$ELSE}
  1493. function RpcBindingToStringBindingA; external rpclib name 'RpcBindingToStringBindingA';
  1494. {$ENDIF DYNAMIC_LINK}
  1495. {$IFDEF DYNAMIC_LINK}
  1496. var
  1497.   _RpcBindingToStringBindingW: Pointer;
  1498. function RpcBindingToStringBindingW;
  1499. begin
  1500.   GetProcedureAddress(_RpcBindingToStringBindingW, rpclib, 'RpcBindingToStringBindingW');
  1501.   asm
  1502.     mov esp, ebp
  1503.     pop ebp
  1504.     jmp [_RpcBindingToStringBindingW]
  1505.   end;
  1506. end;
  1507. {$ELSE}
  1508. function RpcBindingToStringBindingW; external rpclib name 'RpcBindingToStringBindingW';
  1509. {$ENDIF DYNAMIC_LINK}
  1510. {$IFDEF UNICODE}
  1511. {$IFDEF DYNAMIC_LINK}
  1512. var
  1513.   _RpcBindingToStringBinding: Pointer;
  1514. function RpcBindingToStringBinding;
  1515. begin
  1516.   GetProcedureAddress(_RpcBindingToStringBinding, rpclib, 'RpcBindingToStringBindingW');
  1517.   asm
  1518.     mov esp, ebp
  1519.     pop ebp
  1520.     jmp [_RpcBindingToStringBinding]
  1521.   end;
  1522. end;
  1523. {$ELSE}
  1524. function RpcBindingToStringBinding; external rpclib name 'RpcBindingToStringBindingW';
  1525. {$ENDIF DYNAMIC_LINK}
  1526. {$ELSE}
  1527. {$IFDEF DYNAMIC_LINK}
  1528. var
  1529.   _RpcBindingToStringBinding: Pointer;
  1530. function RpcBindingToStringBinding;
  1531. begin
  1532.   GetProcedureAddress(_RpcBindingToStringBinding, rpclib, 'RpcBindingToStringBindingA');
  1533.   asm
  1534.     mov esp, ebp
  1535.     pop ebp
  1536.     jmp [_RpcBindingToStringBinding]
  1537.   end;
  1538. end;
  1539. {$ELSE}
  1540. function RpcBindingToStringBinding; external rpclib name 'RpcBindingToStringBindingA';
  1541. {$ENDIF DYNAMIC_LINK}
  1542. {$ENDIF}
  1543. {$IFDEF DYNAMIC_LINK}
  1544. var
  1545.   _RpcBindingVectorFree: Pointer;
  1546. function RpcBindingVectorFree;
  1547. begin
  1548.   GetProcedureAddress(_RpcBindingVectorFree, rpclib, 'RpcBindingVectorFree');
  1549.   asm
  1550.     mov esp, ebp
  1551.     pop ebp
  1552.     jmp [_RpcBindingVectorFree]
  1553.   end;
  1554. end;
  1555. {$ELSE}
  1556. function RpcBindingVectorFree; external rpclib name 'RpcBindingVectorFree';
  1557. {$ENDIF DYNAMIC_LINK}
  1558. {$IFDEF DYNAMIC_LINK}
  1559. var
  1560.   _RpcStringBindingComposeA: Pointer;
  1561. function RpcStringBindingComposeA;
  1562. begin
  1563.   GetProcedureAddress(_RpcStringBindingComposeA, rpclib, 'RpcStringBindingComposeA');
  1564.   asm
  1565.     mov esp, ebp
  1566.     pop ebp
  1567.     jmp [_RpcStringBindingComposeA]
  1568.   end;
  1569. end;
  1570. {$ELSE}
  1571. function RpcStringBindingComposeA; external rpclib name 'RpcStringBindingComposeA';
  1572. {$ENDIF DYNAMIC_LINK}
  1573. {$IFDEF DYNAMIC_LINK}
  1574. var
  1575.   _RpcStringBindingComposeW: Pointer;
  1576. function RpcStringBindingComposeW;
  1577. begin
  1578.   GetProcedureAddress(_RpcStringBindingComposeW, rpclib, 'RpcStringBindingComposeW');
  1579.   asm
  1580.     mov esp, ebp
  1581.     pop ebp
  1582.     jmp [_RpcStringBindingComposeW]
  1583.   end;
  1584. end;
  1585. {$ELSE}
  1586. function RpcStringBindingComposeW; external rpclib name 'RpcStringBindingComposeW';
  1587. {$ENDIF DYNAMIC_LINK}
  1588. {$IFDEF UNICODE}
  1589. {$IFDEF DYNAMIC_LINK}
  1590. var
  1591.   _RpcStringBindingCompose: Pointer;
  1592. function RpcStringBindingCompose;
  1593. begin
  1594.   GetProcedureAddress(_RpcStringBindingCompose, rpclib, 'RpcStringBindingComposeW');
  1595.   asm
  1596.     mov esp, ebp
  1597.     pop ebp
  1598.     jmp [_RpcStringBindingCompose]
  1599.   end;
  1600. end;
  1601. {$ELSE}
  1602. function RpcStringBindingCompose; external rpclib name 'RpcStringBindingComposeW';
  1603. {$ENDIF DYNAMIC_LINK}
  1604. {$ELSE}
  1605. {$IFDEF DYNAMIC_LINK}
  1606. var
  1607.   _RpcStringBindingCompose: Pointer;
  1608. function RpcStringBindingCompose;
  1609. begin
  1610.   GetProcedureAddress(_RpcStringBindingCompose, rpclib, 'RpcStringBindingComposeA');
  1611.   asm
  1612.     mov esp, ebp
  1613.     pop ebp
  1614.     jmp [_RpcStringBindingCompose]
  1615.   end;
  1616. end;
  1617. {$ELSE}
  1618. function RpcStringBindingCompose; external rpclib name 'RpcStringBindingComposeA';
  1619. {$ENDIF DYNAMIC_LINK}
  1620. {$ENDIF}
  1621. {$IFDEF DYNAMIC_LINK}
  1622. var
  1623.   _RpcStringBindingParseA: Pointer;
  1624. function RpcStringBindingParseA;
  1625. begin
  1626.   GetProcedureAddress(_RpcStringBindingParseA, rpclib, 'RpcStringBindingParseA');
  1627.   asm
  1628.     mov esp, ebp
  1629.     pop ebp
  1630.     jmp [_RpcStringBindingParseA]
  1631.   end;
  1632. end;
  1633. {$ELSE}
  1634. function RpcStringBindingParseA; external rpclib name 'RpcStringBindingParseA';
  1635. {$ENDIF DYNAMIC_LINK}
  1636. {$IFDEF DYNAMIC_LINK}
  1637. var
  1638.   _RpcStringBindingParseW: Pointer;
  1639. function RpcStringBindingParseW;
  1640. begin
  1641.   GetProcedureAddress(_RpcStringBindingParseW, rpclib, 'RpcStringBindingParseW');
  1642.   asm
  1643.     mov esp, ebp
  1644.     pop ebp
  1645.     jmp [_RpcStringBindingParseW]
  1646.   end;
  1647. end;
  1648. {$ELSE}
  1649. function RpcStringBindingParseW; external rpclib name 'RpcStringBindingParseW';
  1650. {$ENDIF DYNAMIC_LINK}
  1651. {$IFDEF UNICODE}
  1652. {$IFDEF DYNAMIC_LINK}
  1653. var
  1654.   _RpcStringBindingParse: Pointer;
  1655. function RpcStringBindingParse;
  1656. begin
  1657.   GetProcedureAddress(_RpcStringBindingParse, rpclib, 'RpcStringBindingParseW');
  1658.   asm
  1659.     mov esp, ebp
  1660.     pop ebp
  1661.     jmp [_RpcStringBindingParse]
  1662.   end;
  1663. end;
  1664. {$ELSE}
  1665. function RpcStringBindingParse; external rpclib name 'RpcStringBindingParseW';
  1666. {$ENDIF DYNAMIC_LINK}
  1667. {$ELSE}
  1668. {$IFDEF DYNAMIC_LINK}
  1669. var
  1670.   _RpcStringBindingParse: Pointer;
  1671. function RpcStringBindingParse;
  1672. begin
  1673.   GetProcedureAddress(_RpcStringBindingParse, rpclib, 'RpcStringBindingParseA');
  1674.   asm
  1675.     mov esp, ebp
  1676.     pop ebp
  1677.     jmp [_RpcStringBindingParse]
  1678.   end;
  1679. end;
  1680. {$ELSE}
  1681. function RpcStringBindingParse; external rpclib name 'RpcStringBindingParseA';
  1682. {$ENDIF DYNAMIC_LINK}
  1683. {$ENDIF}
  1684. {$IFDEF DYNAMIC_LINK}
  1685. var
  1686.   _RpcStringFreeA: Pointer;
  1687. function RpcStringFreeA;
  1688. begin
  1689.   GetProcedureAddress(_RpcStringFreeA, rpclib, 'RpcStringFreeA');
  1690.   asm
  1691.     mov esp, ebp
  1692.     pop ebp
  1693.     jmp [_RpcStringFreeA]
  1694.   end;
  1695. end;
  1696. {$ELSE}
  1697. function RpcStringFreeA; external rpclib name 'RpcStringFreeA';
  1698. {$ENDIF DYNAMIC_LINK}
  1699. {$IFDEF DYNAMIC_LINK}
  1700. var
  1701.   _RpcStringFreeW: Pointer;
  1702. function RpcStringFreeW;
  1703. begin
  1704.   GetProcedureAddress(_RpcStringFreeW, rpclib, 'RpcStringFreeW');
  1705.   asm
  1706.     mov esp, ebp
  1707.     pop ebp
  1708.     jmp [_RpcStringFreeW]
  1709.   end;
  1710. end;
  1711. {$ELSE}
  1712. function RpcStringFreeW; external rpclib name 'RpcStringFreeW';
  1713. {$ENDIF DYNAMIC_LINK}
  1714. {$IFDEF UNICODE}
  1715. {$IFDEF DYNAMIC_LINK}
  1716. var
  1717.   _RpcStringFree: Pointer;
  1718. function RpcStringFree;
  1719. begin
  1720.   GetProcedureAddress(_RpcStringFree, rpclib, 'RpcStringFreeW');
  1721.   asm
  1722.     mov esp, ebp
  1723.     pop ebp
  1724.     jmp [_RpcStringFree]
  1725.   end;
  1726. end;
  1727. {$ELSE}
  1728. function RpcStringFree; external rpclib name 'RpcStringFreeW';
  1729. {$ENDIF DYNAMIC_LINK}
  1730. {$ELSE}
  1731. {$IFDEF DYNAMIC_LINK}
  1732. var
  1733.   _RpcStringFree: Pointer;
  1734. function RpcStringFree;
  1735. begin
  1736.   GetProcedureAddress(_RpcStringFree, rpclib, 'RpcStringFreeA');
  1737.   asm
  1738.     mov esp, ebp
  1739.     pop ebp
  1740.     jmp [_RpcStringFree]
  1741.   end;
  1742. end;
  1743. {$ELSE}
  1744. function RpcStringFree; external rpclib name 'RpcStringFreeA';
  1745. {$ENDIF DYNAMIC_LINK}
  1746. {$ENDIF}
  1747. {$IFDEF DYNAMIC_LINK}
  1748. var
  1749.   _RpcIfInqId: Pointer;
  1750. function RpcIfInqId;
  1751. begin
  1752.   GetProcedureAddress(_RpcIfInqId, rpclib, 'RpcIfInqId');
  1753.   asm
  1754.     mov esp, ebp
  1755.     pop ebp
  1756.     jmp [_RpcIfInqId]
  1757.   end;
  1758. end;
  1759. {$ELSE}
  1760. function RpcIfInqId; external rpclib name 'RpcIfInqId';
  1761. {$ENDIF DYNAMIC_LINK}
  1762. {$IFDEF DYNAMIC_LINK}
  1763. var
  1764.   _RpcNetworkIsProtseqValidA: Pointer;
  1765. function RpcNetworkIsProtseqValidA;
  1766. begin
  1767.   GetProcedureAddress(_RpcNetworkIsProtseqValidA, rpclib, 'RpcNetworkIsProtseqValidA');
  1768.   asm
  1769.     mov esp, ebp
  1770.     pop ebp
  1771.     jmp [_RpcNetworkIsProtseqValidA]
  1772.   end;
  1773. end;
  1774. {$ELSE}
  1775. function RpcNetworkIsProtseqValidA; external rpclib name 'RpcNetworkIsProtseqValidA';
  1776. {$ENDIF DYNAMIC_LINK}
  1777. {$IFDEF DYNAMIC_LINK}
  1778. var
  1779.   _RpcNetworkIsProtseqValidW: Pointer;
  1780. function RpcNetworkIsProtseqValidW;
  1781. begin
  1782.   GetProcedureAddress(_RpcNetworkIsProtseqValidW, rpclib, 'RpcNetworkIsProtseqValidW');
  1783.   asm
  1784.     mov esp, ebp
  1785.     pop ebp
  1786.     jmp [_RpcNetworkIsProtseqValidW]
  1787.   end;
  1788. end;
  1789. {$ELSE}
  1790. function RpcNetworkIsProtseqValidW; external rpclib name 'RpcNetworkIsProtseqValidW';
  1791. {$ENDIF DYNAMIC_LINK}
  1792. {$IFDEF DYNAMIC_LINK}
  1793. var
  1794.   _RpcMgmtInqComTimeout: Pointer;
  1795. function RpcMgmtInqComTimeout;
  1796. begin
  1797.   GetProcedureAddress(_RpcMgmtInqComTimeout, rpclib, 'RpcMgmtInqComTimeout');
  1798.   asm
  1799.     mov esp, ebp
  1800.     pop ebp
  1801.     jmp [_RpcMgmtInqComTimeout]
  1802.   end;
  1803. end;
  1804. {$ELSE}
  1805. function RpcMgmtInqComTimeout; external rpclib name 'RpcMgmtInqComTimeout';
  1806. {$ENDIF DYNAMIC_LINK}
  1807. {$IFDEF DYNAMIC_LINK}
  1808. var
  1809.   _RpcMgmtSetComTimeout: Pointer;
  1810. function RpcMgmtSetComTimeout;
  1811. begin
  1812.   GetProcedureAddress(_RpcMgmtSetComTimeout, rpclib, 'RpcMgmtSetComTimeout');
  1813.   asm
  1814.     mov esp, ebp
  1815.     pop ebp
  1816.     jmp [_RpcMgmtSetComTimeout]
  1817.   end;
  1818. end;
  1819. {$ELSE}
  1820. function RpcMgmtSetComTimeout; external rpclib name 'RpcMgmtSetComTimeout';
  1821. {$ENDIF DYNAMIC_LINK}
  1822. {$IFDEF DYNAMIC_LINK}
  1823. var
  1824.   _RpcMgmtSetCancelTimeout: Pointer;
  1825. function RpcMgmtSetCancelTimeout;
  1826. begin
  1827.   GetProcedureAddress(_RpcMgmtSetCancelTimeout, rpclib, 'RpcMgmtSetCancelTimeout');
  1828.   asm
  1829.     mov esp, ebp
  1830.     pop ebp
  1831.     jmp [_RpcMgmtSetCancelTimeout]
  1832.   end;
  1833. end;
  1834. {$ELSE}
  1835. function RpcMgmtSetCancelTimeout; external rpclib name 'RpcMgmtSetCancelTimeout';
  1836. {$ENDIF DYNAMIC_LINK}
  1837. {$IFDEF DYNAMIC_LINK}
  1838. var
  1839.   _RpcNetworkInqProtseqsA: Pointer;
  1840. function RpcNetworkInqProtseqsA;
  1841. begin
  1842.   GetProcedureAddress(_RpcNetworkInqProtseqsA, rpclib, 'RpcNetworkInqProtseqsA');
  1843.   asm
  1844.     mov esp, ebp
  1845.     pop ebp
  1846.     jmp [_RpcNetworkInqProtseqsA]
  1847.   end;
  1848. end;
  1849. {$ELSE}
  1850. function RpcNetworkInqProtseqsA; external rpclib name 'RpcNetworkInqProtseqsA';
  1851. {$ENDIF DYNAMIC_LINK}
  1852. {$IFDEF DYNAMIC_LINK}
  1853. var
  1854.   _RpcNetworkInqProtseqsW: Pointer;
  1855. function RpcNetworkInqProtseqsW;
  1856. begin
  1857.   GetProcedureAddress(_RpcNetworkInqProtseqsW, rpclib, 'RpcNetworkInqProtseqsW');
  1858.   asm
  1859.     mov esp, ebp
  1860.     pop ebp
  1861.     jmp [_RpcNetworkInqProtseqsW]
  1862.   end;
  1863. end;
  1864. {$ELSE}
  1865. function RpcNetworkInqProtseqsW; external rpclib name 'RpcNetworkInqProtseqsW';
  1866. {$ENDIF DYNAMIC_LINK}
  1867. {$IFDEF UNICODE}
  1868. {$IFDEF DYNAMIC_LINK}
  1869. var
  1870.   _RpcNetworkInqProtseqs: Pointer;
  1871. function RpcNetworkInqProtseqs;
  1872. begin
  1873.   GetProcedureAddress(_RpcNetworkInqProtseqs, rpclib, 'RpcNetworkInqProtseqsW');
  1874.   asm
  1875.     mov esp, ebp
  1876.     pop ebp
  1877.     jmp [_RpcNetworkInqProtseqs]
  1878.   end;
  1879. end;
  1880. {$ELSE}
  1881. function RpcNetworkInqProtseqs; external rpclib name 'RpcNetworkInqProtseqsW';
  1882. {$ENDIF DYNAMIC_LINK}
  1883. {$ELSE}
  1884. {$IFDEF DYNAMIC_LINK}
  1885. var
  1886.   _RpcNetworkInqProtseqs: Pointer;
  1887. function RpcNetworkInqProtseqs;
  1888. begin
  1889.   GetProcedureAddress(_RpcNetworkInqProtseqs, rpclib, 'RpcNetworkInqProtseqsA');
  1890.   asm
  1891.     mov esp, ebp
  1892.     pop ebp
  1893.     jmp [_RpcNetworkInqProtseqs]
  1894.   end;
  1895. end;
  1896. {$ELSE}
  1897. function RpcNetworkInqProtseqs; external rpclib name 'RpcNetworkInqProtseqsA';
  1898. {$ENDIF DYNAMIC_LINK}
  1899. {$ENDIF}
  1900. {$IFDEF DYNAMIC_LINK}
  1901. var
  1902.   _RpcObjectInqType: Pointer;
  1903. function RpcObjectInqType;
  1904. begin
  1905.   GetProcedureAddress(_RpcObjectInqType, rpclib, 'RpcObjectInqType');
  1906.   asm
  1907.     mov esp, ebp
  1908.     pop ebp
  1909.     jmp [_RpcObjectInqType]
  1910.   end;
  1911. end;
  1912. {$ELSE}
  1913. function RpcObjectInqType; external rpclib name 'RpcObjectInqType';
  1914. {$ENDIF DYNAMIC_LINK}
  1915. {$IFDEF DYNAMIC_LINK}
  1916. var
  1917.   _RpcObjectSetInqFn: Pointer;
  1918. function RpcObjectSetInqFn;
  1919. begin
  1920.   GetProcedureAddress(_RpcObjectSetInqFn, rpclib, 'RpcObjectSetInqFn');
  1921.   asm
  1922.     mov esp, ebp
  1923.     pop ebp
  1924.     jmp [_RpcObjectSetInqFn]
  1925.   end;
  1926. end;
  1927. {$ELSE}
  1928. function RpcObjectSetInqFn; external rpclib name 'RpcObjectSetInqFn';
  1929. {$ENDIF DYNAMIC_LINK}
  1930. {$IFDEF DYNAMIC_LINK}
  1931. var
  1932.   _RpcObjectSetType: Pointer;
  1933. function RpcObjectSetType;
  1934. begin
  1935.   GetProcedureAddress(_RpcObjectSetType, rpclib, 'RpcObjectSetType');
  1936.   asm
  1937.     mov esp, ebp
  1938.     pop ebp
  1939.     jmp [_RpcObjectSetType]
  1940.   end;
  1941. end;
  1942. {$ELSE}
  1943. function RpcObjectSetType; external rpclib name 'RpcObjectSetType';
  1944. {$ENDIF DYNAMIC_LINK}
  1945. {$IFDEF DYNAMIC_LINK}
  1946. var
  1947.   _RpcProtseqVectorFreeA: Pointer;
  1948. function RpcProtseqVectorFreeA;
  1949. begin
  1950.   GetProcedureAddress(_RpcProtseqVectorFreeA, rpclib, 'RpcProtseqVectorFreeA');
  1951.   asm
  1952.     mov esp, ebp
  1953.     pop ebp
  1954.     jmp [_RpcProtseqVectorFreeA]
  1955.   end;
  1956. end;
  1957. {$ELSE}
  1958. function RpcProtseqVectorFreeA; external rpclib name 'RpcProtseqVectorFreeA';
  1959. {$ENDIF DYNAMIC_LINK}
  1960. {$IFDEF DYNAMIC_LINK}
  1961. var
  1962.   _RpcProtseqVectorFreeW: Pointer;
  1963. function RpcProtseqVectorFreeW;
  1964. begin
  1965.   GetProcedureAddress(_RpcProtseqVectorFreeW, rpclib, 'RpcProtseqVectorFreeW');
  1966.   asm
  1967.     mov esp, ebp
  1968.     pop ebp
  1969.     jmp [_RpcProtseqVectorFreeW]
  1970.   end;
  1971. end;
  1972. {$ELSE}
  1973. function RpcProtseqVectorFreeW; external rpclib name 'RpcProtseqVectorFreeW';
  1974. {$ENDIF DYNAMIC_LINK}
  1975. {$IFDEF UNICODE}
  1976. {$IFDEF DYNAMIC_LINK}
  1977. var
  1978.   _RpcProtseqVectorFree: Pointer;
  1979. function RpcProtseqVectorFree;
  1980. begin
  1981.   GetProcedureAddress(_RpcProtseqVectorFree, rpclib, 'RpcProtseqVectorFreeW');
  1982.   asm
  1983.     mov esp, ebp
  1984.     pop ebp
  1985.     jmp [_RpcProtseqVectorFree]
  1986.   end;
  1987. end;
  1988. {$ELSE}
  1989. function RpcProtseqVectorFree; external rpclib name 'RpcProtseqVectorFreeW';
  1990. {$ENDIF DYNAMIC_LINK}
  1991. {$ELSE}
  1992. {$IFDEF DYNAMIC_LINK}
  1993. var
  1994.   _RpcProtseqVectorFree: Pointer;
  1995. function RpcProtseqVectorFree;
  1996. begin
  1997.   GetProcedureAddress(_RpcProtseqVectorFree, rpclib, 'RpcProtseqVectorFreeA');
  1998.   asm
  1999.     mov esp, ebp
  2000.     pop ebp
  2001.     jmp [_RpcProtseqVectorFree]
  2002.   end;
  2003. end;
  2004. {$ELSE}
  2005. function RpcProtseqVectorFree; external rpclib name 'RpcProtseqVectorFreeA';
  2006. {$ENDIF DYNAMIC_LINK}
  2007. {$ENDIF}
  2008. {$IFDEF DYNAMIC_LINK}
  2009. var
  2010.   _RpcServerInqBindings: Pointer;
  2011. function RpcServerInqBindings;
  2012. begin
  2013.   GetProcedureAddress(_RpcServerInqBindings, rpclib, 'RpcServerInqBindings');
  2014.   asm
  2015.     mov esp, ebp
  2016.     pop ebp
  2017.     jmp [_RpcServerInqBindings]
  2018.   end;
  2019. end;
  2020. {$ELSE}
  2021. function RpcServerInqBindings; external rpclib name 'RpcServerInqBindings';
  2022. {$ENDIF DYNAMIC_LINK}
  2023. {$IFDEF DYNAMIC_LINK}
  2024. var
  2025.   _RpcServerInqIf: Pointer;
  2026. function RpcServerInqIf;
  2027. begin
  2028.   GetProcedureAddress(_RpcServerInqIf, rpclib, 'RpcServerInqIf');
  2029.   asm
  2030.     mov esp, ebp
  2031.     pop ebp
  2032.     jmp [_RpcServerInqIf]
  2033.   end;
  2034. end;
  2035. {$ELSE}
  2036. function RpcServerInqIf; external rpclib name 'RpcServerInqIf';
  2037. {$ENDIF DYNAMIC_LINK}
  2038. {$IFDEF DYNAMIC_LINK}
  2039. var
  2040.   _RpcServerListen: Pointer;
  2041. function RpcServerListen;
  2042. begin
  2043.   GetProcedureAddress(_RpcServerListen, rpclib, 'RpcServerListen');
  2044.   asm
  2045.     mov esp, ebp
  2046.     pop ebp
  2047.     jmp [_RpcServerListen]
  2048.   end;
  2049. end;
  2050. {$ELSE}
  2051. function RpcServerListen; external rpclib name 'RpcServerListen';
  2052. {$ENDIF DYNAMIC_LINK}
  2053. {$IFDEF DYNAMIC_LINK}
  2054. var
  2055.   _RpcServerRegisterIf: Pointer;
  2056. function RpcServerRegisterIf;
  2057. begin
  2058.   GetProcedureAddress(_RpcServerRegisterIf, rpclib, 'RpcServerRegisterIf');
  2059.   asm
  2060.     mov esp, ebp
  2061.     pop ebp
  2062.     jmp [_RpcServerRegisterIf]
  2063.   end;
  2064. end;
  2065. {$ELSE}
  2066. function RpcServerRegisterIf; external rpclib name 'RpcServerRegisterIf';
  2067. {$ENDIF DYNAMIC_LINK}
  2068. {$IFDEF DYNAMIC_LINK}
  2069. var
  2070.   _RpcServerRegisterIfEx: Pointer;
  2071. function RpcServerRegisterIfEx;
  2072. begin
  2073.   GetProcedureAddress(_RpcServerRegisterIfEx, rpclib, 'RpcServerRegisterIfEx');
  2074.   asm
  2075.     mov esp, ebp
  2076.     pop ebp
  2077.     jmp [_RpcServerRegisterIfEx]
  2078.   end;
  2079. end;
  2080. {$ELSE}
  2081. function RpcServerRegisterIfEx; external rpclib name 'RpcServerRegisterIfEx';
  2082. {$ENDIF DYNAMIC_LINK}
  2083. {$IFDEF DYNAMIC_LINK}
  2084. var
  2085.   _RpcServerRegisterIf2: Pointer;
  2086. function RpcServerRegisterIf2;
  2087. begin
  2088.   GetProcedureAddress(_RpcServerRegisterIf2, rpclib, 'RpcServerRegisterIf2');
  2089.   asm
  2090.     mov esp, ebp
  2091.     pop ebp
  2092.     jmp [_RpcServerRegisterIf2]
  2093.   end;
  2094. end;
  2095. {$ELSE}
  2096. function RpcServerRegisterIf2; external rpclib name 'RpcServerRegisterIf2';
  2097. {$ENDIF DYNAMIC_LINK}
  2098. {$IFDEF DYNAMIC_LINK}
  2099. var
  2100.   _RpcServerUnregisterIf: Pointer;
  2101. function RpcServerUnregisterIf;
  2102. begin
  2103.   GetProcedureAddress(_RpcServerUnregisterIf, rpclib, 'RpcServerUnregisterIf');
  2104.   asm
  2105.     mov esp, ebp
  2106.     pop ebp
  2107.     jmp [_RpcServerUnregisterIf]
  2108.   end;
  2109. end;
  2110. {$ELSE}
  2111. function RpcServerUnregisterIf; external rpclib name 'RpcServerUnregisterIf';
  2112. {$ENDIF DYNAMIC_LINK}
  2113. {$IFDEF DYNAMIC_LINK}
  2114. var
  2115.   _RpcServerUnregisterIfEx: Pointer;
  2116. function RpcServerUnregisterIfEx;
  2117. begin
  2118.   GetProcedureAddress(_RpcServerUnregisterIfEx, rpclib, 'RpcServerUnregisterIfEx');
  2119.   asm
  2120.     mov esp, ebp
  2121.     pop ebp
  2122.     jmp [_RpcServerUnregisterIfEx]
  2123.   end;
  2124. end;
  2125. {$ELSE}
  2126. function RpcServerUnregisterIfEx; external rpclib name 'RpcServerUnregisterIfEx';
  2127. {$ENDIF DYNAMIC_LINK}
  2128. {$IFDEF DYNAMIC_LINK}
  2129. var
  2130.   _RpcServerUseAllProtseqs: Pointer;
  2131. function RpcServerUseAllProtseqs;
  2132. begin
  2133.   GetProcedureAddress(_RpcServerUseAllProtseqs, rpclib, 'RpcServerUseAllProtseqs');
  2134.   asm
  2135.     mov esp, ebp
  2136.     pop ebp
  2137.     jmp [_RpcServerUseAllProtseqs]
  2138.   end;
  2139. end;
  2140. {$ELSE}
  2141. function RpcServerUseAllProtseqs; external rpclib name 'RpcServerUseAllProtseqs';
  2142. {$ENDIF DYNAMIC_LINK}
  2143. {$IFDEF DYNAMIC_LINK}
  2144. var
  2145.   _RpcServerUseAllProtseqsEx: Pointer;
  2146. function RpcServerUseAllProtseqsEx;
  2147. begin
  2148.   GetProcedureAddress(_RpcServerUseAllProtseqsEx, rpclib, 'RpcServerUseAllProtseqsEx');
  2149.   asm
  2150.     mov esp, ebp
  2151.     pop ebp
  2152.     jmp [_RpcServerUseAllProtseqsEx]
  2153.   end;
  2154. end;
  2155. {$ELSE}
  2156. function RpcServerUseAllProtseqsEx; external rpclib name 'RpcServerUseAllProtseqsEx';
  2157. {$ENDIF DYNAMIC_LINK}
  2158. {$IFDEF DYNAMIC_LINK}
  2159. var
  2160.   _RpcServerUseAllProtseqsIf: Pointer;
  2161. function RpcServerUseAllProtseqsIf;
  2162. begin
  2163.   GetProcedureAddress(_RpcServerUseAllProtseqsIf, rpclib, 'RpcServerUseAllProtseqsIf');
  2164.   asm
  2165.     mov esp, ebp
  2166.     pop ebp
  2167.     jmp [_RpcServerUseAllProtseqsIf]
  2168.   end;
  2169. end;
  2170. {$ELSE}
  2171. function RpcServerUseAllProtseqsIf; external rpclib name 'RpcServerUseAllProtseqsIf';
  2172. {$ENDIF DYNAMIC_LINK}
  2173. {$IFDEF DYNAMIC_LINK}
  2174. var
  2175.   _RpcServerUseAllProtseqsIfEx: Pointer;
  2176. function RpcServerUseAllProtseqsIfEx;
  2177. begin
  2178.   GetProcedureAddress(_RpcServerUseAllProtseqsIfEx, rpclib, 'RpcServerUseAllProtseqsIfEx');
  2179.   asm
  2180.     mov esp, ebp
  2181.     pop ebp
  2182.     jmp [_RpcServerUseAllProtseqsIfEx]
  2183.   end;
  2184. end;
  2185. {$ELSE}
  2186. function RpcServerUseAllProtseqsIfEx; external rpclib name 'RpcServerUseAllProtseqsIfEx';
  2187. {$ENDIF DYNAMIC_LINK}
  2188. {$IFDEF DYNAMIC_LINK}
  2189. var
  2190.   _RpcServerUseProtseqA: Pointer;
  2191. function RpcServerUseProtseqA;
  2192. begin
  2193.   GetProcedureAddress(_RpcServerUseProtseqA, rpclib, 'RpcServerUseProtseqA');
  2194.   asm
  2195.     mov esp, ebp
  2196.     pop ebp
  2197.     jmp [_RpcServerUseProtseqA]
  2198.   end;
  2199. end;
  2200. {$ELSE}
  2201. function RpcServerUseProtseqA; external rpclib name 'RpcServerUseProtseqA';
  2202. {$ENDIF DYNAMIC_LINK}
  2203. {$IFDEF DYNAMIC_LINK}
  2204. var
  2205.   _RpcServerUseProtseqW: Pointer;
  2206. function RpcServerUseProtseqW;
  2207. begin
  2208.   GetProcedureAddress(_RpcServerUseProtseqW, rpclib, 'RpcServerUseProtseqW');
  2209.   asm
  2210.     mov esp, ebp
  2211.     pop ebp
  2212.     jmp [_RpcServerUseProtseqW]
  2213.   end;
  2214. end;
  2215. {$ELSE}
  2216. function RpcServerUseProtseqW; external rpclib name 'RpcServerUseProtseqW';
  2217. {$ENDIF DYNAMIC_LINK}
  2218. {$IFDEF UNICODE}
  2219. {$IFDEF DYNAMIC_LINK}
  2220. var
  2221.   _RpcServerUseProtseq: Pointer;
  2222. function RpcServerUseProtseq;
  2223. begin
  2224.   GetProcedureAddress(_RpcServerUseProtseq, rpclib, 'RpcServerUseProtseqW');
  2225.   asm
  2226.     mov esp, ebp
  2227.     pop ebp
  2228.     jmp [_RpcServerUseProtseq]
  2229.   end;
  2230. end;
  2231. {$ELSE}
  2232. function RpcServerUseProtseq; external rpclib name 'RpcServerUseProtseqW';
  2233. {$ENDIF DYNAMIC_LINK}
  2234. {$ELSE}
  2235. {$IFDEF DYNAMIC_LINK}
  2236. var
  2237.   _RpcServerUseProtseq: Pointer;
  2238. function RpcServerUseProtseq;
  2239. begin
  2240.   GetProcedureAddress(_RpcServerUseProtseq, rpclib, 'RpcServerUseProtseqA');
  2241.   asm
  2242.     mov esp, ebp
  2243.     pop ebp
  2244.     jmp [_RpcServerUseProtseq]
  2245.   end;
  2246. end;
  2247. {$ELSE}
  2248. function RpcServerUseProtseq; external rpclib name 'RpcServerUseProtseqA';
  2249. {$ENDIF DYNAMIC_LINK}
  2250. {$ENDIF}
  2251. {$IFDEF DYNAMIC_LINK}
  2252. var
  2253.   _RpcServerUseProtseqExA: Pointer;
  2254. function RpcServerUseProtseqExA;
  2255. begin
  2256.   GetProcedureAddress(_RpcServerUseProtseqExA, rpclib, 'RpcServerUseProtseqExA');
  2257.   asm
  2258.     mov esp, ebp
  2259.     pop ebp
  2260.     jmp [_RpcServerUseProtseqExA]
  2261.   end;
  2262. end;
  2263. {$ELSE}
  2264. function RpcServerUseProtseqExA; external rpclib name 'RpcServerUseProtseqExA';
  2265. {$ENDIF DYNAMIC_LINK}
  2266. {$IFDEF DYNAMIC_LINK}
  2267. var
  2268.   _RpcServerUseProtseqExW: Pointer;
  2269. function RpcServerUseProtseqExW;
  2270. begin
  2271.   GetProcedureAddress(_RpcServerUseProtseqExW, rpclib, 'RpcServerUseProtseqExW');
  2272.   asm
  2273.     mov esp, ebp
  2274.     pop ebp
  2275.     jmp [_RpcServerUseProtseqExW]
  2276.   end;
  2277. end;
  2278. {$ELSE}
  2279. function RpcServerUseProtseqExW; external rpclib name 'RpcServerUseProtseqExW';
  2280. {$ENDIF DYNAMIC_LINK}
  2281. {$IFDEF UNICODE}
  2282. {$IFDEF DYNAMIC_LINK}
  2283. var
  2284.   _RpcServerUseProtseqEx: Pointer;
  2285. function RpcServerUseProtseqEx;
  2286. begin
  2287.   GetProcedureAddress(_RpcServerUseProtseqEx, rpclib, 'RpcServerUseProtseqExW');
  2288.   asm
  2289.     mov esp, ebp
  2290.     pop ebp
  2291.     jmp [_RpcServerUseProtseqEx]
  2292.   end;
  2293. end;
  2294. {$ELSE}
  2295. function RpcServerUseProtseqEx; external rpclib name 'RpcServerUseProtseqExW';
  2296. {$ENDIF DYNAMIC_LINK}
  2297. {$ELSE}
  2298. {$IFDEF DYNAMIC_LINK}
  2299. var
  2300.   _RpcServerUseProtseqEx: Pointer;
  2301. function RpcServerUseProtseqEx;
  2302. begin
  2303.   GetProcedureAddress(_RpcServerUseProtseqEx, rpclib, 'RpcServerUseProtseqExA');
  2304.   asm
  2305.     mov esp, ebp
  2306.     pop ebp
  2307.     jmp [_RpcServerUseProtseqEx]
  2308.   end;
  2309. end;
  2310. {$ELSE}
  2311. function RpcServerUseProtseqEx; external rpclib name 'RpcServerUseProtseqExA';
  2312. {$ENDIF DYNAMIC_LINK}
  2313. {$ENDIF}
  2314. {$IFDEF DYNAMIC_LINK}
  2315. var
  2316.   _RpcServerUseProtseqEpA: Pointer;
  2317. function RpcServerUseProtseqEpA;
  2318. begin
  2319.   GetProcedureAddress(_RpcServerUseProtseqEpA, rpclib, 'RpcServerUseProtseqEpA');
  2320.   asm
  2321.     mov esp, ebp
  2322.     pop ebp
  2323.     jmp [_RpcServerUseProtseqEpA]
  2324.   end;
  2325. end;
  2326. {$ELSE}
  2327. function RpcServerUseProtseqEpA; external rpclib name 'RpcServerUseProtseqEpA';
  2328. {$ENDIF DYNAMIC_LINK}
  2329. {$IFDEF DYNAMIC_LINK}
  2330. var
  2331.   _RpcServerUseProtseqEpW: Pointer;
  2332. function RpcServerUseProtseqEpW;
  2333. begin
  2334.   GetProcedureAddress(_RpcServerUseProtseqEpW, rpclib, 'RpcServerUseProtseqEpW');
  2335.   asm
  2336.     mov esp, ebp
  2337.     pop ebp
  2338.     jmp [_RpcServerUseProtseqEpW]
  2339.   end;
  2340. end;
  2341. {$ELSE}
  2342. function RpcServerUseProtseqEpW; external rpclib name 'RpcServerUseProtseqEpW';
  2343. {$ENDIF DYNAMIC_LINK}
  2344. {$IFDEF UNICODE}
  2345. {$IFDEF DYNAMIC_LINK}
  2346. var
  2347.   _RpcServerUseProtseqEp: Pointer;
  2348. function RpcServerUseProtseqEp;
  2349. begin
  2350.   GetProcedureAddress(_RpcServerUseProtseqEp, rpclib, 'RpcServerUseProtseqEpW');
  2351.   asm
  2352.     mov esp, ebp
  2353.     pop ebp
  2354.     jmp [_RpcServerUseProtseqEp]
  2355.   end;
  2356. end;
  2357. {$ELSE}
  2358. function RpcServerUseProtseqEp; external rpclib name 'RpcServerUseProtseqEpW';
  2359. {$ENDIF DYNAMIC_LINK}
  2360. {$ELSE}
  2361. {$IFDEF DYNAMIC_LINK}
  2362. var
  2363.   _RpcServerUseProtseqEp: Pointer;
  2364. function RpcServerUseProtseqEp;
  2365. begin
  2366.   GetProcedureAddress(_RpcServerUseProtseqEp, rpclib, 'RpcServerUseProtseqEpA');
  2367.   asm
  2368.     mov esp, ebp
  2369.     pop ebp
  2370.     jmp [_RpcServerUseProtseqEp]
  2371.   end;
  2372. end;
  2373. {$ELSE}
  2374. function RpcServerUseProtseqEp; external rpclib name 'RpcServerUseProtseqEpA';
  2375. {$ENDIF DYNAMIC_LINK}
  2376. {$ENDIF}
  2377. {$IFDEF DYNAMIC_LINK}
  2378. var
  2379.   _RpcServerUseProtseqEpExA: Pointer;
  2380. function RpcServerUseProtseqEpExA;
  2381. begin
  2382.   GetProcedureAddress(_RpcServerUseProtseqEpExA, rpclib, 'RpcServerUseProtseqEpExA');
  2383.   asm
  2384.     mov esp, ebp
  2385.     pop ebp
  2386.     jmp [_RpcServerUseProtseqEpExA]
  2387.   end;
  2388. end;
  2389. {$ELSE}
  2390. function RpcServerUseProtseqEpExA; external rpclib name 'RpcServerUseProtseqEpExA';
  2391. {$ENDIF DYNAMIC_LINK}
  2392. {$IFDEF DYNAMIC_LINK}
  2393. var
  2394.   _RpcServerUseProtseqEpExW: Pointer;
  2395. function RpcServerUseProtseqEpExW;
  2396. begin
  2397.   GetProcedureAddress(_RpcServerUseProtseqEpExW, rpclib, 'RpcServerUseProtseqEpExW');
  2398.   asm
  2399.     mov esp, ebp
  2400.     pop ebp
  2401.     jmp [_RpcServerUseProtseqEpExW]
  2402.   end;
  2403. end;
  2404. {$ELSE}
  2405. function RpcServerUseProtseqEpExW; external rpclib name 'RpcServerUseProtseqEpExW';
  2406. {$ENDIF DYNAMIC_LINK}
  2407. {$IFDEF UNICODE}
  2408. {$IFDEF DYNAMIC_LINK}
  2409. var
  2410.   _RpcServerUseProtseqEpEx: Pointer;
  2411. function RpcServerUseProtseqEpEx;
  2412. begin
  2413.   GetProcedureAddress(_RpcServerUseProtseqEpEx, rpclib, 'RpcServerUseProtseqEpExW');
  2414.   asm
  2415.     mov esp, ebp
  2416.     pop ebp
  2417.     jmp [_RpcServerUseProtseqEpEx]
  2418.   end;
  2419. end;
  2420. {$ELSE}
  2421. function RpcServerUseProtseqEpEx; external rpclib name 'RpcServerUseProtseqEpExW';
  2422. {$ENDIF DYNAMIC_LINK}
  2423. {$ELSE}
  2424. {$IFDEF DYNAMIC_LINK}
  2425. var
  2426.   _RpcServerUseProtseqEpEx: Pointer;
  2427. function RpcServerUseProtseqEpEx;
  2428. begin
  2429.   GetProcedureAddress(_RpcServerUseProtseqEpEx, rpclib, 'RpcServerUseProtseqEpExA');
  2430.   asm
  2431.     mov esp, ebp
  2432.     pop ebp
  2433.     jmp [_RpcServerUseProtseqEpEx]
  2434.   end;
  2435. end;
  2436. {$ELSE}
  2437. function RpcServerUseProtseqEpEx; external rpclib name 'RpcServerUseProtseqEpExA';
  2438. {$ENDIF DYNAMIC_LINK}
  2439. {$ENDIF}
  2440. {$IFDEF DYNAMIC_LINK}
  2441. var
  2442.   _RpcServerUseProtseqIfA: Pointer;
  2443. function RpcServerUseProtseqIfA;
  2444. begin
  2445.   GetProcedureAddress(_RpcServerUseProtseqIfA, rpclib, 'RpcServerUseProtseqIfA');
  2446.   asm
  2447.     mov esp, ebp
  2448.     pop ebp
  2449.     jmp [_RpcServerUseProtseqIfA]
  2450.   end;
  2451. end;
  2452. {$ELSE}
  2453. function RpcServerUseProtseqIfA; external rpclib name 'RpcServerUseProtseqIfA';
  2454. {$ENDIF DYNAMIC_LINK}
  2455. {$IFDEF DYNAMIC_LINK}
  2456. var
  2457.   _RpcServerUseProtseqIfW: Pointer;
  2458. function RpcServerUseProtseqIfW;
  2459. begin
  2460.   GetProcedureAddress(_RpcServerUseProtseqIfW, rpclib, 'RpcServerUseProtseqIfW');
  2461.   asm
  2462.     mov esp, ebp
  2463.     pop ebp
  2464.     jmp [_RpcServerUseProtseqIfW]
  2465.   end;
  2466. end;
  2467. {$ELSE}
  2468. function RpcServerUseProtseqIfW; external rpclib name 'RpcServerUseProtseqIfW';
  2469. {$ENDIF DYNAMIC_LINK}
  2470. {$IFDEF DYNAMIC_LINK}
  2471. var
  2472.   _RpcServerUseProtseqIfExA: Pointer;
  2473. function RpcServerUseProtseqIfExA;
  2474. begin
  2475.   GetProcedureAddress(_RpcServerUseProtseqIfExA, rpclib, 'RpcServerUseProtseqIfExA');
  2476.   asm
  2477.     mov esp, ebp
  2478.     pop ebp
  2479.     jmp [_RpcServerUseProtseqIfExA]
  2480.   end;
  2481. end;
  2482. {$ELSE}
  2483. function RpcServerUseProtseqIfExA; external rpclib name 'RpcServerUseProtseqIfExA';
  2484. {$ENDIF DYNAMIC_LINK}
  2485. {$IFDEF DYNAMIC_LINK}
  2486. var
  2487.   _RpcServerUseProtseqIfExW: Pointer;
  2488. function RpcServerUseProtseqIfExW;
  2489. begin
  2490.   GetProcedureAddress(_RpcServerUseProtseqIfExW, rpclib, 'RpcServerUseProtseqIfExW');
  2491.   asm
  2492.     mov esp, ebp
  2493.     pop ebp
  2494.     jmp [_RpcServerUseProtseqIfExW]
  2495.   end;
  2496. end;
  2497. {$ELSE}
  2498. function RpcServerUseProtseqIfExW; external rpclib name 'RpcServerUseProtseqIfExW';
  2499. {$ENDIF DYNAMIC_LINK}
  2500. {$IFDEF UNICODE}
  2501. {$IFDEF DYNAMIC_LINK}
  2502. var
  2503.   _RpcServerUseProtseqIfEx: Pointer;
  2504. function RpcServerUseProtseqIfEx;
  2505. begin
  2506.   GetProcedureAddress(_RpcServerUseProtseqIfEx, rpclib, 'RpcServerUseProtseqIfExW');
  2507.   asm
  2508.     mov esp, ebp
  2509.     pop ebp
  2510.     jmp [_RpcServerUseProtseqIfEx]
  2511.   end;
  2512. end;
  2513. {$ELSE}
  2514. function RpcServerUseProtseqIfEx; external rpclib name 'RpcServerUseProtseqIfExW';
  2515. {$ENDIF DYNAMIC_LINK}
  2516. {$ELSE}
  2517. {$IFDEF DYNAMIC_LINK}
  2518. var
  2519.   _RpcServerUseProtseqIfEx: Pointer;
  2520. function RpcServerUseProtseqIfEx;
  2521. begin
  2522.   GetProcedureAddress(_RpcServerUseProtseqIfEx, rpclib, 'RpcServerUseProtseqIfExA');
  2523.   asm
  2524.     mov esp, ebp
  2525.     pop ebp
  2526.     jmp [_RpcServerUseProtseqIfEx]
  2527.   end;
  2528. end;
  2529. {$ELSE}
  2530. function RpcServerUseProtseqIfEx; external rpclib name 'RpcServerUseProtseqIfExA';
  2531. {$ENDIF DYNAMIC_LINK}
  2532. {$ENDIF}
  2533. {$IFDEF DYNAMIC_LINK}
  2534. var
  2535.   _RpcServerYield: Pointer;
  2536. procedure RpcServerYield;
  2537. begin
  2538.   GetProcedureAddress(_RpcServerYield, rpclib, 'RpcServerYield');
  2539.   asm
  2540.     mov esp, ebp
  2541.     pop ebp
  2542.     jmp [_RpcServerYield]
  2543.   end;
  2544. end;
  2545. {$ELSE}
  2546. procedure RpcServerYield; external rpclib name 'RpcServerYield';
  2547. {$ENDIF DYNAMIC_LINK}
  2548. {$IFDEF DYNAMIC_LINK}
  2549. var
  2550.   _RpcMgmtStatsVectorFree: Pointer;
  2551. function RpcMgmtStatsVectorFree;
  2552. begin
  2553.   GetProcedureAddress(_RpcMgmtStatsVectorFree, rpclib, 'RpcMgmtStatsVectorFree');
  2554.   asm
  2555.     mov esp, ebp
  2556.     pop ebp
  2557.     jmp [_RpcMgmtStatsVectorFree]
  2558.   end;
  2559. end;
  2560. {$ELSE}
  2561. function RpcMgmtStatsVectorFree; external rpclib name 'RpcMgmtStatsVectorFree';
  2562. {$ENDIF DYNAMIC_LINK}
  2563. {$IFDEF DYNAMIC_LINK}
  2564. var
  2565.   _RpcMgmtInqStats: Pointer;
  2566. function RpcMgmtInqStats;
  2567. begin
  2568.   GetProcedureAddress(_RpcMgmtInqStats, rpclib, 'RpcMgmtInqStats');
  2569.   asm
  2570.     mov esp, ebp
  2571.     pop ebp
  2572.     jmp [_RpcMgmtInqStats]
  2573.   end;
  2574. end;
  2575. {$ELSE}
  2576. function RpcMgmtInqStats; external rpclib name 'RpcMgmtInqStats';
  2577. {$ENDIF DYNAMIC_LINK}
  2578. {$IFDEF DYNAMIC_LINK}
  2579. var
  2580.   _RpcMgmtIsServerListening: Pointer;
  2581. function RpcMgmtIsServerListening;
  2582. begin
  2583.   GetProcedureAddress(_RpcMgmtIsServerListening, rpclib, 'RpcMgmtIsServerListening');
  2584.   asm
  2585.     mov esp, ebp
  2586.     pop ebp
  2587.     jmp [_RpcMgmtIsServerListening]
  2588.   end;
  2589. end;
  2590. {$ELSE}
  2591. function RpcMgmtIsServerListening; external rpclib name 'RpcMgmtIsServerListening';
  2592. {$ENDIF DYNAMIC_LINK}
  2593. {$IFDEF DYNAMIC_LINK}
  2594. var
  2595.   _RpcMgmtStopServerListening: Pointer;
  2596. function RpcMgmtStopServerListening;
  2597. begin
  2598.   GetProcedureAddress(_RpcMgmtStopServerListening, rpclib, 'RpcMgmtStopServerListening');
  2599.   asm
  2600.     mov esp, ebp
  2601.     pop ebp
  2602.     jmp [_RpcMgmtStopServerListening]
  2603.   end;
  2604. end;
  2605. {$ELSE}
  2606. function RpcMgmtStopServerListening; external rpclib name 'RpcMgmtStopServerListening';
  2607. {$ENDIF DYNAMIC_LINK}
  2608. {$IFDEF DYNAMIC_LINK}
  2609. var
  2610.   _RpcMgmtWaitServerListen: Pointer;
  2611. function RpcMgmtWaitServerListen;
  2612. begin
  2613.   GetProcedureAddress(_RpcMgmtWaitServerListen, rpclib, 'RpcMgmtWaitServerListen');
  2614.   asm
  2615.     mov esp, ebp
  2616.     pop ebp
  2617.     jmp [_RpcMgmtWaitServerListen]
  2618.   end;
  2619. end;
  2620. {$ELSE}
  2621. function RpcMgmtWaitServerListen; external rpclib name 'RpcMgmtWaitServerListen';
  2622. {$ENDIF DYNAMIC_LINK}
  2623. {$IFDEF DYNAMIC_LINK}
  2624. var
  2625.   _RpcMgmtSetServerStackSize: Pointer;
  2626. function RpcMgmtSetServerStackSize;
  2627. begin
  2628.   GetProcedureAddress(_RpcMgmtSetServerStackSize, rpclib, 'RpcMgmtSetServerStackSize');
  2629.   asm
  2630.     mov esp, ebp
  2631.     pop ebp
  2632.     jmp [_RpcMgmtSetServerStackSize]
  2633.   end;
  2634. end;
  2635. {$ELSE}
  2636. function RpcMgmtSetServerStackSize; external rpclib name 'RpcMgmtSetServerStackSize';
  2637. {$ENDIF DYNAMIC_LINK}
  2638. {$IFDEF DYNAMIC_LINK}
  2639. var
  2640.   _RpcSsDontSerializeContext: Pointer;
  2641. procedure RpcSsDontSerializeContext;
  2642. begin
  2643.   GetProcedureAddress(_RpcSsDontSerializeContext, rpclib, 'RpcSsDontSerializeContext');
  2644.   asm
  2645.     mov esp, ebp
  2646.     pop ebp
  2647.     jmp [_RpcSsDontSerializeContext]
  2648.   end;
  2649. end;
  2650. {$ELSE}
  2651. procedure RpcSsDontSerializeContext; external rpclib name 'RpcSsDontSerializeContext';
  2652. {$ENDIF DYNAMIC_LINK}
  2653. {$IFDEF DYNAMIC_LINK}
  2654. var
  2655.   _RpcMgmtEnableIdleCleanup: Pointer;
  2656. function RpcMgmtEnableIdleCleanup;
  2657. begin
  2658.   GetProcedureAddress(_RpcMgmtEnableIdleCleanup, rpclib, 'RpcMgmtEnableIdleCleanup');
  2659.   asm
  2660.     mov esp, ebp
  2661.     pop ebp
  2662.     jmp [_RpcMgmtEnableIdleCleanup]
  2663.   end;
  2664. end;
  2665. {$ELSE}
  2666. function RpcMgmtEnableIdleCleanup; external rpclib name 'RpcMgmtEnableIdleCleanup';
  2667. {$ENDIF DYNAMIC_LINK}
  2668. {$IFDEF DYNAMIC_LINK}
  2669. var
  2670.   _RpcMgmtInqIfIds: Pointer;
  2671. function RpcMgmtInqIfIds;
  2672. begin
  2673.   GetProcedureAddress(_RpcMgmtInqIfIds, rpclib, 'RpcMgmtInqIfIds');
  2674.   asm
  2675.     mov esp, ebp
  2676.     pop ebp
  2677.     jmp [_RpcMgmtInqIfIds]
  2678.   end;
  2679. end;
  2680. {$ELSE}
  2681. function RpcMgmtInqIfIds; external rpclib name 'RpcMgmtInqIfIds';
  2682. {$ENDIF DYNAMIC_LINK}
  2683. {$IFDEF DYNAMIC_LINK}
  2684. var
  2685.   _RpcIfIdVectorFree: Pointer;
  2686. function RpcIfIdVectorFree;
  2687. begin
  2688.   GetProcedureAddress(_RpcIfIdVectorFree, rpclib, 'RpcIfIdVectorFree');
  2689.   asm
  2690.     mov esp, ebp
  2691.     pop ebp
  2692.     jmp [_RpcIfIdVectorFree]
  2693.   end;
  2694. end;
  2695. {$ELSE}
  2696. function RpcIfIdVectorFree; external rpclib name 'RpcIfIdVectorFree';
  2697. {$ENDIF DYNAMIC_LINK}
  2698. {$IFDEF DYNAMIC_LINK}
  2699. var
  2700.   _RpcMgmtInqServerPrincNameA: Pointer;
  2701. function RpcMgmtInqServerPrincNameA;
  2702. begin
  2703.   GetProcedureAddress(_RpcMgmtInqServerPrincNameA, rpclib, 'RpcMgmtInqServerPrincNameA');
  2704.   asm
  2705.     mov esp, ebp
  2706.     pop ebp
  2707.     jmp [_RpcMgmtInqServerPrincNameA]
  2708.   end;
  2709. end;
  2710. {$ELSE}
  2711. function RpcMgmtInqServerPrincNameA; external rpclib name 'RpcMgmtInqServerPrincNameA';
  2712. {$ENDIF DYNAMIC_LINK}
  2713. {$IFDEF DYNAMIC_LINK}
  2714. var
  2715.   _RpcMgmtInqServerPrincNameW: Pointer;
  2716. function RpcMgmtInqServerPrincNameW;
  2717. begin
  2718.   GetProcedureAddress(_RpcMgmtInqServerPrincNameW, rpclib, 'RpcMgmtInqServerPrincNameW');
  2719.   asm
  2720.     mov esp, ebp
  2721.     pop ebp
  2722.     jmp [_RpcMgmtInqServerPrincNameW]
  2723.   end;
  2724. end;
  2725. {$ELSE}
  2726. function RpcMgmtInqServerPrincNameW; external rpclib name 'RpcMgmtInqServerPrincNameW';
  2727. {$ENDIF DYNAMIC_LINK}
  2728. {$IFDEF UNICODE}
  2729. {$IFDEF DYNAMIC_LINK}
  2730. var
  2731.   _RpcMgmtInqServerPrincName: Pointer;
  2732. function RpcMgmtInqServerPrincName;
  2733. begin
  2734.   GetProcedureAddress(_RpcMgmtInqServerPrincName, rpclib, 'RpcMgmtInqServerPrincNameW');
  2735.   asm
  2736.     mov esp, ebp
  2737.     pop ebp
  2738.     jmp [_RpcMgmtInqServerPrincName]
  2739.   end;
  2740. end;
  2741. {$ELSE}
  2742. function RpcMgmtInqServerPrincName; external rpclib name 'RpcMgmtInqServerPrincNameW';
  2743. {$ENDIF DYNAMIC_LINK}
  2744. {$ELSE}
  2745. {$IFDEF DYNAMIC_LINK}
  2746. var
  2747.   _RpcMgmtInqServerPrincName: Pointer;
  2748. function RpcMgmtInqServerPrincName;
  2749. begin
  2750.   GetProcedureAddress(_RpcMgmtInqServerPrincName, rpclib, 'RpcMgmtInqServerPrincNameA');
  2751.   asm
  2752.     mov esp, ebp
  2753.     pop ebp
  2754.     jmp [_RpcMgmtInqServerPrincName]
  2755.   end;
  2756. end;
  2757. {$ELSE}
  2758. function RpcMgmtInqServerPrincName; external rpclib name 'RpcMgmtInqServerPrincNameA';
  2759. {$ENDIF DYNAMIC_LINK}
  2760. {$ENDIF}
  2761. {$IFDEF DYNAMIC_LINK}
  2762. var
  2763.   _RpcServerInqDefaultPrincNameA: Pointer;
  2764. function RpcServerInqDefaultPrincNameA;
  2765. begin
  2766.   GetProcedureAddress(_RpcServerInqDefaultPrincNameA, rpclib, 'RpcServerInqDefaultPrincNameA');
  2767.   asm
  2768.     mov esp, ebp
  2769.     pop ebp
  2770.     jmp [_RpcServerInqDefaultPrincNameA]
  2771.   end;
  2772. end;
  2773. {$ELSE}
  2774. function RpcServerInqDefaultPrincNameA; external rpclib name 'RpcServerInqDefaultPrincNameA';
  2775. {$ENDIF DYNAMIC_LINK}
  2776. {$IFDEF DYNAMIC_LINK}
  2777. var
  2778.   _RpcServerInqDefaultPrincNameW: Pointer;
  2779. function RpcServerInqDefaultPrincNameW;
  2780. begin
  2781.   GetProcedureAddress(_RpcServerInqDefaultPrincNameW, rpclib, 'RpcServerInqDefaultPrincNameW');
  2782.   asm
  2783.     mov esp, ebp
  2784.     pop ebp
  2785.     jmp [_RpcServerInqDefaultPrincNameW]
  2786.   end;
  2787. end;
  2788. {$ELSE}
  2789. function RpcServerInqDefaultPrincNameW; external rpclib name 'RpcServerInqDefaultPrincNameW';
  2790. {$ENDIF DYNAMIC_LINK}
  2791. {$IFDEF UNICODE}
  2792. {$IFDEF DYNAMIC_LINK}
  2793. var
  2794.   _RpcServerInqDefaultPrincName: Pointer;
  2795. function RpcServerInqDefaultPrincName;
  2796. begin
  2797.   GetProcedureAddress(_RpcServerInqDefaultPrincName, rpclib, 'RpcServerInqDefaultPrincNameW');
  2798.   asm
  2799.     mov esp, ebp
  2800.     pop ebp
  2801.     jmp [_RpcServerInqDefaultPrincName]
  2802.   end;
  2803. end;
  2804. {$ELSE}
  2805. function RpcServerInqDefaultPrincName; external rpclib name 'RpcServerInqDefaultPrincNameW';
  2806. {$ENDIF DYNAMIC_LINK}
  2807. {$ELSE}
  2808. {$IFDEF DYNAMIC_LINK}
  2809. var
  2810.   _RpcServerInqDefaultPrincName: Pointer;
  2811. function RpcServerInqDefaultPrincName;
  2812. begin
  2813.   GetProcedureAddress(_RpcServerInqDefaultPrincName, rpclib, 'RpcServerInqDefaultPrincNameA');
  2814.   asm
  2815.     mov esp, ebp
  2816.     pop ebp
  2817.     jmp [_RpcServerInqDefaultPrincName]
  2818.   end;
  2819. end;
  2820. {$ELSE}
  2821. function RpcServerInqDefaultPrincName; external rpclib name 'RpcServerInqDefaultPrincNameA';
  2822. {$ENDIF DYNAMIC_LINK}
  2823. {$ENDIF}
  2824. {$IFDEF DYNAMIC_LINK}
  2825. var
  2826.   _RpcEpResolveBinding: Pointer;
  2827. function RpcEpResolveBinding;
  2828. begin
  2829.   GetProcedureAddress(_RpcEpResolveBinding, rpclib, 'RpcEpResolveBinding');
  2830.   asm
  2831.     mov esp, ebp
  2832.     pop ebp
  2833.     jmp [_RpcEpResolveBinding]
  2834.   end;
  2835. end;
  2836. {$ELSE}
  2837. function RpcEpResolveBinding; external rpclib name 'RpcEpResolveBinding';
  2838. {$ENDIF DYNAMIC_LINK}
  2839. {$IFDEF DYNAMIC_LINK}
  2840. var
  2841.   _RpcNsBindingInqEntryNameA: Pointer;
  2842. function RpcNsBindingInqEntryNameA;
  2843. begin
  2844.   GetProcedureAddress(_RpcNsBindingInqEntryNameA, rpclib, 'RpcNsBindingInqEntryNameA');
  2845.   asm
  2846.     mov esp, ebp
  2847.     pop ebp
  2848.     jmp [_RpcNsBindingInqEntryNameA]
  2849.   end;
  2850. end;
  2851. {$ELSE}
  2852. function RpcNsBindingInqEntryNameA; external rpclib name 'RpcNsBindingInqEntryNameA';
  2853. {$ENDIF DYNAMIC_LINK}
  2854. {$IFDEF DYNAMIC_LINK}
  2855. var
  2856.   _RpcNsBindingInqEntryNameW: Pointer;
  2857. function RpcNsBindingInqEntryNameW;
  2858. begin
  2859.   GetProcedureAddress(_RpcNsBindingInqEntryNameW, rpclib, 'RpcNsBindingInqEntryNameW');
  2860.   asm
  2861.     mov esp, ebp
  2862.     pop ebp
  2863.     jmp [_RpcNsBindingInqEntryNameW]
  2864.   end;
  2865. end;
  2866. {$ELSE}
  2867. function RpcNsBindingInqEntryNameW; external rpclib name 'RpcNsBindingInqEntryNameW';
  2868. {$ENDIF DYNAMIC_LINK}
  2869. {$IFDEF UNICODE}
  2870. {$IFDEF DYNAMIC_LINK}
  2871. var
  2872.   _RpcNsBindingInqEntryName: Pointer;
  2873. function RpcNsBindingInqEntryName;
  2874. begin
  2875.   GetProcedureAddress(_RpcNsBindingInqEntryName, rpclib, 'RpcNsBindingInqEntryNameW');
  2876.   asm
  2877.     mov esp, ebp
  2878.     pop ebp
  2879.     jmp [_RpcNsBindingInqEntryName]
  2880.   end;
  2881. end;
  2882. {$ELSE}
  2883. function RpcNsBindingInqEntryName; external rpclib name 'RpcNsBindingInqEntryNameW';
  2884. {$ENDIF DYNAMIC_LINK}
  2885. {$ELSE}
  2886. {$IFDEF DYNAMIC_LINK}
  2887. var
  2888.   _RpcNsBindingInqEntryName: Pointer;
  2889. function RpcNsBindingInqEntryName;
  2890. begin
  2891.   GetProcedureAddress(_RpcNsBindingInqEntryName, rpclib, 'RpcNsBindingInqEntryNameA');
  2892.   asm
  2893.     mov esp, ebp
  2894.     pop ebp
  2895.     jmp [_RpcNsBindingInqEntryName]
  2896.   end;
  2897. end;
  2898. {$ELSE}
  2899. function RpcNsBindingInqEntryName; external rpclib name 'RpcNsBindingInqEntryNameA';
  2900. {$ENDIF DYNAMIC_LINK}
  2901. {$ENDIF}
  2902. {$IFDEF DYNAMIC_LINK}
  2903. var
  2904.   _RpcImpersonateClient: Pointer;
  2905. function RpcImpersonateClient;
  2906. begin
  2907.   GetProcedureAddress(_RpcImpersonateClient, rpclib, 'RpcImpersonateClient');
  2908.   asm
  2909.     mov esp, ebp
  2910.     pop ebp
  2911.     jmp [_RpcImpersonateClient]
  2912.   end;
  2913. end;
  2914. {$ELSE}
  2915. function RpcImpersonateClient; external rpclib name 'RpcImpersonateClient';
  2916. {$ENDIF DYNAMIC_LINK}
  2917. {$IFDEF DYNAMIC_LINK}
  2918. var
  2919.   _RpcRevertToSelfEx: Pointer;
  2920. function RpcRevertToSelfEx;
  2921. begin
  2922.   GetProcedureAddress(_RpcRevertToSelfEx, rpclib, 'RpcRevertToSelfEx');
  2923.   asm
  2924.     mov esp, ebp
  2925.     pop ebp
  2926.     jmp [_RpcRevertToSelfEx]
  2927.   end;
  2928. end;
  2929. {$ELSE}
  2930. function RpcRevertToSelfEx; external rpclib name 'RpcRevertToSelfEx';
  2931. {$ENDIF DYNAMIC_LINK}
  2932. {$IFDEF DYNAMIC_LINK}
  2933. var
  2934.   _RpcRevertToSelf: Pointer;
  2935. function RpcRevertToSelf;
  2936. begin
  2937.   GetProcedureAddress(_RpcRevertToSelf, rpclib, 'RpcRevertToSelf');
  2938.   asm
  2939.     mov esp, ebp
  2940.     pop ebp
  2941.     jmp [_RpcRevertToSelf]
  2942.   end;
  2943. end;
  2944. {$ELSE}
  2945. function RpcRevertToSelf; external rpclib name 'RpcRevertToSelf';
  2946. {$ENDIF DYNAMIC_LINK}
  2947. {$IFDEF DYNAMIC_LINK}
  2948. var
  2949.   _RpcBindingInqAuthClientA: Pointer;
  2950. function RpcBindingInqAuthClientA;
  2951. begin
  2952.   GetProcedureAddress(_RpcBindingInqAuthClientA, rpclib, 'RpcBindingInqAuthClientA');
  2953.   asm
  2954.     mov esp, ebp
  2955.     pop ebp
  2956.     jmp [_RpcBindingInqAuthClientA]
  2957.   end;
  2958. end;
  2959. {$ELSE}
  2960. function RpcBindingInqAuthClientA; external rpclib name 'RpcBindingInqAuthClientA';
  2961. {$ENDIF DYNAMIC_LINK}
  2962. {$IFDEF DYNAMIC_LINK}
  2963. var
  2964.   _RpcBindingInqAuthClientW: Pointer;
  2965. function RpcBindingInqAuthClientW;
  2966. begin
  2967.   GetProcedureAddress(_RpcBindingInqAuthClientW, rpclib, 'RpcBindingInqAuthClientW');
  2968.   asm
  2969.     mov esp, ebp
  2970.     pop ebp
  2971.     jmp [_RpcBindingInqAuthClientW]
  2972.   end;
  2973. end;
  2974. {$ELSE}
  2975. function RpcBindingInqAuthClientW; external rpclib name 'RpcBindingInqAuthClientW';
  2976. {$ENDIF DYNAMIC_LINK}
  2977. {$IFDEF DYNAMIC_LINK}
  2978. var
  2979.   _RpcBindingInqAuthClientExA: Pointer;
  2980. function RpcBindingInqAuthClientExA;
  2981. begin
  2982.   GetProcedureAddress(_RpcBindingInqAuthClientExA, rpclib, 'RpcBindingInqAuthClientExA');
  2983.   asm
  2984.     mov esp, ebp
  2985.     pop ebp
  2986.     jmp [_RpcBindingInqAuthClientExA]
  2987.   end;
  2988. end;
  2989. {$ELSE}
  2990. function RpcBindingInqAuthClientExA; external rpclib name 'RpcBindingInqAuthClientExA';
  2991. {$ENDIF DYNAMIC_LINK}
  2992. {$IFDEF DYNAMIC_LINK}
  2993. var
  2994.   _RpcBindingInqAuthClientExW: Pointer;
  2995. function RpcBindingInqAuthClientExW;
  2996. begin
  2997.   GetProcedureAddress(_RpcBindingInqAuthClientExW, rpclib, 'RpcBindingInqAuthClientExW');
  2998.   asm
  2999.     mov esp, ebp
  3000.     pop ebp
  3001.     jmp [_RpcBindingInqAuthClientExW]
  3002.   end;
  3003. end;
  3004. {$ELSE}
  3005. function RpcBindingInqAuthClientExW; external rpclib name 'RpcBindingInqAuthClientExW';
  3006. {$ENDIF DYNAMIC_LINK}
  3007. {$IFDEF DYNAMIC_LINK}
  3008. var
  3009.   _RpcBindingInqAuthInfoA: Pointer;
  3010. function RpcBindingInqAuthInfoA;
  3011. begin
  3012.   GetProcedureAddress(_RpcBindingInqAuthInfoA, rpclib, 'RpcBindingInqAuthInfoA');
  3013.   asm
  3014.     mov esp, ebp
  3015.     pop ebp
  3016.     jmp [_RpcBindingInqAuthInfoA]
  3017.   end;
  3018. end;
  3019. {$ELSE}
  3020. function RpcBindingInqAuthInfoA; external rpclib name 'RpcBindingInqAuthInfoA';
  3021. {$ENDIF DYNAMIC_LINK}
  3022. {$IFDEF DYNAMIC_LINK}
  3023. var
  3024.   _RpcBindingInqAuthInfoW: Pointer;
  3025. function RpcBindingInqAuthInfoW;
  3026. begin
  3027.   GetProcedureAddress(_RpcBindingInqAuthInfoW, rpclib, 'RpcBindingInqAuthInfoW');
  3028.   asm
  3029.     mov esp, ebp
  3030.     pop ebp
  3031.     jmp [_RpcBindingInqAuthInfoW]
  3032.   end;
  3033. end;
  3034. {$ELSE}
  3035. function RpcBindingInqAuthInfoW; external rpclib name 'RpcBindingInqAuthInfoW';
  3036. {$ENDIF DYNAMIC_LINK}
  3037. {$IFDEF DYNAMIC_LINK}
  3038. var
  3039.   _RpcBindingSetAuthInfoA: Pointer;
  3040. function RpcBindingSetAuthInfoA;
  3041. begin
  3042.   GetProcedureAddress(_RpcBindingSetAuthInfoA, rpclib, 'RpcBindingSetAuthInfoA');
  3043.   asm
  3044.     mov esp, ebp
  3045.     pop ebp
  3046.     jmp [_RpcBindingSetAuthInfoA]
  3047.   end;
  3048. end;
  3049. {$ELSE}
  3050. function RpcBindingSetAuthInfoA; external rpclib name 'RpcBindingSetAuthInfoA';
  3051. {$ENDIF DYNAMIC_LINK}
  3052. {$IFDEF DYNAMIC_LINK}
  3053. var
  3054.   _RpcBindingSetAuthInfoW: Pointer;
  3055. function RpcBindingSetAuthInfoW;
  3056. begin
  3057.   GetProcedureAddress(_RpcBindingSetAuthInfoW, rpclib, 'RpcBindingSetAuthInfoW');
  3058.   asm
  3059.     mov esp, ebp
  3060.     pop ebp
  3061.     jmp [_RpcBindingSetAuthInfoW]
  3062.   end;
  3063. end;
  3064. {$ELSE}
  3065. function RpcBindingSetAuthInfoW; external rpclib name 'RpcBindingSetAuthInfoW';
  3066. {$ENDIF DYNAMIC_LINK}
  3067. {$IFDEF DYNAMIC_LINK}
  3068. var
  3069.   _RpcBindingSetAuthInfoExA: Pointer;
  3070. function RpcBindingSetAuthInfoExA;
  3071. begin
  3072.   GetProcedureAddress(_RpcBindingSetAuthInfoExA, rpclib, 'RpcBindingSetAuthInfoExA');
  3073.   asm
  3074.     mov esp, ebp
  3075.     pop ebp
  3076.     jmp [_RpcBindingSetAuthInfoExA]
  3077.   end;
  3078. end;
  3079. {$ELSE}
  3080. function RpcBindingSetAuthInfoExA; external rpclib name 'RpcBindingSetAuthInfoExA';
  3081. {$ENDIF DYNAMIC_LINK}
  3082. {$IFDEF DYNAMIC_LINK}
  3083. var
  3084.   _RpcBindingSetAuthInfoExW: Pointer;
  3085. function RpcBindingSetAuthInfoExW;
  3086. begin
  3087.   GetProcedureAddress(_RpcBindingSetAuthInfoExW, rpclib, 'RpcBindingSetAuthInfoExW');
  3088.   asm
  3089.     mov esp, ebp
  3090.     pop ebp
  3091.     jmp [_RpcBindingSetAuthInfoExW]
  3092.   end;
  3093. end;
  3094. {$ELSE}
  3095. function RpcBindingSetAuthInfoExW; external rpclib name 'RpcBindingSetAuthInfoExW';
  3096. {$ENDIF DYNAMIC_LINK}
  3097. {$IFDEF DYNAMIC_LINK}
  3098. var
  3099.   _RpcBindingInqAuthInfoExA: Pointer;
  3100. function RpcBindingInqAuthInfoExA;
  3101. begin
  3102.   GetProcedureAddress(_RpcBindingInqAuthInfoExA, rpclib, 'RpcBindingInqAuthInfoExA');
  3103.   asm
  3104.     mov esp, ebp
  3105.     pop ebp
  3106.     jmp [_RpcBindingInqAuthInfoExA]
  3107.   end;
  3108. end;
  3109. {$ELSE}
  3110. function RpcBindingInqAuthInfoExA; external rpclib name 'RpcBindingInqAuthInfoExA';
  3111. {$ENDIF DYNAMIC_LINK}
  3112. {$IFDEF DYNAMIC_LINK}
  3113. var
  3114.   _RpcBindingInqAuthInfoExW: Pointer;
  3115. function RpcBindingInqAuthInfoExW;
  3116. begin
  3117.   GetProcedureAddress(_RpcBindingInqAuthInfoExW, rpclib, 'RpcBindingInqAuthInfoExW');
  3118.   asm
  3119.     mov esp, ebp
  3120.     pop ebp
  3121.     jmp [_RpcBindingInqAuthInfoExW]
  3122.   end;
  3123. end;
  3124. {$ELSE}
  3125. function RpcBindingInqAuthInfoExW; external rpclib name 'RpcBindingInqAuthInfoExW';
  3126. {$ENDIF DYNAMIC_LINK}
  3127. {$IFDEF DYNAMIC_LINK}
  3128. var
  3129.   _RpcServerRegisterAuthInfoA: Pointer;
  3130. function RpcServerRegisterAuthInfoA;
  3131. begin
  3132.   GetProcedureAddress(_RpcServerRegisterAuthInfoA, rpclib, 'RpcServerRegisterAuthInfoA');
  3133.   asm
  3134.     mov esp, ebp
  3135.     pop ebp
  3136.     jmp [_RpcServerRegisterAuthInfoA]
  3137.   end;
  3138. end;
  3139. {$ELSE}
  3140. function RpcServerRegisterAuthInfoA; external rpclib name 'RpcServerRegisterAuthInfoA';
  3141. {$ENDIF DYNAMIC_LINK}
  3142. {$IFDEF DYNAMIC_LINK}
  3143. var
  3144.   _RpcServerRegisterAuthInfoW: Pointer;
  3145. function RpcServerRegisterAuthInfoW;
  3146. begin
  3147.   GetProcedureAddress(_RpcServerRegisterAuthInfoW, rpclib, 'RpcServerRegisterAuthInfoW');
  3148.   asm
  3149.     mov esp, ebp
  3150.     pop ebp
  3151.     jmp [_RpcServerRegisterAuthInfoW]
  3152.   end;
  3153. end;
  3154. {$ELSE}
  3155. function RpcServerRegisterAuthInfoW; external rpclib name 'RpcServerRegisterAuthInfoW';
  3156. {$ENDIF DYNAMIC_LINK}
  3157. {$IFDEF UNICODE}
  3158. {$IFDEF DYNAMIC_LINK}
  3159. var
  3160.   _RpcBindingInqAuthClient: Pointer;
  3161. function RpcBindingInqAuthClient;
  3162. begin
  3163.   GetProcedureAddress(_RpcBindingInqAuthClient, rpclib, 'RpcBindingInqAuthClientW');
  3164.   asm
  3165.     mov esp, ebp
  3166.     pop ebp
  3167.     jmp [_RpcBindingInqAuthClient]
  3168.   end;
  3169. end;
  3170. {$ELSE}
  3171. function RpcBindingInqAuthClient; external rpclib name 'RpcBindingInqAuthClientW';
  3172. {$ENDIF DYNAMIC_LINK}
  3173. {$IFDEF DYNAMIC_LINK}
  3174. var
  3175.   _RpcBindingInqAuthClientEx: Pointer;
  3176. function RpcBindingInqAuthClientEx;
  3177. begin
  3178.   GetProcedureAddress(_RpcBindingInqAuthClientEx, rpclib, 'RpcBindingInqAuthClientExW');
  3179.   asm
  3180.     mov esp, ebp
  3181.     pop ebp
  3182.     jmp [_RpcBindingInqAuthClientEx]
  3183.   end;
  3184. end;
  3185. {$ELSE}
  3186. function RpcBindingInqAuthClientEx; external rpclib name 'RpcBindingInqAuthClientExW';
  3187. {$ENDIF DYNAMIC_LINK}
  3188. {$IFDEF DYNAMIC_LINK}
  3189. var
  3190.   _RpcBindingInqAuthInfo: Pointer;
  3191. function RpcBindingInqAuthInfo;
  3192. begin
  3193.   GetProcedureAddress(_RpcBindingInqAuthInfo, rpclib, 'RpcBindingInqAuthInfoW');
  3194.   asm
  3195.     mov esp, ebp
  3196.     pop ebp
  3197.     jmp [_RpcBindingInqAuthInfo]
  3198.   end;
  3199. end;
  3200. {$ELSE}
  3201. function RpcBindingInqAuthInfo; external rpclib name 'RpcBindingInqAuthInfoW';
  3202. {$ENDIF DYNAMIC_LINK}
  3203. {$IFDEF DYNAMIC_LINK}
  3204. var
  3205.   _RpcBindingSetAuthInfo: Pointer;
  3206. function RpcBindingSetAuthInfo;
  3207. begin
  3208.   GetProcedureAddress(_RpcBindingSetAuthInfo, rpclib, 'RpcBindingSetAuthInfoW');
  3209.   asm
  3210.     mov esp, ebp
  3211.     pop ebp
  3212.     jmp [_RpcBindingSetAuthInfo]
  3213.   end;
  3214. end;
  3215. {$ELSE}
  3216. function RpcBindingSetAuthInfo; external rpclib name 'RpcBindingSetAuthInfoW';
  3217. {$ENDIF DYNAMIC_LINK}
  3218. {$IFDEF DYNAMIC_LINK}
  3219. var
  3220.   _RpcBindingSetAuthInfoEx: Pointer;
  3221. function RpcBindingSetAuthInfoEx;
  3222. begin
  3223.   GetProcedureAddress(_RpcBindingSetAuthInfoEx, rpclib, 'RpcBindingSetAuthInfoExW');
  3224.   asm
  3225.     mov esp, ebp
  3226.     pop ebp
  3227.     jmp [_RpcBindingSetAuthInfoEx]
  3228.   end;
  3229. end;
  3230. {$ELSE}
  3231. function RpcBindingSetAuthInfoEx; external rpclib name 'RpcBindingSetAuthInfoExW';
  3232. {$ENDIF DYNAMIC_LINK}
  3233. {$IFDEF DYNAMIC_LINK}
  3234. var
  3235.   _RpcBindingInqAuthInfoEx: Pointer;
  3236. function RpcBindingInqAuthInfoEx;
  3237. begin
  3238.   GetProcedureAddress(_RpcBindingInqAuthInfoEx, rpclib, 'RpcBindingInqAuthInfoExW');
  3239.   asm
  3240.     mov esp, ebp
  3241.     pop ebp
  3242.     jmp [_RpcBindingInqAuthInfoEx]
  3243.   end;
  3244. end;
  3245. {$ELSE}
  3246. function RpcBindingInqAuthInfoEx; external rpclib name 'RpcBindingInqAuthInfoExW';
  3247. {$ENDIF DYNAMIC_LINK}
  3248. {$IFDEF DYNAMIC_LINK}
  3249. var
  3250.   _RpcServerRegisterAuthInfo: Pointer;
  3251. function RpcServerRegisterAuthInfo;
  3252. begin
  3253.   GetProcedureAddress(_RpcServerRegisterAuthInfo, rpclib, 'RpcServerRegisterAuthInfoW');
  3254.   asm
  3255.     mov esp, ebp
  3256.     pop ebp
  3257.     jmp [_RpcServerRegisterAuthInfo]
  3258.   end;
  3259. end;
  3260. {$ELSE}
  3261. function RpcServerRegisterAuthInfo; external rpclib name 'RpcServerRegisterAuthInfoW';
  3262. {$ENDIF DYNAMIC_LINK}
  3263. {$ELSE}
  3264. {$IFDEF DYNAMIC_LINK}
  3265. var
  3266.   _RpcBindingInqAuthClient: Pointer;
  3267. function RpcBindingInqAuthClient;
  3268. begin
  3269.   GetProcedureAddress(_RpcBindingInqAuthClient, rpclib, 'RpcBindingInqAuthClientA');
  3270.   asm
  3271.     mov esp, ebp
  3272.     pop ebp
  3273.     jmp [_RpcBindingInqAuthClient]
  3274.   end;
  3275. end;
  3276. {$ELSE}
  3277. function RpcBindingInqAuthClient; external rpclib name 'RpcBindingInqAuthClientA';
  3278. {$ENDIF DYNAMIC_LINK}
  3279. {$IFDEF DYNAMIC_LINK}
  3280. var
  3281.   _RpcBindingInqAuthClientEx: Pointer;
  3282. function RpcBindingInqAuthClientEx;
  3283. begin
  3284.   GetProcedureAddress(_RpcBindingInqAuthClientEx, rpclib, 'RpcBindingInqAuthClientExA');
  3285.   asm
  3286.     mov esp, ebp
  3287.     pop ebp
  3288.     jmp [_RpcBindingInqAuthClientEx]
  3289.   end;
  3290. end;
  3291. {$ELSE}
  3292. function RpcBindingInqAuthClientEx; external rpclib name 'RpcBindingInqAuthClientExA';
  3293. {$ENDIF DYNAMIC_LINK}
  3294. {$IFDEF DYNAMIC_LINK}
  3295. var
  3296.   _RpcBindingInqAuthInfo: Pointer;
  3297. function RpcBindingInqAuthInfo;
  3298. begin
  3299.   GetProcedureAddress(_RpcBindingInqAuthInfo, rpclib, 'RpcBindingInqAuthInfoA');
  3300.   asm
  3301.     mov esp, ebp
  3302.     pop ebp
  3303.     jmp [_RpcBindingInqAuthInfo]
  3304.   end;
  3305. end;
  3306. {$ELSE}
  3307. function RpcBindingInqAuthInfo; external rpclib name 'RpcBindingInqAuthInfoA';
  3308. {$ENDIF DYNAMIC_LINK}
  3309. {$IFDEF DYNAMIC_LINK}
  3310. var
  3311.   _RpcBindingSetAuthInfo: Pointer;
  3312. function RpcBindingSetAuthInfo;
  3313. begin
  3314.   GetProcedureAddress(_RpcBindingSetAuthInfo, rpclib, 'RpcBindingSetAuthInfoA');
  3315.   asm
  3316.     mov esp, ebp
  3317.     pop ebp
  3318.     jmp [_RpcBindingSetAuthInfo]
  3319.   end;
  3320. end;
  3321. {$ELSE}
  3322. function RpcBindingSetAuthInfo; external rpclib name 'RpcBindingSetAuthInfoA';
  3323. {$ENDIF DYNAMIC_LINK}
  3324. {$IFDEF DYNAMIC_LINK}
  3325. var
  3326.   _RpcBindingSetAuthInfoEx: Pointer;
  3327. function RpcBindingSetAuthInfoEx;
  3328. begin
  3329.   GetProcedureAddress(_RpcBindingSetAuthInfoEx, rpclib, 'RpcBindingSetAuthInfoExA');
  3330.   asm
  3331.     mov esp, ebp
  3332.     pop ebp
  3333.     jmp [_RpcBindingSetAuthInfoEx]
  3334.   end;
  3335. end;
  3336. {$ELSE}
  3337. function RpcBindingSetAuthInfoEx; external rpclib name 'RpcBindingSetAuthInfoExA';
  3338. {$ENDIF DYNAMIC_LINK}
  3339. {$IFDEF DYNAMIC_LINK}
  3340. var
  3341.   _RpcBindingInqAuthInfoEx: Pointer;
  3342. function RpcBindingInqAuthInfoEx;
  3343. begin
  3344.   GetProcedureAddress(_RpcBindingInqAuthInfoEx, rpclib, 'RpcBindingInqAuthInfoExA');
  3345.   asm
  3346.     mov esp, ebp
  3347.     pop ebp
  3348.     jmp [_RpcBindingInqAuthInfoEx]
  3349.   end;
  3350. end;
  3351. {$ELSE}
  3352. function RpcBindingInqAuthInfoEx; external rpclib name 'RpcBindingInqAuthInfoExA';
  3353. {$ENDIF DYNAMIC_LINK}
  3354. {$IFDEF DYNAMIC_LINK}
  3355. var
  3356.   _RpcServerRegisterAuthInfo: Pointer;
  3357. function RpcServerRegisterAuthInfo;
  3358. begin
  3359.   GetProcedureAddress(_RpcServerRegisterAuthInfo, rpclib, 'RpcServerRegisterAuthInfoA');
  3360.   asm
  3361.     mov esp, ebp
  3362.     pop ebp
  3363.     jmp [_RpcServerRegisterAuthInfo]
  3364.   end;
  3365. end;
  3366. {$ELSE}
  3367. function RpcServerRegisterAuthInfo; external rpclib name 'RpcServerRegisterAuthInfoA';
  3368. {$ENDIF DYNAMIC_LINK}
  3369. {$ENDIF}
  3370. {$IFDEF DYNAMIC_LINK}
  3371. var
  3372.   _RpcBindingServerFromClient: Pointer;
  3373. function RpcBindingServerFromClient;
  3374. begin
  3375.   GetProcedureAddress(_RpcBindingServerFromClient, rpclib, 'RpcBindingServerFromClient');
  3376.   asm
  3377.     mov esp, ebp
  3378.     pop ebp
  3379.     jmp [_RpcBindingServerFromClient]
  3380.   end;
  3381. end;
  3382. {$ELSE}
  3383. function RpcBindingServerFromClient; external rpclib name 'RpcBindingServerFromClient';
  3384. {$ENDIF DYNAMIC_LINK}
  3385. {$IFDEF DYNAMIC_LINK}
  3386. var
  3387.   _RpcRaiseException: Pointer;
  3388. procedure RpcRaiseException;
  3389. begin
  3390.   GetProcedureAddress(_RpcRaiseException, rpclib, 'RpcRaiseException');
  3391.   asm
  3392.     mov esp, ebp
  3393.     pop ebp
  3394.     jmp [_RpcRaiseException]
  3395.   end;
  3396. end;
  3397. {$ELSE}
  3398. procedure RpcRaiseException; external rpclib name 'RpcRaiseException';
  3399. {$ENDIF DYNAMIC_LINK}
  3400. {$IFDEF DYNAMIC_LINK}
  3401. var
  3402.   _RpcTestCancel: Pointer;
  3403. function RpcTestCancel;
  3404. begin
  3405.   GetProcedureAddress(_RpcTestCancel, rpclib, 'RpcTestCancel');
  3406.   asm
  3407.     mov esp, ebp
  3408.     pop ebp
  3409.     jmp [_RpcTestCancel]
  3410.   end;
  3411. end;
  3412. {$ELSE}
  3413. function RpcTestCancel; external rpclib name 'RpcTestCancel';
  3414. {$ENDIF DYNAMIC_LINK}
  3415. {$IFDEF DYNAMIC_LINK}
  3416. var
  3417.   _RpcServerTestCancel: Pointer;
  3418. function RpcServerTestCancel;
  3419. begin
  3420.   GetProcedureAddress(_RpcServerTestCancel, rpclib, 'RpcServerTestCancel');
  3421.   asm
  3422.     mov esp, ebp
  3423.     pop ebp
  3424.     jmp [_RpcServerTestCancel]
  3425.   end;
  3426. end;
  3427. {$ELSE}
  3428. function RpcServerTestCancel; external rpclib name 'RpcServerTestCancel';
  3429. {$ENDIF DYNAMIC_LINK}
  3430. {$IFDEF DYNAMIC_LINK}
  3431. var
  3432.   _RpcCancelThread: Pointer;
  3433. function RpcCancelThread;
  3434. begin
  3435.   GetProcedureAddress(_RpcCancelThread, rpclib, 'RpcCancelThread');
  3436.   asm
  3437.     mov esp, ebp
  3438.     pop ebp
  3439.     jmp [_RpcCancelThread]
  3440.   end;
  3441. end;
  3442. {$ELSE}
  3443. function RpcCancelThread; external rpclib name 'RpcCancelThread';
  3444. {$ENDIF DYNAMIC_LINK}
  3445. {$IFDEF DYNAMIC_LINK}
  3446. var
  3447.   _RpcCancelThreadEx: Pointer;
  3448. function RpcCancelThreadEx;
  3449. begin
  3450.   GetProcedureAddress(_RpcCancelThreadEx, rpclib, 'RpcCancelThreadEx');
  3451.   asm
  3452.     mov esp, ebp
  3453.     pop ebp
  3454.     jmp [_RpcCancelThreadEx]
  3455.   end;
  3456. end;
  3457. {$ELSE}
  3458. function RpcCancelThreadEx; external rpclib name 'RpcCancelThreadEx';
  3459. {$ENDIF DYNAMIC_LINK}
  3460. {$IFDEF DYNAMIC_LINK}
  3461. var
  3462.   _UuidCreate: Pointer;
  3463. function UuidCreate;
  3464. begin
  3465.   GetProcedureAddress(_UuidCreate, rpclib, 'UuidCreate');
  3466.   asm
  3467.     mov esp, ebp
  3468.     pop ebp
  3469.     jmp [_UuidCreate]
  3470.   end;
  3471. end;
  3472. {$ELSE}
  3473. function UuidCreate; external rpclib name 'UuidCreate';
  3474. {$ENDIF DYNAMIC_LINK}
  3475. {$IFDEF DYNAMIC_LINK}
  3476. var
  3477.   _UuidCreateSequential: Pointer;
  3478. function UuidCreateSequential;
  3479. begin
  3480.   GetProcedureAddress(_UuidCreateSequential, rpclib, 'UuidCreateSequential');
  3481.   asm
  3482.     mov esp, ebp
  3483.     pop ebp
  3484.     jmp [_UuidCreateSequential]
  3485.   end;
  3486. end;
  3487. {$ELSE}
  3488. function UuidCreateSequential; external rpclib name 'UuidCreateSequential';
  3489. {$ENDIF DYNAMIC_LINK}
  3490. {$IFDEF DYNAMIC_LINK}
  3491. var
  3492.   _UuidFromStringA: Pointer;
  3493. function UuidFromStringA;
  3494. begin
  3495.   GetProcedureAddress(_UuidFromStringA, rpclib, 'UuidFromStringA');
  3496.   asm
  3497.     mov esp, ebp
  3498.     pop ebp
  3499.     jmp [_UuidFromStringA]
  3500.   end;
  3501. end;
  3502. {$ELSE}
  3503. function UuidFromStringA; external rpclib name 'UuidFromStringA';
  3504. {$ENDIF DYNAMIC_LINK}
  3505. {$IFDEF DYNAMIC_LINK}
  3506. var
  3507.   _UuidFromStringW: Pointer;
  3508. function UuidFromStringW;
  3509. begin
  3510.   GetProcedureAddress(_UuidFromStringW, rpclib, 'UuidFromStringW');
  3511.   asm
  3512.     mov esp, ebp
  3513.     pop ebp
  3514.     jmp [_UuidFromStringW]
  3515.   end;
  3516. end;
  3517. {$ELSE}
  3518. function UuidFromStringW; external rpclib name 'UuidFromStringW';
  3519. {$ENDIF DYNAMIC_LINK}
  3520. {$IFDEF UNICODE}
  3521. {$IFDEF DYNAMIC_LINK}
  3522. var
  3523.   _UuidFromString: Pointer;
  3524. function UuidFromString;
  3525. begin
  3526.   GetProcedureAddress(_UuidFromString, rpclib, 'UuidFromStringW');
  3527.   asm
  3528.     mov esp, ebp
  3529.     pop ebp
  3530.     jmp [_UuidFromString]
  3531.   end;
  3532. end;
  3533. {$ELSE}
  3534. function UuidFromString; external rpclib name 'UuidFromStringW';
  3535. {$ENDIF DYNAMIC_LINK}
  3536. {$ELSE}
  3537. {$IFDEF DYNAMIC_LINK}
  3538. var
  3539.   _UuidFromString: Pointer;
  3540. function UuidFromString;
  3541. begin
  3542.   GetProcedureAddress(_UuidFromString, rpclib, 'UuidFromStringA');
  3543.   asm
  3544.     mov esp, ebp
  3545.     pop ebp
  3546.     jmp [_UuidFromString]
  3547.   end;
  3548. end;
  3549. {$ELSE}
  3550. function UuidFromString; external rpclib name 'UuidFromStringA';
  3551. {$ENDIF DYNAMIC_LINK}
  3552. {$ENDIF}
  3553. {$IFDEF DYNAMIC_LINK}
  3554. var
  3555.   _UuidToStringA: Pointer;
  3556. function UuidToStringA;
  3557. begin
  3558.   GetProcedureAddress(_UuidToStringA, rpclib, 'UuidToStringA');
  3559.   asm
  3560.     mov esp, ebp
  3561.     pop ebp
  3562.     jmp [_UuidToStringA]
  3563.   end;
  3564. end;
  3565. {$ELSE}
  3566. function UuidToStringA; external rpclib name 'UuidToStringA';
  3567. {$ENDIF DYNAMIC_LINK}
  3568. {$IFDEF DYNAMIC_LINK}
  3569. var
  3570.   _UuidToStringW: Pointer;
  3571. function UuidToStringW;
  3572. begin
  3573.   GetProcedureAddress(_UuidToStringW, rpclib, 'UuidToStringW');
  3574.   asm
  3575.     mov esp, ebp
  3576.     pop ebp
  3577.     jmp [_UuidToStringW]
  3578.   end;
  3579. end;
  3580. {$ELSE}
  3581. function UuidToStringW; external rpclib name 'UuidToStringW';
  3582. {$ENDIF DYNAMIC_LINK}
  3583. {$IFDEF UNICODE}
  3584. {$IFDEF DYNAMIC_LINK}
  3585. var
  3586.   _UuidToString: Pointer;
  3587. function UuidToString;
  3588. begin
  3589.   GetProcedureAddress(_UuidToString, rpclib, 'UuidToStringW');
  3590.   asm
  3591.     mov esp, ebp
  3592.     pop ebp
  3593.     jmp [_UuidToString]
  3594.   end;
  3595. end;
  3596. {$ELSE}
  3597. function UuidToString; external rpclib name 'UuidToStringW';
  3598. {$ENDIF DYNAMIC_LINK}
  3599. {$ELSE}
  3600. {$IFDEF DYNAMIC_LINK}
  3601. var
  3602.   _UuidToString: Pointer;
  3603. function UuidToString;
  3604. begin
  3605.   GetProcedureAddress(_UuidToString, rpclib, 'UuidToStringA');
  3606.   asm
  3607.     mov esp, ebp
  3608.     pop ebp
  3609.     jmp [_UuidToString]
  3610.   end;
  3611. end;
  3612. {$ELSE}
  3613. function UuidToString; external rpclib name 'UuidToStringA';
  3614. {$ENDIF DYNAMIC_LINK}
  3615. {$ENDIF}
  3616. {$IFDEF DYNAMIC_LINK}
  3617. var
  3618.   _UuidCompare: Pointer;
  3619. function UuidCompare;
  3620. begin
  3621.   GetProcedureAddress(_UuidCompare, rpclib, 'UuidCompare');
  3622.   asm
  3623.     mov esp, ebp
  3624.     pop ebp
  3625.     jmp [_UuidCompare]
  3626.   end;
  3627. end;
  3628. {$ELSE}
  3629. function UuidCompare; external rpclib name 'UuidCompare';
  3630. {$ENDIF DYNAMIC_LINK}
  3631. {$IFDEF DYNAMIC_LINK}
  3632. var
  3633.   _UuidCreateNil: Pointer;
  3634. function UuidCreateNil;
  3635. begin
  3636.   GetProcedureAddress(_UuidCreateNil, rpclib, 'UuidCreateNil');
  3637.   asm
  3638.     mov esp, ebp
  3639.     pop ebp
  3640.     jmp [_UuidCreateNil]
  3641.   end;
  3642. end;
  3643. {$ELSE}
  3644. function UuidCreateNil; external rpclib name 'UuidCreateNil';
  3645. {$ENDIF DYNAMIC_LINK}
  3646. {$IFDEF DYNAMIC_LINK}
  3647. var
  3648.   _UuidEqual: Pointer;
  3649. function UuidEqual;
  3650. begin
  3651.   GetProcedureAddress(_UuidEqual, rpclib, 'UuidEqual');
  3652.   asm
  3653.     mov esp, ebp
  3654.     pop ebp
  3655.     jmp [_UuidEqual]
  3656.   end;
  3657. end;
  3658. {$ELSE}
  3659. function UuidEqual; external rpclib name 'UuidEqual';
  3660. {$ENDIF DYNAMIC_LINK}
  3661. {$IFDEF DYNAMIC_LINK}
  3662. var
  3663.   _UuidHash: Pointer;
  3664. function UuidHash;
  3665. begin
  3666.   GetProcedureAddress(_UuidHash, rpclib, 'UuidHash');
  3667.   asm
  3668.     mov esp, ebp
  3669.     pop ebp
  3670.     jmp [_UuidHash]
  3671.   end;
  3672. end;
  3673. {$ELSE}
  3674. function UuidHash; external rpclib name 'UuidHash';
  3675. {$ENDIF DYNAMIC_LINK}
  3676. {$IFDEF DYNAMIC_LINK}
  3677. var
  3678.   _UuidIsNil: Pointer;
  3679. function UuidIsNil;
  3680. begin
  3681.   GetProcedureAddress(_UuidIsNil, rpclib, 'UuidIsNil');
  3682.   asm
  3683.     mov esp, ebp
  3684.     pop ebp
  3685.     jmp [_UuidIsNil]
  3686.   end;
  3687. end;
  3688. {$ELSE}
  3689. function UuidIsNil; external rpclib name 'UuidIsNil';
  3690. {$ENDIF DYNAMIC_LINK}
  3691. {$IFDEF DYNAMIC_LINK}
  3692. var
  3693.   _RpcEpRegisterNoReplaceA: Pointer;
  3694. function RpcEpRegisterNoReplaceA;
  3695. begin
  3696.   GetProcedureAddress(_RpcEpRegisterNoReplaceA, rpclib, 'RpcEpRegisterNoReplaceA');
  3697.   asm
  3698.     mov esp, ebp
  3699.     pop ebp
  3700.     jmp [_RpcEpRegisterNoReplaceA]
  3701.   end;
  3702. end;
  3703. {$ELSE}
  3704. function RpcEpRegisterNoReplaceA; external rpclib name 'RpcEpRegisterNoReplaceA';
  3705. {$ENDIF DYNAMIC_LINK}
  3706. {$IFDEF DYNAMIC_LINK}
  3707. var
  3708.   _RpcEpRegisterNoReplaceW: Pointer;
  3709. function RpcEpRegisterNoReplaceW;
  3710. begin
  3711.   GetProcedureAddress(_RpcEpRegisterNoReplaceW, rpclib, 'RpcEpRegisterNoReplaceW');
  3712.   asm
  3713.     mov esp, ebp
  3714.     pop ebp
  3715.     jmp [_RpcEpRegisterNoReplaceW]
  3716.   end;
  3717. end;
  3718. {$ELSE}
  3719. function RpcEpRegisterNoReplaceW; external rpclib name 'RpcEpRegisterNoReplaceW';
  3720. {$ENDIF DYNAMIC_LINK}
  3721. {$IFDEF UNICODE}
  3722. {$IFDEF DYNAMIC_LINK}
  3723. var
  3724.   _RpcEpRegisterNoReplace: Pointer;
  3725. function RpcEpRegisterNoReplace;
  3726. begin
  3727.   GetProcedureAddress(_RpcEpRegisterNoReplace, rpclib, 'RpcEpRegisterNoReplaceW');
  3728.   asm
  3729.     mov esp, ebp
  3730.     pop ebp
  3731.     jmp [_RpcEpRegisterNoReplace]
  3732.   end;
  3733. end;
  3734. {$ELSE}
  3735. function RpcEpRegisterNoReplace; external rpclib name 'RpcEpRegisterNoReplaceW';
  3736. {$ENDIF DYNAMIC_LINK}
  3737. {$ELSE}
  3738. {$IFDEF DYNAMIC_LINK}
  3739. var
  3740.   _RpcEpRegisterNoReplace: Pointer;
  3741. function RpcEpRegisterNoReplace;
  3742. begin
  3743.   GetProcedureAddress(_RpcEpRegisterNoReplace, rpclib, 'RpcEpRegisterNoReplaceA');
  3744.   asm
  3745.     mov esp, ebp
  3746.     pop ebp
  3747.     jmp [_RpcEpRegisterNoReplace]
  3748.   end;
  3749. end;
  3750. {$ELSE}
  3751. function RpcEpRegisterNoReplace; external rpclib name 'RpcEpRegisterNoReplaceA';
  3752. {$ENDIF DYNAMIC_LINK}
  3753. {$ENDIF}
  3754. {$IFDEF DYNAMIC_LINK}
  3755. var
  3756.   _RpcEpRegisterA: Pointer;
  3757. function RpcEpRegisterA;
  3758. begin
  3759.   GetProcedureAddress(_RpcEpRegisterA, rpclib, 'RpcEpRegisterA');
  3760.   asm
  3761.     mov esp, ebp
  3762.     pop ebp
  3763.     jmp [_RpcEpRegisterA]
  3764.   end;
  3765. end;
  3766. {$ELSE}
  3767. function RpcEpRegisterA; external rpclib name 'RpcEpRegisterA';
  3768. {$ENDIF DYNAMIC_LINK}
  3769. {$IFDEF DYNAMIC_LINK}
  3770. var
  3771.   _RpcEpRegisterW: Pointer;
  3772. function RpcEpRegisterW;
  3773. begin
  3774.   GetProcedureAddress(_RpcEpRegisterW, rpclib, 'RpcEpRegisterW');
  3775.   asm
  3776.     mov esp, ebp
  3777.     pop ebp
  3778.     jmp [_RpcEpRegisterW]
  3779.   end;
  3780. end;
  3781. {$ELSE}
  3782. function RpcEpRegisterW; external rpclib name 'RpcEpRegisterW';
  3783. {$ENDIF DYNAMIC_LINK}
  3784. {$IFDEF UNICODE}
  3785. {$IFDEF DYNAMIC_LINK}
  3786. var
  3787.   _RpcEpRegister: Pointer;
  3788. function RpcEpRegister;
  3789. begin
  3790.   GetProcedureAddress(_RpcEpRegister, rpclib, 'RpcEpRegisterW');
  3791.   asm
  3792.     mov esp, ebp
  3793.     pop ebp
  3794.     jmp [_RpcEpRegister]
  3795.   end;
  3796. end;
  3797. {$ELSE}
  3798. function RpcEpRegister; external rpclib name 'RpcEpRegisterW';
  3799. {$ENDIF DYNAMIC_LINK}
  3800. {$ELSE}
  3801. {$IFDEF DYNAMIC_LINK}
  3802. var
  3803.   _RpcEpRegister: Pointer;
  3804. function RpcEpRegister;
  3805. begin
  3806.   GetProcedureAddress(_RpcEpRegister, rpclib, 'RpcEpRegisterA');
  3807.   asm
  3808.     mov esp, ebp
  3809.     pop ebp
  3810.     jmp [_RpcEpRegister]
  3811.   end;
  3812. end;
  3813. {$ELSE}
  3814. function RpcEpRegister; external rpclib name 'RpcEpRegisterA';
  3815. {$ENDIF DYNAMIC_LINK}
  3816. {$ENDIF}
  3817. {$IFDEF DYNAMIC_LINK}
  3818. var
  3819.   _RpcEpUnregister: Pointer;
  3820. function RpcEpUnregister;
  3821. begin
  3822.   GetProcedureAddress(_RpcEpUnregister, rpclib, 'RpcEpUnregister');
  3823.   asm
  3824.     mov esp, ebp
  3825.     pop ebp
  3826.     jmp [_RpcEpUnregister]
  3827.   end;
  3828. end;
  3829. {$ELSE}
  3830. function RpcEpUnregister; external rpclib name 'RpcEpUnregister';
  3831. {$ENDIF DYNAMIC_LINK}
  3832. {$IFDEF DYNAMIC_LINK}
  3833. var
  3834.   _DceErrorInqTextA: Pointer;
  3835. function DceErrorInqTextA;
  3836. begin
  3837.   GetProcedureAddress(_DceErrorInqTextA, rpclib, 'DceErrorInqTextA');
  3838.   asm
  3839.     mov esp, ebp
  3840.     pop ebp
  3841.     jmp [_DceErrorInqTextA]
  3842.   end;
  3843. end;
  3844. {$ELSE}
  3845. function DceErrorInqTextA; external rpclib name 'DceErrorInqTextA';
  3846. {$ENDIF DYNAMIC_LINK}
  3847. {$IFDEF DYNAMIC_LINK}
  3848. var
  3849.   _DceErrorInqTextW: Pointer;
  3850. function DceErrorInqTextW;
  3851. begin
  3852.   GetProcedureAddress(_DceErrorInqTextW, rpclib, 'DceErrorInqTextW');
  3853.   asm
  3854.     mov esp, ebp
  3855.     pop ebp
  3856.     jmp [_DceErrorInqTextW]
  3857.   end;
  3858. end;
  3859. {$ELSE}
  3860. function DceErrorInqTextW; external rpclib name 'DceErrorInqTextW';
  3861. {$ENDIF DYNAMIC_LINK}
  3862. {$IFDEF UNICODE}
  3863. {$IFDEF DYNAMIC_LINK}
  3864. var
  3865.   _DceErrorInqText: Pointer;
  3866. function DceErrorInqText;
  3867. begin
  3868.   GetProcedureAddress(_DceErrorInqText, rpclib, 'DceErrorInqTextW');
  3869.   asm
  3870.     mov esp, ebp
  3871.     pop ebp
  3872.     jmp [_DceErrorInqText]
  3873.   end;
  3874. end;
  3875. {$ELSE}
  3876. function DceErrorInqText; external rpclib name 'DceErrorInqTextW';
  3877. {$ENDIF DYNAMIC_LINK}
  3878. {$ELSE}
  3879. {$IFDEF DYNAMIC_LINK}
  3880. var
  3881.   _DceErrorInqText: Pointer;
  3882. function DceErrorInqText;
  3883. begin
  3884.   GetProcedureAddress(_DceErrorInqText, rpclib, 'DceErrorInqTextA');
  3885.   asm
  3886.     mov esp, ebp
  3887.     pop ebp
  3888.     jmp [_DceErrorInqText]
  3889.   end;
  3890. end;
  3891. {$ELSE}
  3892. function DceErrorInqText; external rpclib name 'DceErrorInqTextA';
  3893. {$ENDIF DYNAMIC_LINK}
  3894. {$ENDIF}
  3895. {$IFDEF DYNAMIC_LINK}
  3896. var
  3897.   _RpcMgmtEpEltInqBegin: Pointer;
  3898. function RpcMgmtEpEltInqBegin;
  3899. begin
  3900.   GetProcedureAddress(_RpcMgmtEpEltInqBegin, rpclib, 'RpcMgmtEpEltInqBegin');
  3901.   asm
  3902.     mov esp, ebp
  3903.     pop ebp
  3904.     jmp [_RpcMgmtEpEltInqBegin]
  3905.   end;
  3906. end;
  3907. {$ELSE}
  3908. function RpcMgmtEpEltInqBegin; external rpclib name 'RpcMgmtEpEltInqBegin';
  3909. {$ENDIF DYNAMIC_LINK}
  3910. {$IFDEF DYNAMIC_LINK}
  3911. var
  3912.   _RpcMgmtEpEltInqDone: Pointer;
  3913. function RpcMgmtEpEltInqDone;
  3914. begin
  3915.   GetProcedureAddress(_RpcMgmtEpEltInqDone, rpclib, 'RpcMgmtEpEltInqDone');
  3916.   asm
  3917.     mov esp, ebp
  3918.     pop ebp
  3919.     jmp [_RpcMgmtEpEltInqDone]
  3920.   end;
  3921. end;
  3922. {$ELSE}
  3923. function RpcMgmtEpEltInqDone; external rpclib name 'RpcMgmtEpEltInqDone';
  3924. {$ENDIF DYNAMIC_LINK}
  3925. {$IFDEF DYNAMIC_LINK}
  3926. var
  3927.   _RpcMgmtEpEltInqNextA: Pointer;
  3928. function RpcMgmtEpEltInqNextA;
  3929. begin
  3930.   GetProcedureAddress(_RpcMgmtEpEltInqNextA, rpclib, 'RpcMgmtEpEltInqNextA');
  3931.   asm
  3932.     mov esp, ebp
  3933.     pop ebp
  3934.     jmp [_RpcMgmtEpEltInqNextA]
  3935.   end;
  3936. end;
  3937. {$ELSE}
  3938. function RpcMgmtEpEltInqNextA; external rpclib name 'RpcMgmtEpEltInqNextA';
  3939. {$ENDIF DYNAMIC_LINK}
  3940. {$IFDEF DYNAMIC_LINK}
  3941. var
  3942.   _RpcMgmtEpEltInqNextW: Pointer;
  3943. function RpcMgmtEpEltInqNextW;
  3944. begin
  3945.   GetProcedureAddress(_RpcMgmtEpEltInqNextW, rpclib, 'RpcMgmtEpEltInqNextW');
  3946.   asm
  3947.     mov esp, ebp
  3948.     pop ebp
  3949.     jmp [_RpcMgmtEpEltInqNextW]
  3950.   end;
  3951. end;
  3952. {$ELSE}
  3953. function RpcMgmtEpEltInqNextW; external rpclib name 'RpcMgmtEpEltInqNextW';
  3954. {$ENDIF DYNAMIC_LINK}
  3955. {$IFDEF UNICODE}
  3956. {$IFDEF DYNAMIC_LINK}
  3957. var
  3958.   _RpcMgmtEpEltInqNext: Pointer;
  3959. function RpcMgmtEpEltInqNext;
  3960. begin
  3961.   GetProcedureAddress(_RpcMgmtEpEltInqNext, rpclib, 'RpcMgmtEpEltInqNextW');
  3962.   asm
  3963.     mov esp, ebp
  3964.     pop ebp
  3965.     jmp [_RpcMgmtEpEltInqNext]
  3966.   end;
  3967. end;
  3968. {$ELSE}
  3969. function RpcMgmtEpEltInqNext; external rpclib name 'RpcMgmtEpEltInqNextW';
  3970. {$ENDIF DYNAMIC_LINK}
  3971. {$ELSE}
  3972. {$IFDEF DYNAMIC_LINK}
  3973. var
  3974.   _RpcMgmtEpEltInqNext: Pointer;
  3975. function RpcMgmtEpEltInqNext;
  3976. begin
  3977.   GetProcedureAddress(_RpcMgmtEpEltInqNext, rpclib, 'RpcMgmtEpEltInqNextA');
  3978.   asm
  3979.     mov esp, ebp
  3980.     pop ebp
  3981.     jmp [_RpcMgmtEpEltInqNext]
  3982.   end;
  3983. end;
  3984. {$ELSE}
  3985. function RpcMgmtEpEltInqNext; external rpclib name 'RpcMgmtEpEltInqNextA';
  3986. {$ENDIF DYNAMIC_LINK}
  3987. {$ENDIF}
  3988. {$IFDEF DYNAMIC_LINK}
  3989. var
  3990.   _RpcMgmtEpUnregister: Pointer;
  3991. function RpcMgmtEpUnregister;
  3992. begin
  3993.   GetProcedureAddress(_RpcMgmtEpUnregister, rpclib, 'RpcMgmtEpUnregister');
  3994.   asm
  3995.     mov esp, ebp
  3996.     pop ebp
  3997.     jmp [_RpcMgmtEpUnregister]
  3998.   end;
  3999. end;
  4000. {$ELSE}
  4001. function RpcMgmtEpUnregister; external rpclib name 'RpcMgmtEpUnregister';
  4002. {$ENDIF DYNAMIC_LINK}
  4003. {$IFDEF DYNAMIC_LINK}
  4004. var
  4005.   _RpcMgmtSetAuthorizationFn: Pointer;
  4006. function RpcMgmtSetAuthorizationFn;
  4007. begin
  4008.   GetProcedureAddress(_RpcMgmtSetAuthorizationFn, rpclib, 'RpcMgmtSetAuthorizationFn');
  4009.   asm
  4010.     mov esp, ebp
  4011.     pop ebp
  4012.     jmp [_RpcMgmtSetAuthorizationFn]
  4013.   end;
  4014. end;
  4015. {$ELSE}
  4016. function RpcMgmtSetAuthorizationFn; external rpclib name 'RpcMgmtSetAuthorizationFn';
  4017. {$ENDIF DYNAMIC_LINK}
  4018. end.