MODULE WinRpc ["RPCRT4.dll"];
(**

   project   = "BlackBox"
   organization   = "www.oberon.ch"
   contributors   = "Oberon microsystems"
   version   = "System/Rsrc/About"
   copyright   = "System/Rsrc/About"
   license   = "Docu/BB-License"
   changes   = ""
   issues   = ""

**)

   IMPORT SYSTEM, WinOle, COM, WinApi;

   CONST (* macros *)

      RPC_C_BINDING_INFINITE_TIMEOUT* = 10;
      RPC_C_BINDING_MIN_TIMEOUT* = 0;
      RPC_C_BINDING_DEFAULT_TIMEOUT* = 5;
      RPC_C_BINDING_MAX_TIMEOUT* = 9;
      RPC_C_CANCEL_INFINITE_TIMEOUT* = -1;
      RPC_C_LISTEN_MAX_CALLS_DEFAULT* = 1234;
      RPC_C_PROTSEQ_MAX_REQS_DEFAULT* = 10;
      RPC_C_STATS_CALLS_IN* = 0;
      RPC_C_STATS_CALLS_OUT* = 1;
      RPC_C_STATS_PKTS_IN* = 2;
      RPC_C_STATS_PKTS_OUT* = 3;
      RPC_C_AUTHN_LEVEL_DEFAULT* = 0;
      RPC_C_AUTHN_LEVEL_NONE* = 1;
      RPC_C_AUTHN_LEVEL_CONNECT* = 2;
      RPC_C_AUTHN_LEVEL_CALL* = 3;
      RPC_C_AUTHN_LEVEL_PKT* = 4;
      RPC_C_AUTHN_LEVEL_PKT_INTEGRITY* = 5;
      RPC_C_AUTHN_LEVEL_PKT_PRIVACY* = 6;
      RPC_C_IMP_LEVEL_ANONYMOUS* = 1;
      RPC_C_IMP_LEVEL_IDENTIFY* = 2;
      RPC_C_IMP_LEVEL_IMPERSONATE* = 3;
      RPC_C_IMP_LEVEL_DELEGATE* = 4;
      RPC_C_PROTECT_LEVEL_DEFAULT* = 0;
      RPC_C_PROTECT_LEVEL_NONE* = 1;
      RPC_C_PROTECT_LEVEL_CONNECT* = 2;
      RPC_C_PROTECT_LEVEL_CALL* = 3;
      RPC_C_PROTECT_LEVEL_PKT* = 4;
      RPC_C_PROTECT_LEVEL_PKT_INTEGRITY* = 5;
      RPC_C_PROTECT_LEVEL_PKT_PRIVACY* = 6;
      RPC_C_AUTHN_NONE* = 0;
      RPC_C_AUTHN_DCE_PRIVATE* = 1;
      RPC_C_AUTHN_DCE_PUBLIC* = 2;
      RPC_C_AUTHN_DEC_PUBLIC* = 4;
      RPC_C_AUTHN_WINNT* = 10;
      RPC_C_AUTHN_DEFAULT* = -1;
      SEC_WINNT_AUTH_IDENTITY_ANSI* = 1;
      SEC_WINNT_AUTH_IDENTITY_UNICODE* = 2;
      RPC_C_AUTHZ_NONE* = 0;
      RPC_C_AUTHZ_NAME* = 1;
      RPC_C_AUTHZ_DCE* = 2;
      DCE_C_ERROR_STRING_LEN* = 256;
      RPC_C_EP_ALL_ELTS* = 0;
      RPC_C_EP_MATCH_BY_IF* = 1;
      RPC_C_EP_MATCH_BY_OBJ* = 2;
      RPC_C_EP_MATCH_BY_BOTH* = 3;
      RPC_C_VERS_ALL* = 1;
      RPC_C_VERS_COMPATIBLE* = 2;
      RPC_C_VERS_EXACT* = 3;
      RPC_C_VERS_MAJOR_ONLY* = 4;
      RPC_C_VERS_UPTO* = 5;
      RPC_C_MGMT_INQ_IF_IDS* = 0;
      RPC_C_MGMT_INQ_PRINC_NAME* = 1;
      RPC_C_MGMT_INQ_STATS* = 2;
      RPC_C_MGMT_IS_SERVER_LISTEN* = 3;
      RPC_C_MGMT_STOP_SERVER_LISTEN* = 4;
      RPC_C_PARM_MAX_PACKET_LENGTH* = 1;
      RPC_C_PARM_BUFFER_LENGTH* = 2;
      RPC_IF_AUTOLISTEN* = 1;
      RPC_IF_OLE* = 2;
      RPC_NCA_FLAGS_DEFAULT* = {};
      RPC_NCA_FLAGS_IDEMPOTENT* = {0};
      RPC_NCA_FLAGS_BROADCAST* = {1};
      RPC_NCA_FLAGS_MAYBE* = {2};
      RPCFLG_ASYNCHRONOUS* = {30};
      RPCFLG_INPUT_SYNCHRONOUS* = {29};
      RPC_FLAGS_VALID_BIT* = {15};
      TRANSPORT_TYPE_CN* = 1;
      TRANSPORT_TYPE_DG* = 2;
      TRANSPORT_TYPE_LPC* = 4;
      TRANSPORT_TYPE_WMSG* = 8;
      RPC_C_NS_SYNTAX_DEFAULT* = 0;
      RPC_C_NS_SYNTAX_DCE* = 3;
      RPC_C_PROFILE_DEFAULT_ELT* = 0;
      RPC_C_PROFILE_ALL_ELT* = 1;
      RPC_C_PROFILE_MATCH_BY_IF* = 2;
      RPC_C_PROFILE_MATCH_BY_MBR* = 3;
      RPC_C_PROFILE_MATCH_BY_BOTH* = 4;
      RPC_C_NS_DEFAULT_EXP_AGE* = -1;
      RPC_S_OK* = 0;
      RPC_S_INVALID_ARG* = 87;
      RPC_S_OUT_OF_MEMORY* = 14;
      RPC_S_OUT_OF_THREADS* = 164;
      RPC_S_INVALID_LEVEL* = 87;
      RPC_S_BUFFER_TOO_SMALL* = 122;
      RPC_S_INVALID_SECURITY_DESC* = 1338;
      RPC_S_ACCESS_DENIED* = 5;
      RPC_S_SERVER_OUT_OF_MEMORY* = 1130;
      RPC_X_NO_MEMORY* = 14;
      RPC_X_INVALID_BOUND* = 1734;
      RPC_X_INVALID_TAG* = 1733;
      RPC_X_ENUM_VALUE_TOO_LARGE* = 1781;
      RPC_X_SS_CONTEXT_MISMATCH* = 6;
      RPC_X_INVALID_BUFFER* = 1784;
      NDR_CHAR_REP_MASK* = 15;
      NDR_INT_REP_MASK* = 240;
      NDR_FLOAT_REP_MASK* = 65280;
      NDR_LITTLE_ENDIAN* = 16;
      NDR_BIG_ENDIAN* = 0;
      NDR_IEEE_FLOAT* = 0;
      NDR_VAX_FLOAT* = 256;
      NDR_ASCII_CHAR* = 0;
      NDR_EBCDIC_CHAR* = 1;
      NDR_LOCAL_DATA_REPRESENTATION* = 16;
      NDR_LOCAL_ENDIAN* = 16;
      cbNDRContext* = 20;
      USER_MARSHAL_FC_BYTE* = 1;
      USER_MARSHAL_FC_CHAR* = 2;
      USER_MARSHAL_FC_SMALL* = 3;
      USER_MARSHAL_FC_USMALL* = 4;
      USER_MARSHAL_FC_WCHAR* = 5;
      USER_MARSHAL_FC_SHORT* = 6;
      USER_MARSHAL_FC_USHORT* = 7;
      USER_MARSHAL_FC_LONG* = 8;
      USER_MARSHAL_FC_ULONG* = 9;
      USER_MARSHAL_FC_FLOAT* = 10;
      USER_MARSHAL_FC_HYPER* = 11;
      USER_MARSHAL_FC_DOUBLE* = 12;
   CONST (* enumerations *)

      XLAT_SERVER* = 1;
      XLAT_CLIENT* = 2;
      STUB_UNMARSHAL* = 0;
      STUB_CALL_SERVER* = 1;
      STUB_MARSHAL* = 2;
      STUB_CALL_SERVER_NO_HRESULT* = 3;
      PROXY_CALCSIZE* = 0;
      PROXY_GETBUFFER* = 1;
      PROXY_MARSHAL* = 2;
      PROXY_SENDRECEIVE* = 3;
      PROXY_UNMARSHAL* = 4;
   TYPE

      RPC_STATUS* = INTEGER;
      RPC_BINDING_VECTOR* = RECORD [untagged]
         Count*: INTEGER;
         BindingH*: ARRAY [untagged] 1 OF WinApi.PtrVoid;
      END;
      PtrRPC_BINDING_VECTOR* = POINTER TO RPC_BINDING_VECTOR;
      rpc_binding_vector_t* = RPC_BINDING_VECTOR; (*m*)
      Ptrrpc_binding_vector_t* = PtrRPC_BINDING_VECTOR;
      UUID_VECTOR* = RECORD [untagged]
         Count*: INTEGER;
         Uuid*: ARRAY [untagged] 1 OF POINTER TO (*?*) ARRAY [untagged] OF COM.GUID;
      END;
      PtrUUID_VECTOR* = POINTER TO UUID_VECTOR;
      uuid_vector_t* = UUID_VECTOR; (*m*)
      Ptruuid_vector_t* = PtrUUID_VECTOR;
      RPC_IF_ID* = RECORD [untagged]
         Uuid*: COM.GUID;
         VersMajor*: SHORTINT;
         VersMinor*: SHORTINT;
      END;
      PtrRPC_IF_ID* = POINTER TO RPC_IF_ID;
      RPC_PROTSEQ_VECTORA* = RECORD [untagged]
         Count*: INTEGER;
         Protseq*: ARRAY [untagged] 1 OF WinApi.PtrSTR;
      END;
      PtrRPC_PROTSEQ_VECTORA* = POINTER TO RPC_PROTSEQ_VECTORA;
      RPC_PROTSEQ_VECTORW* = RECORD [untagged]
         Count*: INTEGER;
         Protseq*: ARRAY [untagged] 1 OF POINTER TO (*?*) ARRAY [untagged] OF SHORTINT;
      END;
      PtrRPC_PROTSEQ_VECTORW* = POINTER TO RPC_PROTSEQ_VECTORW;
      RPC_PROTSEQ_VECTOR* = RPC_PROTSEQ_VECTORA; (*m*)
      PtrRPC_PROTSEQ_VECTOR* = PtrRPC_PROTSEQ_VECTORA;
      RPC_OBJECT_INQ_FN* = PROCEDURE(VAR [nil] ObjectUuid: COM.GUID; VAR [nil] TypeUuid: COM.GUID; VAR [nil] Status: RPC_STATUS);
      RPC_IF_CALLBACK_FN* = PROCEDURE(InterfaceUuid: WinApi.PtrVoid; Context: WinApi.PtrVoid): RPC_STATUS;
      RPC_STATS_VECTOR* = RECORD [untagged]
         Count*: INTEGER;
         Stats*: ARRAY [untagged] 1 OF INTEGER;
      END;
      PtrRPC_STATS_VECTOR* = POINTER TO RPC_STATS_VECTOR;
      RPC_IF_ID_VECTOR* = RECORD [untagged]
         Count*: INTEGER;
         IfId*: ARRAY [untagged] 1 OF PtrRPC_IF_ID;
      END;
      PtrRPC_IF_ID_VECTOR* = POINTER TO RPC_IF_ID_VECTOR;
      SEC_WINNT_AUTH_IDENTITY_W* = RECORD [untagged]
         User*: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT;
         UserLength*: INTEGER;
         Domain*: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT;
         DomainLength*: INTEGER;
         Password*: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT;
         PasswordLength*: INTEGER;
         Flags*: SET;
      END;
      PtrSEC_WINNT_AUTH_IDENTITY_W* = POINTER TO SEC_WINNT_AUTH_IDENTITY_W;
      SEC_WINNT_AUTH_IDENTITY_A* = RECORD [untagged]
         User*: WinApi.PtrSTR;
         UserLength*: INTEGER;
         Domain*: WinApi.PtrSTR;
         DomainLength*: INTEGER;
         Password*: WinApi.PtrSTR;
         PasswordLength*: INTEGER;
         Flags*: SET;
      END;
      PtrSEC_WINNT_AUTH_IDENTITY_A* = POINTER TO SEC_WINNT_AUTH_IDENTITY_A;
      SEC_WINNT_AUTH_IDENTITY* = SEC_WINNT_AUTH_IDENTITY_A; (*m*)
      PtrSEC_WINNT_AUTH_IDENTITY* = PtrSEC_WINNT_AUTH_IDENTITY_A;
      _SEC_WINNT_AUTH_IDENTITY* = SEC_WINNT_AUTH_IDENTITY_A; (*m*)
      Ptr_SEC_WINNT_AUTH_IDENTITY* = PtrSEC_WINNT_AUTH_IDENTITY_A;
      RPC_AUTH_KEY_RETRIEVAL_FN* = PROCEDURE (Arg: WinApi.PtrVoid; VAR [nil] ServerPrincName: SHORTINT; KeyVer: INTEGER; VAR [nil] Key: WinApi.PtrVoid; VAR [nil] Status: RPC_STATUS);
      RPC_CLIENT_INFORMATION1* = RECORD [untagged]
         UserName*: WinApi.PtrSTR;
         ComputerName*: WinApi.PtrSTR;
         Privilege*: SHORTINT;
         AuthFlags*: INTEGER;
      END;
      PtrRPC_CLIENT_INFORMATION1* = POINTER TO RPC_CLIENT_INFORMATION1;
      RPC_MGMT_AUTHORIZATION_FN* = PROCEDURE (ClientBinding: WinApi.PtrVoid; RequestedMgmtOperation: INTEGER; VAR [nil] Status: RPC_STATUS): INTEGER;
      RPC_VERSION* = RECORD [untagged]
         MajorVersion*: SHORTINT;
         MinorVersion*: SHORTINT;
      END;
      PtrRPC_VERSION* = POINTER TO RPC_VERSION;
      RPC_SYNTAX_IDENTIFIER* = RECORD [untagged]
         SyntaxGUID*: COM.GUID;
         SyntaxVersion*: RPC_VERSION;
      END;
      PtrRPC_SYNTAX_IDENTIFIER* = POINTER TO RPC_SYNTAX_IDENTIFIER;
      RPC_MESSAGE* = RECORD [untagged]
         Handle*: WinApi.PtrVoid;
         DataRepresentation*: INTEGER;
         Buffer*: WinApi.PtrVoid;
         BufferLength*: INTEGER;
         ProcNum*: INTEGER;
         TransferSyntax*: PtrRPC_SYNTAX_IDENTIFIER;
         RpcInterfaceInformation*: WinApi.PtrVoid;
         ReservedForRuntime*: WinApi.PtrVoid;
         ManagerEpv*: WinApi.PtrVoid;
         ImportContext*: WinApi.PtrVoid;
         RpcFlags*: INTEGER;
      END;
      PtrRPC_MESSAGE* = POINTER TO RPC_MESSAGE;
      RPC_FORWARD_FUNCTION* = PROCEDURE(VAR [nil] InterfaceId: COM.GUID; VAR [nil] InterfaceVersion: RPC_VERSION; VAR [nil] ObjectId: COM.GUID; Rpcpro: WinApi.PtrSTR; VAR [nil] ppDestEndpoint: WinApi.PtrVoid): RPC_STATUS;
      RPC_DISPATCH_FUNCTION* = PROCEDURE (VAR [nil] Message: RPC_MESSAGE);
      RPC_DISPATCH_TABLE* = RECORD [untagged]
         DispatchTableCount*: INTEGER;
         DispatchTable*: POINTER TO (*?*) ARRAY [untagged] OF RPC_DISPATCH_FUNCTION;
         Reserved*: INTEGER;
      END;
      PtrRPC_DISPATCH_TABLE* = POINTER TO RPC_DISPATCH_TABLE;
      RPC_PROTSEQ_ENDPOINT* = RECORD [untagged]
         RpcProtocolSequence*: WinApi.PtrSTR;
         Endpoint*: WinApi.PtrSTR;
      END;
      PtrRPC_PROTSEQ_ENDPOINT* = POINTER TO RPC_PROTSEQ_ENDPOINT;
      RPC_SERVER_INTERFACE* = RECORD [untagged]
         Length*: INTEGER;
         InterfaceId*: RPC_SYNTAX_IDENTIFIER;
         TransferSyntax*: RPC_SYNTAX_IDENTIFIER;
         DispatchTable*: PtrRPC_DISPATCH_TABLE;
         RpcProtseqEndpointCount*: INTEGER;
         RpcProtseqEndpoint*: PtrRPC_PROTSEQ_ENDPOINT;
         DefaultManagerEpv*: WinApi.PtrVoid;
         InterpreterInfo*: WinApi.PtrVoid;
      END;
      PtrRPC_SERVER_INTERFACE* = POINTER TO RPC_SERVER_INTERFACE;
      RPC_CLIENT_INTERFACE* = RECORD [untagged]
         Length*: INTEGER;
         InterfaceId*: RPC_SYNTAX_IDENTIFIER;
         TransferSyntax*: RPC_SYNTAX_IDENTIFIER;
         DispatchTable*: PtrRPC_DISPATCH_TABLE;
         RpcProtseqEndpointCount*: INTEGER;
         RpcProtseqEndpoint*: PtrRPC_PROTSEQ_ENDPOINT;
         Reserved*: INTEGER;
         InterpreterInfo*: WinApi.PtrVoid;
      END;
      PtrRPC_CLIENT_INTERFACE* = POINTER TO RPC_CLIENT_INTERFACE;
      RPC_RUNDOWN* = PROCEDURE (AssociationContext: WinApi.PtrVoid);
      RPC_TRANSFER_SYNTAX* = RECORD [untagged]
         Uuid*: COM.GUID;
         VersMajor*: SHORTINT;
         VersMinor*: SHORTINT;
      END;
      PtrRPC_TRANSFER_SYNTAX* = POINTER TO RPC_TRANSFER_SYNTAX;
      RPC_IMPORT_CONTEXT_P* = RECORD [untagged]
         LookupContext*: WinApi.PtrVoid;
         ProposedHandle*: WinApi.PtrVoid;
         Bindings*: PtrRPC_BINDING_VECTOR;
      END;
      PtrRPC_IMPORT_CONTEXT_P* = POINTER TO RPC_IMPORT_CONTEXT_P;
      boolean* = SHORTCHAR;
      NDR_SCONTEXT* = POINTER TO RECORD [untagged]
         pad*: ARRAY [untagged] 2 OF WinApi.PtrVoid;
         userContext*: WinApi.PtrVoid;
      END;
      NDR_RUNDOWN* = PROCEDURE (context: WinApi.PtrVoid);
      SCONTEXT_QUEUE* = RECORD [untagged]
         NumberOfObjects*: INTEGER;
         ArrayOfObjects*: POINTER TO (*?*) ARRAY [untagged] OF NDR_SCONTEXT;
      END;
      PtrSCONTEXT_QUEUE* = POINTER TO SCONTEXT_QUEUE;
      error_status_t* = INTEGER;
      RPC_LENGTH* = INTEGER;
      PtrMIDL_STUB_MESSAGE* = POINTER TO MIDL_STUB_MESSAGE;
      EXPR_EVAL* = PROCEDURE (p0: PtrMIDL_STUB_MESSAGE);
      ARRAY_INFO* = RECORD [untagged]
         Dimension*: INTEGER;
         BufferConformanceMark*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
         BufferVarianceMark*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
         MaxCountArray*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
         OffsetArray*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
         ActualCountArray*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
      END;
      PtrARRAY_INFO* = POINTER TO ARRAY_INFO;
      PtrMIDL_STUB_DESC* = POINTER TO MIDL_STUB_DESC;
      PtrFULL_PTR_XLAT_TABLES* = POINTER TO FULL_PTR_XLAT_TABLES;
      MIDL_STUB_MESSAGE* = RECORD [untagged]
         RpcMsg*: PtrRPC_MESSAGE;
         Buffer*: WinApi.PtrSTR;
         BufferStart*: WinApi.PtrSTR;
         BufferEnd*: WinApi.PtrSTR;
         BufferMark*: WinApi.PtrSTR;
         BufferLength*: INTEGER;
         MemorySize*: INTEGER;
         Memory*: WinApi.PtrSTR;
         IsClient*: INTEGER;
         ReuseBuffer*: INTEGER;
         AllocAllNodesMemory*: WinApi.PtrSTR;
         AllocAllNodesMemoryEnd*: WinApi.PtrSTR;
         IgnoreEmbeddedPointers*: INTEGER;
         PointerBufferMark*: WinApi.PtrSTR;
         fBufferValid*: SHORTCHAR;
         Unused*: SHORTCHAR;
         MaxCount*: INTEGER;
         Offset*: INTEGER;
         ActualCount*: INTEGER;
         pfnAllocate*: PROCEDURE (p0: INTEGER): WinApi.PtrVoid;
         pfnFree*: PROCEDURE (p0: WinApi.PtrVoid);
         StackTop*: WinApi.PtrSTR;
         pPresentedType*: WinApi.PtrSTR;
         pTransmitType*: WinApi.PtrSTR;
         SavedHandle*: WinApi.PtrVoid;
         StubDesc*: PtrMIDL_STUB_DESC;
         FullPtrXlatTables*: PtrFULL_PTR_XLAT_TABLES;
         FullPtrRefId*: INTEGER;
         fCheckBounds*: INTEGER;
         fBits0*: SET;
         (* fInDontFree*: LONGINT; (1 bits) *)
         (* fDontCallFreeInst*: LONGINT; (1 bits) *)
         (* fInOnlyParam*: LONGINT; (1 bits) *)
         (* fHasReturn*: LONGINT; (1 bits) *)
         dwDestContext*: INTEGER;
         pvDestContext*: WinApi.PtrVoid;
         SavedContextHandles*: POINTER TO (*?*) ARRAY [untagged] OF NDR_SCONTEXT;
         ParamNumber*: INTEGER;
         pRpcChannelBuffer*: WinOle.IRpcChannelBuffer;
         pArrayInfo*: PtrARRAY_INFO;
         SizePtrCountArray*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
         SizePtrOffsetArray*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
         SizePtrLengthArray*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
         pArgQueue*: WinApi.PtrVoid;
         dwStubPhase*: INTEGER;
         Reserved*: ARRAY [untagged] 5 OF INTEGER;
      END;
      GENERIC_BINDING_ROUTINE* = PROCEDURE (p0: WinApi.PtrVoid): WinApi.PtrVoid;
      GENERIC_UNBIND_ROUTINE* = PROCEDURE (p0: WinApi.PtrVoid; p1: WinApi.PtrSTR);
      GENERIC_BINDING_ROUTINE_PAIR* = RECORD [untagged]
         pfnBind*: GENERIC_BINDING_ROUTINE;
         pfnUnbind*: GENERIC_UNBIND_ROUTINE;
      END;
      PtrGENERIC_BINDING_ROUTINE_PAIR* = POINTER TO GENERIC_BINDING_ROUTINE_PAIR;
      GENERIC_BINDING_INFO* = RECORD [untagged]
         pObj*: WinApi.PtrVoid;
         Size*: INTEGER;
         pfnBind*: GENERIC_BINDING_ROUTINE;
         pfnUnbind*: GENERIC_UNBIND_ROUTINE;
      END;
      PtrGENERIC_BINDING_INFO* = POINTER TO GENERIC_BINDING_INFO;
      XMIT_HELPER_ROUTINE* = PROCEDURE (VAR [nil] p0: MIDL_STUB_MESSAGE);
      XMIT_ROUTINE_QUINTUPLE* = RECORD [untagged]
         pfnTranslateToXmit*: XMIT_HELPER_ROUTINE;
         pfnTranslateFromXmit*: XMIT_HELPER_ROUTINE;
         pfnFreeXmit*: XMIT_HELPER_ROUTINE;
         pfnFreeInst*: XMIT_HELPER_ROUTINE;
      END;
      PtrXMIT_ROUTINE_QUINTUPLE* = POINTER TO XMIT_ROUTINE_QUINTUPLE;
      USER_MARSHAL_SIZING_ROUTINE* = PROCEDURE (VAR [nil] p0: INTEGER; p1: INTEGER; p2: WinApi.PtrVoid): INTEGER;
      USER_MARSHAL_MARSHALLING_ROUTINE* = PROCEDURE (VAR [nil] p0: INTEGER; p1: WinApi.PtrSTR; p2: WinApi.PtrVoid): WinApi.PtrSTR;
      USER_MARSHAL_UNMARSHALLING_ROUTINE* = PROCEDURE (VAR [nil] p0: INTEGER; p1: WinApi.PtrSTR; p2: WinApi.PtrVoid): WinApi.PtrSTR;
      USER_MARSHAL_FREEING_ROUTINE* = PROCEDURE (VAR [nil] p0: INTEGER; p1: WinApi.PtrVoid);
      USER_MARSHAL_ROUTINE_QUADRUPLE* = RECORD [untagged]
         pfnBufferSize*: USER_MARSHAL_SIZING_ROUTINE;
         pfnMarshall*: USER_MARSHAL_MARSHALLING_ROUTINE;
         pfnUnmarshall*: USER_MARSHAL_UNMARSHALLING_ROUTINE;
         pfnFree*: USER_MARSHAL_FREEING_ROUTINE;
      END;
      PtrUSER_MARSHAL_ROUTINE_QUADRUPLE* = POINTER TO USER_MARSHAL_ROUTINE_QUADRUPLE;
      USER_MARSHAL_CB* = RECORD [untagged]
         Flags*: SET;
         pStubMsg*: PtrMIDL_STUB_MESSAGE;
         pReserve*: WinApi.PtrSTR;
      END;
      MALLOC_FREE_STRUCT* = RECORD [untagged]
         pfnAllocate*: PROCEDURE (p0: INTEGER): WinApi.PtrVoid;
         pfnFree*: PROCEDURE (p0: WinApi.PtrVoid);
      END;
      PtrMALLOC_FREE_STRUCT* = POINTER TO MALLOC_FREE_STRUCT;
      COMM_FAULT_OFFSETS* = RECORD [untagged]
         CommOffset*: SHORTINT;
         FaultOffset*: SHORTINT;
      END;
      PtrCOMM_FAULT_OFFSETS* = POINTER TO COMM_FAULT_OFFSETS;
      MIDL_STUB_DESC* = RECORD [untagged]
         RpcInterfaceInformation*: WinApi.PtrVoid;
         pfnAllocate*: PROCEDURE (p0: INTEGER): WinApi.PtrVoid;
         pfnFree*: PROCEDURE (p0: WinApi.PtrVoid);
         IMPLICIT_HANDLE_INFO*: RECORD [union]
            pAutoHandle*: POINTER TO (*?*) ARRAY [untagged] OF WinApi.PtrVoid;
            pPrimitiveHandle*: POINTER TO (*?*) ARRAY [untagged] OF WinApi.PtrVoid;
            pGenericBindingInfo*: PtrGENERIC_BINDING_INFO;
         END;
         apfnNdrRundownRoutines*: POINTER TO (*?*) ARRAY [untagged] OF NDR_RUNDOWN;
         aGenericBindingRoutinePairs*: PtrGENERIC_BINDING_ROUTINE_PAIR;
         apfnExprEval*: POINTER TO (*?*) ARRAY [untagged] OF EXPR_EVAL;
         aXmitQuintuple*: PtrXMIT_ROUTINE_QUINTUPLE;
         pFormatTypes*: WinApi.PtrSTR;
         fCheckBounds*: INTEGER;
         Version*: INTEGER;
         pMallocFreeStruct*: PtrMALLOC_FREE_STRUCT;
         MIDLVersion*: INTEGER;
         CommFaultOffsets*: PtrCOMM_FAULT_OFFSETS;
         aUserMarshalQuadruple*: PtrUSER_MARSHAL_ROUTINE_QUADRUPLE;
         Reserved1*: INTEGER;
         Reserved2*: INTEGER;
         Reserved3*: INTEGER;
         Reserved4*: INTEGER;
         Reserved5*: INTEGER;
      END;
      STUB_THUNK* = PROCEDURE (VAR [nil] p0: MIDL_STUB_MESSAGE);
      SERVER_ROUTINE* = PROCEDURE (): INTEGER;
      MIDL_SERVER_INFO* = RECORD [untagged]
         pStubDesc*: PtrMIDL_STUB_DESC;
         DispatchTable*: POINTER TO (*?*) ARRAY [untagged] OF SERVER_ROUTINE;
         ProcString*: WinApi.PtrSTR;
         FmtStringOffset*: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT;
         ThunkTable*: POINTER TO (*?*) ARRAY [untagged] OF STUB_THUNK;
      END;
      PtrMIDL_SERVER_INFO* = POINTER TO MIDL_SERVER_INFO;
      MIDL_STUBLESS_PROXY_INFO* = RECORD [untagged]
         pStubDesc*: PtrMIDL_STUB_DESC;
         ProcFormatString*: WinApi.PtrSTR;
         FormatStringOffset*: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT;
      END;
      PtrMIDL_STUBLESS_PROXY_INFO* = POINTER TO MIDL_STUBLESS_PROXY_INFO;
      CLIENT_CALL_RETURN* = RECORD [union]
         Pointer*: WinApi.PtrVoid;
         Simple*: INTEGER;
      END;
      XLAT_SIDE* = INTEGER;
      PtrFULL_PTR_TO_REFID_ELEMENT* = POINTER TO FULL_PTR_TO_REFID_ELEMENT;
      FULL_PTR_TO_REFID_ELEMENT* = RECORD [untagged]
         Next*: PtrFULL_PTR_TO_REFID_ELEMENT;
         Pointer*: WinApi.PtrVoid;
         RefId*: INTEGER;
         State*: SHORTCHAR;
      END;
      FULL_PTR_XLAT_TABLES* = RECORD [untagged]
         RefIdToPointer*: RECORD [untagged]
            XlatTable*: POINTER TO (*?*) ARRAY [untagged] OF WinApi.PtrVoid;
            StateTable*: WinApi.PtrSTR;
            NumberOfEntries*: INTEGER;
         END;
         PointerToRefId*: RECORD [untagged]
            XlatTable*: POINTER TO (*?*) ARRAY [untagged] OF PtrFULL_PTR_TO_REFID_ELEMENT;
            NumberOfBuckets*: INTEGER;
            HashMask*: INTEGER;
         END;
         NextRefId*: INTEGER;
         XlatSide*: XLAT_SIDE;
      END;
      STUB_PHASE* = INTEGER;
      PROXY_PHASE* = INTEGER;
      RPC_CLIENT_ALLOC* = PROCEDURE(Size: INTEGER): WinApi.PtrVoid;
      RPC_CLIENT_FREE* = PROCEDURE(Ptr: WinApi.PtrVoid);
   PROCEDURE RpcBindingCopy* (SourceBinding: WinApi.PtrVoid; VAR [nil] DestinationBinding: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcBindingCopy;*)
   PROCEDURE RpcBindingFree* (VAR [nil] Binding: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcBindingFree;*)
   PROCEDURE RpcBindingFromStringBindingA* (StringBinding: WinApi.PtrSTR; VAR [nil] Binding: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcBindingFromStringBindingA;*)
   PROCEDURE RpcBindingFromStringBindingW* (VAR [nil] StringBinding: SHORTINT; VAR [nil] Binding: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcBindingFromStringBindingW;*)
   PROCEDURE RpcBindingFromStringBinding* ["RpcBindingFromStringBindingA"] (StringBinding: WinApi.PtrSTR; VAR [nil] Binding: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcBindingFromStringBinding;*)
   PROCEDURE RpcBindingInqObject* (Binding: WinApi.PtrVoid; VAR [nil] ObjectUuid: COM.GUID): RPC_STATUS;

   (*END RpcBindingInqObject;*)
   PROCEDURE RpcBindingReset* (Binding: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcBindingReset;*)
   PROCEDURE RpcBindingSetObject* (Binding: WinApi.PtrVoid; VAR [nil] ObjectUuid: COM.GUID): RPC_STATUS;

   (*END RpcBindingSetObject;*)
   PROCEDURE RpcMgmtInqDefaultProtectLevel* (AuthnSvc: INTEGER; VAR [nil] AuthnLevel: INTEGER): RPC_STATUS;

   (*END RpcMgmtInqDefaultProtectLevel;*)
   PROCEDURE RpcBindingToStringBindingA* (Binding: WinApi.PtrVoid; VAR [nil] StringBinding: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcBindingToStringBindingA;*)
   PROCEDURE RpcBindingToStringBindingW* (Binding: WinApi.PtrVoid; VAR [nil] StringBinding: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT): RPC_STATUS;

   (*END RpcBindingToStringBindingW;*)
   PROCEDURE RpcBindingToStringBinding* ["RpcBindingToStringBindingA"] (Binding: WinApi.PtrVoid; VAR [nil] StringBinding: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcBindingToStringBinding;*)
   PROCEDURE RpcBindingVectorFree* (VAR [nil] BindingVector: PtrRPC_BINDING_VECTOR): RPC_STATUS;

   (*END RpcBindingVectorFree;*)
   PROCEDURE RpcStringBindingComposeA* (ObjUuid: WinApi.PtrSTR; Protseq: WinApi.PtrSTR; NetworkAddr: WinApi.PtrSTR; Endpoint: WinApi.PtrSTR; Options: WinApi.PtrSTR; VAR [nil] StringBinding: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcStringBindingComposeA;*)
   PROCEDURE RpcStringBindingComposeW* (VAR [nil] ObjUuid: SHORTINT; VAR [nil] Protseq: SHORTINT; VAR [nil] NetworkAddr: SHORTINT; VAR [nil] Endpoint: SHORTINT; VAR [nil] Options: SHORTINT; VAR [nil] StringBinding: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT): RPC_STATUS;

   (*END RpcStringBindingComposeW;*)
   PROCEDURE RpcStringBindingCompose* ["RpcStringBindingComposeA"] (ObjUuid: WinApi.PtrSTR; Protseq: WinApi.PtrSTR; NetworkAddr: WinApi.PtrSTR; Endpoint: WinApi.PtrSTR; Options: WinApi.PtrSTR; VAR [nil] StringBinding: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcStringBindingCompose;*)
   PROCEDURE RpcStringBindingParseA* (StringBinding: WinApi.PtrSTR; VAR [nil] ObjUuid: WinApi.PtrSTR; VAR [nil] Protseq: WinApi.PtrSTR; VAR [nil] NetworkAddr: WinApi.PtrSTR; VAR [nil] Endpoint: WinApi.PtrSTR; VAR [nil] NetworkOptions: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcStringBindingParseA;*)
   PROCEDURE RpcStringBindingParseW* (VAR [nil] StringBinding: SHORTINT; VAR [nil] ObjUuid: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT; VAR [nil] Protseq: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT; VAR [nil] NetworkAddr: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT; VAR [nil] Endpoint: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT; VAR [nil] NetworkOptions: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT): RPC_STATUS;

   (*END RpcStringBindingParseW;*)
   PROCEDURE RpcStringBindingParse* ["RpcStringBindingParseA"] (StringBinding: WinApi.PtrSTR; VAR [nil] ObjUuid: WinApi.PtrSTR; VAR [nil] Protseq: WinApi.PtrSTR; VAR [nil] NetworkAddr: WinApi.PtrSTR; VAR [nil] Endpoint: WinApi.PtrSTR; VAR [nil] NetworkOptions: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcStringBindingParse;*)
   PROCEDURE RpcStringFreeA* (VAR [nil] String: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcStringFreeA;*)
   PROCEDURE RpcStringFreeW* (VAR [nil] String: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT): RPC_STATUS;

   (*END RpcStringFreeW;*)
   PROCEDURE RpcStringFree* ["RpcStringFreeA"] (VAR [nil] String: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcStringFree;*)
   PROCEDURE RpcIfInqId* (RpcIfHandle: WinApi.PtrVoid; VAR [nil] RpcIfId: RPC_IF_ID): RPC_STATUS;

   (*END RpcIfInqId;*)
   PROCEDURE RpcNetworkIsProtseqValidA* (Protseq: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNetworkIsProtseqValidA;*)
   PROCEDURE RpcNetworkIsProtseqValidW* (VAR [nil] Protseq: SHORTINT): RPC_STATUS;

   (*END RpcNetworkIsProtseqValidW;*)
   PROCEDURE RpcNetworkIsProtseqValid* ["RpcNetworkIsProtseqValidA"] (Protseq: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNetworkIsProtseqValid;*)
   PROCEDURE RpcMgmtInqComTimeout* (Binding: WinApi.PtrVoid; VAR [nil] Timeout: INTEGER): RPC_STATUS;

   (*END RpcMgmtInqComTimeout;*)
   PROCEDURE RpcMgmtSetComTimeout* (Binding: WinApi.PtrVoid; Timeout: INTEGER): RPC_STATUS;

   (*END RpcMgmtSetComTimeout;*)
   PROCEDURE RpcMgmtSetCancelTimeout* (Timeout: INTEGER): RPC_STATUS;

   (*END RpcMgmtSetCancelTimeout;*)
   PROCEDURE RpcNetworkInqProtseqsA* (VAR [nil] ProtseqVector: PtrRPC_PROTSEQ_VECTORA): RPC_STATUS;

   (*END RpcNetworkInqProtseqsA;*)
   PROCEDURE RpcNetworkInqProtseqsW* (VAR [nil] ProtseqVector: PtrRPC_PROTSEQ_VECTORW): RPC_STATUS;

   (*END RpcNetworkInqProtseqsW;*)
   PROCEDURE RpcNetworkInqProtseqs* ["RpcNetworkInqProtseqsA"] (VAR [nil] ProtseqVector: PtrRPC_PROTSEQ_VECTORA): RPC_STATUS;

   (*END RpcNetworkInqProtseqs;*)
   PROCEDURE RpcObjectInqType* (VAR [nil] ObjUuid: COM.GUID; VAR [nil] TypeUuid: COM.GUID): RPC_STATUS;

   (*END RpcObjectInqType;*)
   PROCEDURE RpcObjectSetInqFn* (InquiryFn: RPC_OBJECT_INQ_FN): RPC_STATUS;

   (*END RpcObjectSetInqFn;*)
   PROCEDURE RpcObjectSetType* (VAR [nil] ObjUuid: COM.GUID; VAR [nil] TypeUuid: COM.GUID): RPC_STATUS;

   (*END RpcObjectSetType;*)
   PROCEDURE RpcProtseqVectorFreeA* (VAR [nil] ProtseqVector: PtrRPC_PROTSEQ_VECTORA): RPC_STATUS;

   (*END RpcProtseqVectorFreeA;*)
   PROCEDURE RpcProtseqVectorFreeW* (VAR [nil] ProtseqVector: PtrRPC_PROTSEQ_VECTORW): RPC_STATUS;

   (*END RpcProtseqVectorFreeW;*)
   PROCEDURE RpcProtseqVectorFree* ["RpcProtseqVectorFreeA"] (VAR [nil] ProtseqVector: PtrRPC_PROTSEQ_VECTORA): RPC_STATUS;

   (*END RpcProtseqVectorFree;*)
   PROCEDURE RpcServerInqBindings* (VAR [nil] BindingVector: PtrRPC_BINDING_VECTOR): RPC_STATUS;

   (*END RpcServerInqBindings;*)
   PROCEDURE RpcServerInqIf* (IfSpec: WinApi.PtrVoid; VAR [nil] MgrTypeUuid: COM.GUID; VAR [nil] MgrEpv: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcServerInqIf;*)
   PROCEDURE RpcServerListen* (MinimumCallThreads: INTEGER; MaxCalls: INTEGER; DontWait: INTEGER): RPC_STATUS;

   (*END RpcServerListen;*)
   PROCEDURE RpcServerRegisterIf* (IfSpec: WinApi.PtrVoid; VAR [nil] MgrTypeUuid: COM.GUID; MgrEpv: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcServerRegisterIf;*)
   PROCEDURE RpcServerUnregisterIf* (IfSpec: WinApi.PtrVoid; VAR [nil] MgrTypeUuid: COM.GUID; WaitForCallsToComplete: INTEGER): RPC_STATUS;

   (*END RpcServerUnregisterIf;*)
   PROCEDURE RpcServerUseAllProtseqs* (MaxCalls: INTEGER; SecurityDescriptor: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcServerUseAllProtseqs;*)
   PROCEDURE RpcServerUseAllProtseqsIf* (MaxCalls: INTEGER; IfSpec: WinApi.PtrVoid; SecurityDescriptor: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcServerUseAllProtseqsIf;*)
   PROCEDURE RpcServerUseProtseqA* (Protseq: WinApi.PtrSTR; MaxCalls: INTEGER; SecurityDescriptor: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcServerUseProtseqA;*)
   PROCEDURE RpcServerUseProtseqW* (VAR [nil] Protseq: SHORTINT; MaxCalls: INTEGER; SecurityDescriptor: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcServerUseProtseqW;*)
   PROCEDURE RpcServerUseProtseq* ["RpcServerUseProtseqA"] (Protseq: WinApi.PtrSTR; MaxCalls: INTEGER; SecurityDescriptor: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcServerUseProtseq;*)
   PROCEDURE RpcServerUseProtseqEpA* (Protseq: WinApi.PtrSTR; MaxCalls: INTEGER; Endpoint: WinApi.PtrSTR; SecurityDescriptor: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcServerUseProtseqEpA;*)
   PROCEDURE RpcServerUseProtseqEpW* (VAR [nil] Protseq: SHORTINT; MaxCalls: INTEGER; VAR [nil] Endpoint: SHORTINT; SecurityDescriptor: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcServerUseProtseqEpW;*)
   PROCEDURE RpcServerUseProtseqEp* ["RpcServerUseProtseqEpA"] (Protseq: WinApi.PtrSTR; MaxCalls: INTEGER; Endpoint: WinApi.PtrSTR; SecurityDescriptor: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcServerUseProtseqEp;*)
   PROCEDURE RpcServerUseProtseqIfA* (Protseq: WinApi.PtrSTR; MaxCalls: INTEGER; IfSpec: WinApi.PtrVoid; SecurityDescriptor: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcServerUseProtseqIfA;*)
   PROCEDURE RpcServerUseProtseqIfW* (VAR [nil] Protseq: SHORTINT; MaxCalls: INTEGER; IfSpec: WinApi.PtrVoid; SecurityDescriptor: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcServerUseProtseqIfW;*)
   PROCEDURE RpcServerUseProtseqIf* ["RpcServerUseProtseqIfA"] (Protseq: WinApi.PtrSTR; MaxCalls: INTEGER; IfSpec: WinApi.PtrVoid; SecurityDescriptor: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcServerUseProtseqIf;*)
   PROCEDURE RpcMgmtStatsVectorFree* (VAR [nil] StatsVector: PtrRPC_STATS_VECTOR): RPC_STATUS;

   (*END RpcMgmtStatsVectorFree;*)
   PROCEDURE RpcMgmtInqStats* (Binding: WinApi.PtrVoid; VAR [nil] Statistics: PtrRPC_STATS_VECTOR): RPC_STATUS;

   (*END RpcMgmtInqStats;*)
   PROCEDURE RpcMgmtIsServerListening* (Binding: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcMgmtIsServerListening;*)
   PROCEDURE RpcMgmtStopServerListening* (Binding: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcMgmtStopServerListening;*)
   PROCEDURE RpcMgmtWaitServerListen* (): RPC_STATUS;

   (*END RpcMgmtWaitServerListen;*)
   PROCEDURE RpcMgmtSetServerStackSize* (ThreadStackSize: INTEGER): RPC_STATUS;

   (*END RpcMgmtSetServerStackSize;*)
   PROCEDURE RpcSsDontSerializeContext* ();

   (*END RpcSsDontSerializeContext;*)
   PROCEDURE RpcMgmtEnableIdleCleanup* (): RPC_STATUS;

   (*END RpcMgmtEnableIdleCleanup;*)
   PROCEDURE RpcMgmtInqIfIds* (Binding: WinApi.PtrVoid; VAR [nil] IfIdVector: PtrRPC_IF_ID_VECTOR): RPC_STATUS;

   (*END RpcMgmtInqIfIds;*)
   PROCEDURE RpcIfIdVectorFree* (VAR [nil] IfIdVector: PtrRPC_IF_ID_VECTOR): RPC_STATUS;

   (*END RpcIfIdVectorFree;*)
   PROCEDURE RpcMgmtInqServerPrincNameA* (Binding: WinApi.PtrVoid; AuthnSvc: INTEGER; VAR [nil] ServerPrincName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcMgmtInqServerPrincNameA;*)
   PROCEDURE RpcMgmtInqServerPrincNameW* (Binding: WinApi.PtrVoid; AuthnSvc: INTEGER; VAR [nil] ServerPrincName: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT): RPC_STATUS;

   (*END RpcMgmtInqServerPrincNameW;*)
   PROCEDURE RpcMgmtInqServerPrincName* ["RpcMgmtInqServerPrincNameA"] (Binding: WinApi.PtrVoid; AuthnSvc: INTEGER; VAR [nil] ServerPrincName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcMgmtInqServerPrincName;*)
   PROCEDURE RpcServerInqDefaultPrincNameA* (AuthnSvc: INTEGER; VAR [nil] PrincName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcServerInqDefaultPrincNameA;*)
   PROCEDURE RpcServerInqDefaultPrincNameW* (AuthnSvc: INTEGER; VAR [nil] PrincName: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT): RPC_STATUS;

   (*END RpcServerInqDefaultPrincNameW;*)
   PROCEDURE RpcServerInqDefaultPrincName* ["RpcServerInqDefaultPrincNameA"] (AuthnSvc: INTEGER; VAR [nil] PrincName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcServerInqDefaultPrincName;*)
   PROCEDURE RpcEpResolveBinding* (Binding: WinApi.PtrVoid; IfSpec: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcEpResolveBinding;*)
   PROCEDURE RpcNsBindingInqEntryNameA* (Binding: WinApi.PtrVoid; EntryNameSyntax: INTEGER; VAR [nil] EntryName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsBindingInqEntryNameA;*)
   PROCEDURE RpcNsBindingInqEntryNameW* (Binding: WinApi.PtrVoid; EntryNameSyntax: INTEGER; VAR [nil] EntryName: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT): RPC_STATUS;

   (*END RpcNsBindingInqEntryNameW;*)
   PROCEDURE RpcNsBindingInqEntryName* ["RpcNsBindingInqEntryNameA"] (Binding: WinApi.PtrVoid; EntryNameSyntax: INTEGER; VAR [nil] EntryName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsBindingInqEntryName;*)
   PROCEDURE RpcBindingInqAuthClientA* (ClientBinding: WinApi.PtrVoid; VAR [nil] Privs: WinApi.PtrVoid; VAR [nil] ServerPrincName: WinApi.PtrSTR; VAR [nil] AuthnLevel: INTEGER; VAR [nil] AuthnSvc: INTEGER; VAR [nil] AuthzSvc: INTEGER): RPC_STATUS;

   (*END RpcBindingInqAuthClientA;*)
   PROCEDURE RpcBindingInqAuthClientW* (ClientBinding: WinApi.PtrVoid; VAR [nil] Privs: WinApi.PtrVoid; VAR [nil] ServerPrincName: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT; VAR [nil] AuthnLevel: INTEGER; VAR [nil] AuthnSvc: INTEGER; VAR [nil] AuthzSvc: INTEGER): RPC_STATUS;

   (*END RpcBindingInqAuthClientW;*)
   PROCEDURE RpcBindingInqAuthInfoA* (Binding: WinApi.PtrVoid; VAR [nil] ServerPrincName: WinApi.PtrSTR; VAR [nil] AuthnLevel: INTEGER; VAR [nil] AuthnSvc: INTEGER; VAR [nil] AuthIdentity: WinApi.PtrVoid; VAR [nil] AuthzSvc: INTEGER): RPC_STATUS;

   (*END RpcBindingInqAuthInfoA;*)
   PROCEDURE RpcBindingInqAuthInfoW* (Binding: WinApi.PtrVoid; VAR [nil] ServerPrincName: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT; VAR [nil] AuthnLevel: INTEGER; VAR [nil] AuthnSvc: INTEGER; VAR [nil] AuthIdentity: WinApi.PtrVoid; VAR [nil] AuthzSvc: INTEGER): RPC_STATUS;

   (*END RpcBindingInqAuthInfoW;*)
   PROCEDURE RpcBindingSetAuthInfoA* (Binding: WinApi.PtrVoid; ServerPrincName: WinApi.PtrSTR; AuthnLevel: INTEGER; AuthnSvc: INTEGER; AuthIdentity: WinApi.PtrVoid; AuthzSvc: INTEGER): RPC_STATUS;

   (*END RpcBindingSetAuthInfoA;*)
   PROCEDURE RpcBindingSetAuthInfoW* (Binding: WinApi.PtrVoid; VAR [nil] ServerPrincName: SHORTINT; AuthnLevel: INTEGER; AuthnSvc: INTEGER; AuthIdentity: WinApi.PtrVoid; AuthzSvc: INTEGER): RPC_STATUS;

   (*END RpcBindingSetAuthInfoW;*)
   PROCEDURE RpcServerRegisterAuthInfoA* (ServerPrincName: WinApi.PtrSTR; AuthnSvc: INTEGER; GetKeyFn: RPC_AUTH_KEY_RETRIEVAL_FN; Arg: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcServerRegisterAuthInfoA;*)
   PROCEDURE RpcServerRegisterAuthInfoW* (VAR [nil] ServerPrincName: SHORTINT; AuthnSvc: INTEGER; GetKeyFn: RPC_AUTH_KEY_RETRIEVAL_FN; Arg: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcServerRegisterAuthInfoW;*)
   PROCEDURE RpcBindingInqAuthClient* ["RpcBindingInqAuthClientA"] (ClientBinding: WinApi.PtrVoid; VAR [nil] Privs: WinApi.PtrVoid; VAR [nil] ServerPrincName: WinApi.PtrSTR; VAR [nil] AuthnLevel: INTEGER; VAR [nil] AuthnSvc: INTEGER; VAR [nil] AuthzSvc: INTEGER): RPC_STATUS;

   (*END RpcBindingInqAuthClient;*)
   PROCEDURE RpcBindingInqAuthInfo* ["RpcBindingInqAuthInfoA"] (Binding: WinApi.PtrVoid; VAR [nil] ServerPrincName: WinApi.PtrSTR; VAR [nil] AuthnLevel: INTEGER; VAR [nil] AuthnSvc: INTEGER; VAR [nil] AuthIdentity: WinApi.PtrVoid; VAR [nil] AuthzSvc: INTEGER): RPC_STATUS;

   (*END RpcBindingInqAuthInfo;*)
   PROCEDURE RpcBindingSetAuthInfo* ["RpcBindingSetAuthInfoA"] (Binding: WinApi.PtrVoid; ServerPrincName: WinApi.PtrSTR; AuthnLevel: INTEGER; AuthnSvc: INTEGER; AuthIdentity: WinApi.PtrVoid; AuthzSvc: INTEGER): RPC_STATUS;

   (*END RpcBindingSetAuthInfo;*)
   PROCEDURE RpcServerRegisterAuthInfo* ["RpcServerRegisterAuthInfoA"] (ServerPrincName: WinApi.PtrSTR; AuthnSvc: INTEGER; GetKeyFn: RPC_AUTH_KEY_RETRIEVAL_FN; Arg: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcServerRegisterAuthInfo;*)
   PROCEDURE RpcBindingServerFromClient* (ClientBinding: WinApi.PtrVoid; VAR [nil] ServerBinding: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcBindingServerFromClient;*)
   PROCEDURE RpcRaiseException* (exception: RPC_STATUS);

   (*END RpcRaiseException;*)
   PROCEDURE RpcTestCancel* (): RPC_STATUS;

   (*END RpcTestCancel;*)
   PROCEDURE RpcCancelThread* (Thread: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcCancelThread;*)
   PROCEDURE UuidCreate* (VAR [nil] Uuid: COM.GUID): RPC_STATUS;

   (*END UuidCreate;*)
   PROCEDURE UuidToStringA* (VAR [nil] Uuid: COM.GUID; VAR [nil] StringUuid: WinApi.PtrSTR): RPC_STATUS;

   (*END UuidToStringA;*)
   PROCEDURE UuidFromStringA* (StringUuid: WinApi.PtrSTR; VAR [nil] Uuid: COM.GUID): RPC_STATUS;

   (*END UuidFromStringA;*)
   PROCEDURE UuidToStringW* (VAR [nil] Uuid: COM.GUID; VAR [nil] StringUuid: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT): RPC_STATUS;

   (*END UuidToStringW;*)
   PROCEDURE UuidFromStringW* (VAR [nil] StringUuid: SHORTINT; VAR [nil] Uuid: COM.GUID): RPC_STATUS;

   (*END UuidFromStringW;*)
   PROCEDURE UuidFromString* ["UuidFromStringA"] (StringUuid: WinApi.PtrSTR; VAR [nil] Uuid: COM.GUID): RPC_STATUS;

   (*END UuidFromString;*)
   PROCEDURE UuidToString* ["UuidToStringA"] (VAR [nil] Uuid: COM.GUID; VAR [nil] StringUuid: WinApi.PtrSTR): RPC_STATUS;

   (*END UuidToString;*)
   PROCEDURE UuidCompare* (VAR [nil] Uuid1: COM.GUID; VAR [nil] Uuid2: COM.GUID; VAR [nil] Status: RPC_STATUS): INTEGER;

   (*END UuidCompare;*)
   PROCEDURE UuidCreateNil* (VAR [nil] NilUuid: COM.GUID): RPC_STATUS;

   (*END UuidCreateNil;*)
   PROCEDURE UuidEqual* (VAR [nil] Uuid1: COM.GUID; VAR [nil] Uuid2: COM.GUID; VAR [nil] Status: RPC_STATUS): INTEGER;

   (*END UuidEqual;*)
   PROCEDURE UuidHash* (VAR [nil] Uuid: COM.GUID; VAR [nil] Status: RPC_STATUS): SHORTINT;

   (*END UuidHash;*)
   PROCEDURE UuidIsNil* (VAR [nil] Uuid: COM.GUID; VAR [nil] Status: RPC_STATUS): INTEGER;

   (*END UuidIsNil;*)
   PROCEDURE RpcEpRegisterNoReplaceA* (IfSpec: WinApi.PtrVoid; VAR [nil] BindingVector: RPC_BINDING_VECTOR; VAR [nil] UuidVector: UUID_VECTOR; Annotation: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcEpRegisterNoReplaceA;*)
   PROCEDURE RpcEpRegisterNoReplaceW* (IfSpec: WinApi.PtrVoid; VAR [nil] BindingVector: RPC_BINDING_VECTOR; VAR [nil] UuidVector: UUID_VECTOR; VAR [nil] Annotation: SHORTINT): RPC_STATUS;

   (*END RpcEpRegisterNoReplaceW;*)
   PROCEDURE RpcEpRegisterA* (IfSpec: WinApi.PtrVoid; VAR [nil] BindingVector: RPC_BINDING_VECTOR; VAR [nil] UuidVector: UUID_VECTOR; Annotation: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcEpRegisterA;*)
   PROCEDURE RpcEpRegisterW* (IfSpec: WinApi.PtrVoid; VAR [nil] BindingVector: RPC_BINDING_VECTOR; VAR [nil] UuidVector: UUID_VECTOR; VAR [nil] Annotation: SHORTINT): RPC_STATUS;

   (*END RpcEpRegisterW;*)
   PROCEDURE RpcEpRegisterNoReplace* ["RpcEpRegisterNoReplaceA"] (IfSpec: WinApi.PtrVoid; VAR [nil] BindingVector: RPC_BINDING_VECTOR; VAR [nil] UuidVector: UUID_VECTOR; Annotation: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcEpRegisterNoReplace;*)
   PROCEDURE RpcEpRegister* ["RpcEpRegisterA"] (IfSpec: WinApi.PtrVoid; VAR [nil] BindingVector: RPC_BINDING_VECTOR; VAR [nil] UuidVector: UUID_VECTOR; Annotation: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcEpRegister;*)
   PROCEDURE RpcEpUnregister* (IfSpec: WinApi.PtrVoid; VAR [nil] BindingVector: RPC_BINDING_VECTOR; VAR [nil] UuidVector: UUID_VECTOR): RPC_STATUS;

   (*END RpcEpUnregister;*)
   PROCEDURE DceErrorInqTextA* (RpcStatus: RPC_STATUS; ErrorText: WinApi.PtrSTR): RPC_STATUS;

   (*END DceErrorInqTextA;*)
   PROCEDURE DceErrorInqTextW* (RpcStatus: RPC_STATUS; VAR [nil] ErrorText: SHORTINT): RPC_STATUS;

   (*END DceErrorInqTextW;*)
   PROCEDURE DceErrorInqText* ["DceErrorInqTextA"] (RpcStatus: RPC_STATUS; ErrorText: WinApi.PtrSTR): RPC_STATUS;

   (*END DceErrorInqText;*)
   PROCEDURE RpcMgmtEpEltInqBegin* (EpBinding: WinApi.PtrVoid; InquiryType: INTEGER; VAR [nil] IfId: RPC_IF_ID; VersOption: INTEGER; VAR [nil] ObjectUuid: COM.GUID; VAR [nil] InquiryContext: POINTER TO (*?*) ARRAY [untagged] OF WinApi.PtrVoid): RPC_STATUS;

   (*END RpcMgmtEpEltInqBegin;*)
   PROCEDURE RpcMgmtEpEltInqDone* (VAR [nil] InquiryContext: POINTER TO (*?*) ARRAY [untagged] OF WinApi.PtrVoid): RPC_STATUS;

   (*END RpcMgmtEpEltInqDone;*)
   PROCEDURE RpcMgmtEpEltInqNextA* (VAR [nil] InquiryContext: WinApi.PtrVoid; VAR [nil] IfId: RPC_IF_ID; VAR [nil] Binding: WinApi.PtrVoid; VAR [nil] ObjectUuid: COM.GUID; VAR [nil] Annotation: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcMgmtEpEltInqNextA;*)
   PROCEDURE RpcMgmtEpEltInqNextW* (VAR [nil] InquiryContext: WinApi.PtrVoid; VAR [nil] IfId: RPC_IF_ID; VAR [nil] Binding: WinApi.PtrVoid; VAR [nil] ObjectUuid: COM.GUID; VAR [nil] Annotation: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT): RPC_STATUS;

   (*END RpcMgmtEpEltInqNextW;*)
   PROCEDURE RpcMgmtEpEltInqNext* ["RpcMgmtEpEltInqNextA"] (VAR [nil] InquiryContext: WinApi.PtrVoid; VAR [nil] IfId: RPC_IF_ID; VAR [nil] Binding: WinApi.PtrVoid; VAR [nil] ObjectUuid: COM.GUID; VAR [nil] Annotation: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcMgmtEpEltInqNext;*)
   PROCEDURE RpcMgmtEpUnregister* (EpBinding: WinApi.PtrVoid; VAR [nil] IfId: RPC_IF_ID; Binding: WinApi.PtrVoid; VAR [nil] ObjectUuid: COM.GUID): RPC_STATUS;

   (*END RpcMgmtEpUnregister;*)
   PROCEDURE RpcMgmtSetAuthorizationFn* (AuthorizationFn: RPC_MGMT_AUTHORIZATION_FN): RPC_STATUS;

   (*END RpcMgmtSetAuthorizationFn;*)
   PROCEDURE RpcMgmtInqParameter* (Parameter: INTEGER; VAR [nil] Value: INTEGER): RPC_STATUS;

   (*END RpcMgmtInqParameter;*)
   PROCEDURE RpcMgmtSetParameter* (Parameter: INTEGER; Value: INTEGER): RPC_STATUS;

   (*END RpcMgmtSetParameter;*)
   PROCEDURE RpcMgmtBindingInqParameter* (Handle: WinApi.PtrVoid; Parameter: INTEGER; VAR [nil] Value: INTEGER): RPC_STATUS;

   (*END RpcMgmtBindingInqParameter;*)
   PROCEDURE RpcMgmtBindingSetParameter* (Handle: WinApi.PtrVoid; Parameter: INTEGER; Value: INTEGER): RPC_STATUS;

   (*END RpcMgmtBindingSetParameter;*)
   PROCEDURE I_RpcGetBuffer* (VAR [nil] Message: RPC_MESSAGE): RPC_STATUS;

   (*END I_RpcGetBuffer;*)
   PROCEDURE I_RpcSendReceive* (VAR [nil] Message: RPC_MESSAGE): RPC_STATUS;

   (*END I_RpcSendReceive;*)
   PROCEDURE I_RpcFreeBuffer* (VAR [nil] Message: RPC_MESSAGE): RPC_STATUS;

   (*END I_RpcFreeBuffer;*)
   PROCEDURE I_RpcRequestMutex* (VAR [nil] Mutex: WinApi.PtrVoid);

   (*END I_RpcRequestMutex;*)
   PROCEDURE I_RpcClearMutex* (Mutex: WinApi.PtrVoid);

   (*END I_RpcClearMutex;*)
   PROCEDURE I_RpcDeleteMutex* (Mutex: WinApi.PtrVoid);

   (*END I_RpcDeleteMutex;*)
   PROCEDURE I_RpcAllocate* (Size: INTEGER): WinApi.PtrVoid;

   (*END I_RpcAllocate;*)
   PROCEDURE I_RpcFree* (Object: WinApi.PtrVoid);

   (*END I_RpcFree;*)
   PROCEDURE I_RpcPauseExecution* (Milliseconds: INTEGER);

   (*END I_RpcPauseExecution;*)
   PROCEDURE I_RpcMonitorAssociation* (Handle: WinApi.PtrVoid; RundownRoutine: RPC_RUNDOWN; Context: WinApi.PtrVoid): RPC_STATUS;

   (*END I_RpcMonitorAssociation;*)
   PROCEDURE I_RpcStopMonitorAssociation* (Handle: WinApi.PtrVoid): RPC_STATUS;

   (*END I_RpcStopMonitorAssociation;*)
   PROCEDURE I_RpcGetCurrentCallHandle* (): WinApi.PtrVoid;

   (*END I_RpcGetCurrentCallHandle;*)
   PROCEDURE I_RpcGetAssociationContext* (VAR [nil] AssociationContext: WinApi.PtrVoid): RPC_STATUS;

   (*END I_RpcGetAssociationContext;*)
   PROCEDURE I_RpcSetAssociationContext* (AssociationContext: WinApi.PtrVoid): RPC_STATUS;

   (*END I_RpcSetAssociationContext;*)
   PROCEDURE I_RpcNsBindingSetEntryName* (Binding: WinApi.PtrVoid; EntryNameSyntax: INTEGER; VAR [nil] EntryName: SHORTINT): RPC_STATUS;

   (*END I_RpcNsBindingSetEntryName;*)
   PROCEDURE I_RpcBindingInqDynamicEndpoint* (Binding: WinApi.PtrVoid; VAR [nil] DynamicEndpoint: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT): RPC_STATUS;

   (*END I_RpcBindingInqDynamicEndpoint;*)
   PROCEDURE I_RpcBindingInqTransportType* (Binding: WinApi.PtrVoid; VAR [nil] Type: INTEGER): RPC_STATUS;

   (*END I_RpcBindingInqTransportType;*)
   PROCEDURE I_RpcIfInqTransferSyntaxes* (RpcIfHandle: WinApi.PtrVoid; VAR [nil] TransferSyntaxes: RPC_TRANSFER_SYNTAX; TransferSyntaxSize: INTEGER; VAR [nil] TransferSyntaxCount: INTEGER): RPC_STATUS;

   (*END I_RpcIfInqTransferSyntaxes;*)
   PROCEDURE I_UuidCreate* (VAR [nil] Uuid: COM.GUID): RPC_STATUS;

   (*END I_UuidCreate;*)
   PROCEDURE I_RpcBindingCopy* (SourceBinding: WinApi.PtrVoid; VAR [nil] DestinationBinding: WinApi.PtrVoid): RPC_STATUS;

   (*END I_RpcBindingCopy;*)
   PROCEDURE I_RpcBindingIsClientLocal* (BindingHandle: WinApi.PtrVoid; VAR [nil] ClientLocalFlag: INTEGER): RPC_STATUS;

   (*END I_RpcBindingIsClientLocal;*)
   PROCEDURE I_RpcSsDontSerializeContext* ();

   (*END I_RpcSsDontSerializeContext;*)
   PROCEDURE I_RpcLaunchDatagramReceiveThread* (pAddress: WinApi.PtrVoid): RPC_STATUS;

   (*END I_RpcLaunchDatagramReceiveThread;*)
   PROCEDURE I_RpcServerRegisterForwardFunction* (pForwardFunction: RPC_FORWARD_FUNCTION): RPC_STATUS;

   (*END I_RpcServerRegisterForwardFunction;*)
   PROCEDURE I_RpcConnectionInqSockBuffSize* (VAR [nil] RecvBuffSize: INTEGER; VAR [nil] SendBuffSize: INTEGER): RPC_STATUS;

   (*END I_RpcConnectionInqSockBuffSize;*)
   PROCEDURE I_RpcConnectionSetSockBuffSize* (RecvBuffSize: INTEGER; SendBuffSize: INTEGER): RPC_STATUS;

   (*END I_RpcConnectionSetSockBuffSize;*)
   PROCEDURE I_RpcServerInqTransportType* (VAR [nil] Type: INTEGER): RPC_STATUS;

   (*END I_RpcServerInqTransportType;*)
   PROCEDURE RpcNsBindingExportA* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR; IfSpec: WinApi.PtrVoid; VAR [nil] BindingVec: RPC_BINDING_VECTOR; VAR [nil] ObjectUuidVec: UUID_VECTOR): RPC_STATUS;

   (*END RpcNsBindingExportA;*)
   PROCEDURE RpcNsBindingUnexportA* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR; IfSpec: WinApi.PtrVoid; VAR [nil] ObjectUuidVec: UUID_VECTOR): RPC_STATUS;

   (*END RpcNsBindingUnexportA;*)
   PROCEDURE RpcNsBindingExportW* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; VAR [nil] EntryName: SHORTINT; IfSpec: WinApi.PtrVoid; VAR [nil] BindingVec: RPC_BINDING_VECTOR; VAR [nil] ObjectUuidVec: UUID_VECTOR): RPC_STATUS;

   (*END RpcNsBindingExportW;*)
   PROCEDURE RpcNsBindingUnexportW* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; VAR [nil] EntryName: SHORTINT; IfSpec: WinApi.PtrVoid; VAR [nil] ObjectUuidVec: UUID_VECTOR): RPC_STATUS;

   (*END RpcNsBindingUnexportW;*)
   PROCEDURE RpcNsBindingLookupBeginA* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR; IfSpec: WinApi.PtrVoid; VAR [nil] ObjUuid: COM.GUID; BindingMaxCount: INTEGER; VAR [nil] LookupContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsBindingLookupBeginA;*)
   PROCEDURE RpcNsBindingLookupBeginW* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; VAR [nil] EntryName: SHORTINT; IfSpec: WinApi.PtrVoid; VAR [nil] ObjUuid: COM.GUID; BindingMaxCount: INTEGER; VAR [nil] LookupContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsBindingLookupBeginW;*)
   PROCEDURE RpcNsBindingLookupNext* ["RPCNS4.dll", ""] (LookupContext: WinApi.PtrVoid; VAR [nil] BindingVec: PtrRPC_BINDING_VECTOR): RPC_STATUS;

   (*END RpcNsBindingLookupNext;*)
   PROCEDURE RpcNsBindingLookupDone* ["RPCNS4.dll", ""] (VAR [nil] LookupContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsBindingLookupDone;*)
   PROCEDURE RpcNsGroupDeleteA* ["RPCNS4.dll", ""] (GroupNameSyntax: INTEGER; GroupName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsGroupDeleteA;*)
   PROCEDURE RpcNsGroupMbrAddA* ["RPCNS4.dll", ""] (GroupNameSyntax: INTEGER; GroupName: WinApi.PtrSTR; MemberNameSyntax: INTEGER; MemberName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsGroupMbrAddA;*)
   PROCEDURE RpcNsGroupMbrRemoveA* ["RPCNS4.dll", ""] (GroupNameSyntax: INTEGER; GroupName: WinApi.PtrSTR; MemberNameSyntax: INTEGER; MemberName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsGroupMbrRemoveA;*)
   PROCEDURE RpcNsGroupMbrInqBeginA* ["RPCNS4.dll", ""] (GroupNameSyntax: INTEGER; GroupName: WinApi.PtrSTR; MemberNameSyntax: INTEGER; VAR [nil] InquiryContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsGroupMbrInqBeginA;*)
   PROCEDURE RpcNsGroupMbrInqNextA* ["RPCNS4.dll", ""] (InquiryContext: WinApi.PtrVoid; VAR [nil] MemberName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsGroupMbrInqNextA;*)
   PROCEDURE RpcNsGroupDeleteW* ["RPCNS4.dll", ""] (GroupNameSyntax: INTEGER; VAR [nil] GroupName: SHORTINT): RPC_STATUS;

   (*END RpcNsGroupDeleteW;*)
   PROCEDURE RpcNsGroupMbrAddW* ["RPCNS4.dll", ""] (GroupNameSyntax: INTEGER; VAR [nil] GroupName: SHORTINT; MemberNameSyntax: INTEGER; VAR [nil] MemberName: SHORTINT): RPC_STATUS;

   (*END RpcNsGroupMbrAddW;*)
   PROCEDURE RpcNsGroupMbrRemoveW* ["RPCNS4.dll", ""] (GroupNameSyntax: INTEGER; VAR [nil] GroupName: SHORTINT; MemberNameSyntax: INTEGER; VAR [nil] MemberName: SHORTINT): RPC_STATUS;

   (*END RpcNsGroupMbrRemoveW;*)
   PROCEDURE RpcNsGroupMbrInqBeginW* ["RPCNS4.dll", ""] (GroupNameSyntax: INTEGER; VAR [nil] GroupName: SHORTINT; MemberNameSyntax: INTEGER; VAR [nil] InquiryContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsGroupMbrInqBeginW;*)
   PROCEDURE RpcNsGroupMbrInqNextW* ["RPCNS4.dll", ""] (InquiryContext: WinApi.PtrVoid; VAR [nil] MemberName: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT): RPC_STATUS;

   (*END RpcNsGroupMbrInqNextW;*)
   PROCEDURE RpcNsGroupMbrInqDone* ["RPCNS4.dll", ""] (VAR [nil] InquiryContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsGroupMbrInqDone;*)
   PROCEDURE RpcNsProfileDeleteA* ["RPCNS4.dll", ""] (ProfileNameSyntax: INTEGER; ProfileName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsProfileDeleteA;*)
   PROCEDURE RpcNsProfileEltAddA* ["RPCNS4.dll", ""] (ProfileNameSyntax: INTEGER; ProfileName: WinApi.PtrSTR; VAR [nil] IfId: RPC_IF_ID; MemberNameSyntax: INTEGER; MemberName: WinApi.PtrSTR; Priority: INTEGER; Annotation: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsProfileEltAddA;*)
   PROCEDURE RpcNsProfileEltRemoveA* ["RPCNS4.dll", ""] (ProfileNameSyntax: INTEGER; ProfileName: WinApi.PtrSTR; VAR [nil] IfId: RPC_IF_ID; MemberNameSyntax: INTEGER; MemberName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsProfileEltRemoveA;*)
   PROCEDURE RpcNsProfileEltInqBeginA* ["RPCNS4.dll", ""] (ProfileNameSyntax: INTEGER; ProfileName: WinApi.PtrSTR; InquiryType: INTEGER; VAR [nil] IfId: RPC_IF_ID; VersOption: INTEGER; MemberNameSyntax: INTEGER; MemberName: WinApi.PtrSTR; VAR [nil] InquiryContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsProfileEltInqBeginA;*)
   PROCEDURE RpcNsProfileEltInqNextA* ["RPCNS4.dll", ""] (InquiryContext: WinApi.PtrVoid; VAR [nil] IfId: RPC_IF_ID; VAR [nil] MemberName: WinApi.PtrSTR; VAR [nil] Priority: INTEGER; VAR [nil] Annotation: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsProfileEltInqNextA;*)
   PROCEDURE RpcNsProfileDeleteW* ["RPCNS4.dll", ""] (ProfileNameSyntax: INTEGER; VAR [nil] ProfileName: SHORTINT): RPC_STATUS;

   (*END RpcNsProfileDeleteW;*)
   PROCEDURE RpcNsProfileEltAddW* ["RPCNS4.dll", ""] (ProfileNameSyntax: INTEGER; VAR [nil] ProfileName: SHORTINT; VAR [nil] IfId: RPC_IF_ID; MemberNameSyntax: INTEGER; VAR [nil] MemberName: SHORTINT; Priority: INTEGER; VAR [nil] Annotation: SHORTINT): RPC_STATUS;

   (*END RpcNsProfileEltAddW;*)
   PROCEDURE RpcNsProfileEltRemoveW* ["RPCNS4.dll", ""] (ProfileNameSyntax: INTEGER; VAR [nil] ProfileName: SHORTINT; VAR [nil] IfId: RPC_IF_ID; MemberNameSyntax: INTEGER; VAR [nil] MemberName: SHORTINT): RPC_STATUS;

   (*END RpcNsProfileEltRemoveW;*)
   PROCEDURE RpcNsProfileEltInqBeginW* ["RPCNS4.dll", ""] (ProfileNameSyntax: INTEGER; VAR [nil] ProfileName: SHORTINT; InquiryType: INTEGER; VAR [nil] IfId: RPC_IF_ID; VersOption: INTEGER; MemberNameSyntax: INTEGER; VAR [nil] MemberName: SHORTINT; VAR [nil] InquiryContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsProfileEltInqBeginW;*)
   PROCEDURE RpcNsProfileEltInqNextW* ["RPCNS4.dll", ""] (InquiryContext: WinApi.PtrVoid; VAR [nil] IfId: RPC_IF_ID; VAR [nil] MemberName: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT; VAR [nil] Priority: INTEGER; VAR [nil] Annotation: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT): RPC_STATUS;

   (*END RpcNsProfileEltInqNextW;*)
   PROCEDURE RpcNsProfileEltInqDone* ["RPCNS4.dll", ""] (VAR [nil] InquiryContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsProfileEltInqDone;*)
   PROCEDURE RpcNsEntryObjectInqBeginA* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR; VAR [nil] InquiryContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsEntryObjectInqBeginA;*)
   PROCEDURE RpcNsEntryObjectInqBeginW* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; VAR [nil] EntryName: SHORTINT; VAR [nil] InquiryContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsEntryObjectInqBeginW;*)
   PROCEDURE RpcNsEntryObjectInqNext* ["RPCNS4.dll", ""] (InquiryContext: WinApi.PtrVoid; VAR [nil] ObjUuid: COM.GUID): RPC_STATUS;

   (*END RpcNsEntryObjectInqNext;*)
   PROCEDURE RpcNsEntryObjectInqDone* ["RPCNS4.dll", ""] (VAR [nil] InquiryContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsEntryObjectInqDone;*)
   PROCEDURE RpcNsEntryExpandNameA* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR; VAR [nil] ExpandedName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsEntryExpandNameA;*)
   PROCEDURE RpcNsMgmtBindingUnexportA* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR; VAR [nil] IfId: RPC_IF_ID; VersOption: INTEGER; VAR [nil] ObjectUuidVec: UUID_VECTOR): RPC_STATUS;

   (*END RpcNsMgmtBindingUnexportA;*)
   PROCEDURE RpcNsMgmtEntryCreateA* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsMgmtEntryCreateA;*)
   PROCEDURE RpcNsMgmtEntryDeleteA* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsMgmtEntryDeleteA;*)
   PROCEDURE RpcNsMgmtEntryInqIfIdsA* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR; VAR [nil] IfIdVec: PtrRPC_IF_ID_VECTOR): RPC_STATUS;

   (*END RpcNsMgmtEntryInqIfIdsA;*)
   PROCEDURE RpcNsMgmtHandleSetExpAge* ["RPCNS4.dll", ""] (NsHandle: WinApi.PtrVoid; ExpirationAge: INTEGER): RPC_STATUS;

   (*END RpcNsMgmtHandleSetExpAge;*)
   PROCEDURE RpcNsMgmtInqExpAge* ["RPCNS4.dll", ""] (VAR [nil] ExpirationAge: INTEGER): RPC_STATUS;

   (*END RpcNsMgmtInqExpAge;*)
   PROCEDURE RpcNsMgmtSetExpAge* ["RPCNS4.dll", ""] (ExpirationAge: INTEGER): RPC_STATUS;

   (*END RpcNsMgmtSetExpAge;*)
   PROCEDURE RpcNsEntryExpandNameW* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; VAR [nil] EntryName: SHORTINT; VAR [nil] ExpandedName: POINTER TO (*?*) ARRAY [untagged] OF SHORTINT): RPC_STATUS;

   (*END RpcNsEntryExpandNameW;*)
   PROCEDURE RpcNsMgmtBindingUnexportW* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; VAR [nil] EntryName: SHORTINT; VAR [nil] IfId: RPC_IF_ID; VersOption: INTEGER; VAR [nil] ObjectUuidVec: UUID_VECTOR): RPC_STATUS;

   (*END RpcNsMgmtBindingUnexportW;*)
   PROCEDURE RpcNsMgmtEntryCreateW* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; VAR [nil] EntryName: SHORTINT): RPC_STATUS;

   (*END RpcNsMgmtEntryCreateW;*)
   PROCEDURE RpcNsMgmtEntryDeleteW* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; VAR [nil] EntryName: SHORTINT): RPC_STATUS;

   (*END RpcNsMgmtEntryDeleteW;*)
   PROCEDURE RpcNsMgmtEntryInqIfIdsW* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; VAR [nil] EntryName: SHORTINT; VAR [nil] IfIdVec: PtrRPC_IF_ID_VECTOR): RPC_STATUS;

   (*END RpcNsMgmtEntryInqIfIdsW;*)
   PROCEDURE RpcNsBindingImportBeginA* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR; IfSpec: WinApi.PtrVoid; VAR [nil] ObjUuid: COM.GUID; VAR [nil] ImportContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsBindingImportBeginA;*)
   PROCEDURE RpcNsBindingImportBeginW* ["RPCNS4.dll", ""] (EntryNameSyntax: INTEGER; VAR [nil] EntryName: SHORTINT; IfSpec: WinApi.PtrVoid; VAR [nil] ObjUuid: COM.GUID; VAR [nil] ImportContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsBindingImportBeginW;*)
   PROCEDURE RpcNsBindingImportNext* ["RPCNS4.dll", ""] (ImportContext: WinApi.PtrVoid; VAR [nil] Binding: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsBindingImportNext;*)
   PROCEDURE RpcNsBindingImportDone* ["RPCNS4.dll", ""] (VAR [nil] ImportContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsBindingImportDone;*)
   PROCEDURE RpcNsBindingSelect* ["RPCNS4.dll", ""] (VAR [nil] BindingVec: RPC_BINDING_VECTOR; VAR [nil] Binding: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsBindingSelect;*)
   PROCEDURE RpcNsBindingLookupBegin* ["RPCNS4.dll", "RpcNsBindingLookupBeginA"] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR; IfSpec: WinApi.PtrVoid; VAR [nil] ObjUuid: COM.GUID; BindingMaxCount: INTEGER; VAR [nil] LookupContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsBindingLookupBegin;*)
   PROCEDURE RpcNsBindingImportBegin* ["RPCNS4.dll", "RpcNsBindingImportBeginA"] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR; IfSpec: WinApi.PtrVoid; VAR [nil] ObjUuid: COM.GUID; VAR [nil] ImportContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsBindingImportBegin;*)
   PROCEDURE RpcNsBindingExport* ["RPCNS4.dll", "RpcNsBindingExportA"] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR; IfSpec: WinApi.PtrVoid; VAR [nil] BindingVec: RPC_BINDING_VECTOR; VAR [nil] ObjectUuidVec: UUID_VECTOR): RPC_STATUS;

   (*END RpcNsBindingExport;*)
   PROCEDURE RpcNsBindingUnexport* ["RPCNS4.dll", "RpcNsBindingUnexportA"] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR; IfSpec: WinApi.PtrVoid; VAR [nil] ObjectUuidVec: UUID_VECTOR): RPC_STATUS;

   (*END RpcNsBindingUnexport;*)
   PROCEDURE RpcNsGroupDelete* ["RPCNS4.dll", "RpcNsGroupDeleteA"] (GroupNameSyntax: INTEGER; GroupName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsGroupDelete;*)
   PROCEDURE RpcNsGroupMbrAdd* ["RPCNS4.dll", "RpcNsGroupMbrAddA"] (GroupNameSyntax: INTEGER; GroupName: WinApi.PtrSTR; MemberNameSyntax: INTEGER; MemberName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsGroupMbrAdd;*)
   PROCEDURE RpcNsGroupMbrRemove* ["RPCNS4.dll", "RpcNsGroupMbrRemoveA"] (GroupNameSyntax: INTEGER; GroupName: WinApi.PtrSTR; MemberNameSyntax: INTEGER; MemberName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsGroupMbrRemove;*)
   PROCEDURE RpcNsGroupMbrInqBegin* ["RPCNS4.dll", "RpcNsGroupMbrInqBeginA"] (GroupNameSyntax: INTEGER; GroupName: WinApi.PtrSTR; MemberNameSyntax: INTEGER; VAR [nil] InquiryContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsGroupMbrInqBegin;*)
   PROCEDURE RpcNsGroupMbrInqNext* ["RPCNS4.dll", "RpcNsGroupMbrInqNextA"] (InquiryContext: WinApi.PtrVoid; VAR [nil] MemberName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsGroupMbrInqNext;*)
   PROCEDURE RpcNsEntryExpandName* ["RPCNS4.dll", "RpcNsEntryExpandNameA"] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR; VAR [nil] ExpandedName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsEntryExpandName;*)
   PROCEDURE RpcNsEntryObjectInqBegin* ["RPCNS4.dll", "RpcNsEntryObjectInqBeginA"] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR; VAR [nil] InquiryContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsEntryObjectInqBegin;*)
   PROCEDURE RpcNsMgmtBindingUnexport* ["RPCNS4.dll", "RpcNsMgmtBindingUnexportA"] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR; VAR [nil] IfId: RPC_IF_ID; VersOption: INTEGER; VAR [nil] ObjectUuidVec: UUID_VECTOR): RPC_STATUS;

   (*END RpcNsMgmtBindingUnexport;*)
   PROCEDURE RpcNsMgmtEntryCreate* ["RPCNS4.dll", "RpcNsMgmtEntryCreateA"] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsMgmtEntryCreate;*)
   PROCEDURE RpcNsMgmtEntryDelete* ["RPCNS4.dll", "RpcNsMgmtEntryDeleteA"] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsMgmtEntryDelete;*)
   PROCEDURE RpcNsMgmtEntryInqIfIds* ["RPCNS4.dll", "RpcNsMgmtEntryInqIfIdsA"] (EntryNameSyntax: INTEGER; EntryName: WinApi.PtrSTR; VAR [nil] IfIdVec: PtrRPC_IF_ID_VECTOR): RPC_STATUS;

   (*END RpcNsMgmtEntryInqIfIds;*)
   PROCEDURE RpcNsProfileDelete* ["RPCNS4.dll", "RpcNsProfileDeleteA"] (ProfileNameSyntax: INTEGER; ProfileName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsProfileDelete;*)
   PROCEDURE RpcNsProfileEltAdd* ["RPCNS4.dll", "RpcNsProfileEltAddA"] (ProfileNameSyntax: INTEGER; ProfileName: WinApi.PtrSTR; VAR [nil] IfId: RPC_IF_ID; MemberNameSyntax: INTEGER; MemberName: WinApi.PtrSTR; Priority: INTEGER; Annotation: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsProfileEltAdd;*)
   PROCEDURE RpcNsProfileEltRemove* ["RPCNS4.dll", "RpcNsProfileEltRemoveA"] (ProfileNameSyntax: INTEGER; ProfileName: WinApi.PtrSTR; VAR [nil] IfId: RPC_IF_ID; MemberNameSyntax: INTEGER; MemberName: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsProfileEltRemove;*)
   PROCEDURE RpcNsProfileEltInqBegin* ["RPCNS4.dll", "RpcNsProfileEltInqBeginA"] (ProfileNameSyntax: INTEGER; ProfileName: WinApi.PtrSTR; InquiryType: INTEGER; VAR [nil] IfId: RPC_IF_ID; VersOption: INTEGER; MemberNameSyntax: INTEGER; MemberName: WinApi.PtrSTR; VAR [nil] InquiryContext: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcNsProfileEltInqBegin;*)
   PROCEDURE RpcNsProfileEltInqNext* ["RPCNS4.dll", "RpcNsProfileEltInqNextA"] (InquiryContext: WinApi.PtrVoid; VAR [nil] IfId: RPC_IF_ID; VAR [nil] MemberName: WinApi.PtrSTR; VAR [nil] Priority: INTEGER; VAR [nil] Annotation: WinApi.PtrSTR): RPC_STATUS;

   (*END RpcNsProfileEltInqNext;*)
   PROCEDURE RpcImpersonateClient* (BindingHandle: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcImpersonateClient;*)
   PROCEDURE RpcRevertToSelfEx* (BindingHandle: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcRevertToSelfEx;*)
   PROCEDURE RpcRevertToSelf* (): RPC_STATUS;

   (*END RpcRevertToSelf;*)
   PROCEDURE I_RpcMapWin32Status* (Status: RPC_STATUS): INTEGER;

   (*END I_RpcMapWin32Status;*)
   PROCEDURE I_RpcNsGetBuffer* ["RPCNS4.dll", ""] (VAR [nil] Message: RPC_MESSAGE): RPC_STATUS;

   (*END I_RpcNsGetBuffer;*)
   PROCEDURE I_RpcNsSendReceive* ["RPCNS4.dll", ""] (VAR [nil] Message: RPC_MESSAGE; VAR [nil] Handle: WinApi.PtrVoid): RPC_STATUS;

   (*END I_RpcNsSendReceive;*)
   PROCEDURE I_RpcNsRaiseException* ["RPCNS4.dll", ""] (VAR [nil] Message: RPC_MESSAGE; Status: RPC_STATUS);

   (*END I_RpcNsRaiseException;*)
   PROCEDURE I_RpcReBindBuffer* ["RPCNS4.dll", ""] (VAR [nil] Message: RPC_MESSAGE): RPC_STATUS;

   (*END I_RpcReBindBuffer;*)
   PROCEDURE NDRCContextBinding* (CContext: WinApi.PtrVoid): WinApi.PtrVoid;

   (*END NDRCContextBinding;*)
   PROCEDURE NDRCContextMarshall* (CContext: WinApi.PtrVoid; pBuff: WinApi.PtrVoid);

   (*END NDRCContextMarshall;*)
   PROCEDURE NDRCContextUnmarshall* (VAR [nil] pCContext: WinApi.PtrVoid; hBinding: WinApi.PtrVoid; pBuff: WinApi.PtrVoid; DataRepresentation: INTEGER);

   (*END NDRCContextUnmarshall;*)
   PROCEDURE NDRSContextMarshall* (CContext: NDR_SCONTEXT; pBuff: WinApi.PtrVoid; userRunDownIn: NDR_RUNDOWN);

   (*END NDRSContextMarshall;*)
   PROCEDURE NDRSContextUnmarshall* (pBuff: WinApi.PtrVoid; DataRepresentation: INTEGER): NDR_SCONTEXT;

   (*END NDRSContextUnmarshall;*)
   PROCEDURE RpcSsDestroyClientContext* (VAR [nil] ContextHandle: WinApi.PtrVoid);

   (*END RpcSsDestroyClientContext;*)
   PROCEDURE NDRcopy* (pTarget: WinApi.PtrVoid; pSource: WinApi.PtrVoid; size: INTEGER);

   (*END NDRcopy;*)
   PROCEDURE MIDL_wchar_strlen* (s: WinApi.PtrWSTR): INTEGER;

   (*END MIDL_wchar_strlen;*)
   PROCEDURE MIDL_wchar_strcpy* (t: WinApi.PtrVoid; s: WinApi.PtrWSTR);

   (*END MIDL_wchar_strcpy;*)
   PROCEDURE char_from_ndr* (VAR [nil] SourceMessage: RPC_MESSAGE; Target: WinApi.PtrSTR);

   (*END char_from_ndr;*)
   PROCEDURE char_array_from_ndr* (VAR [nil] SourceMessage: RPC_MESSAGE; LowerIndex: INTEGER; UpperIndex: INTEGER; Target: WinApi.PtrSTR);

   (*END char_array_from_ndr;*)
   PROCEDURE short_from_ndr* (VAR [nil] source: RPC_MESSAGE; VAR [nil] target: SHORTINT);

   (*END short_from_ndr;*)
   PROCEDURE short_array_from_ndr* (VAR [nil] SourceMessage: RPC_MESSAGE; LowerIndex: INTEGER; UpperIndex: INTEGER; VAR [nil] Target: SHORTINT);

   (*END short_array_from_ndr;*)
   PROCEDURE short_from_ndr_temp* (VAR [nil] source: WinApi.PtrSTR; VAR [nil] target: SHORTINT; format: INTEGER);

   (*END short_from_ndr_temp;*)
   PROCEDURE long_from_ndr* (VAR [nil] source: RPC_MESSAGE; VAR [nil] target: INTEGER);

   (*END long_from_ndr;*)
   PROCEDURE long_array_from_ndr* (VAR [nil] SourceMessage: RPC_MESSAGE; LowerIndex: INTEGER; UpperIndex: INTEGER; VAR [nil] Target: INTEGER);

   (*END long_array_from_ndr;*)
   PROCEDURE long_from_ndr_temp* (VAR [nil] source: WinApi.PtrSTR; VAR [nil] target: INTEGER; format: INTEGER);

   (*END long_from_ndr_temp;*)
   PROCEDURE enum_from_ndr* (VAR [nil] SourceMessage: RPC_MESSAGE; VAR [nil] Target: INTEGER);

   (*END enum_from_ndr;*)
   PROCEDURE float_from_ndr* (VAR [nil] SourceMessage: RPC_MESSAGE; Target: WinApi.PtrVoid);

   (*END float_from_ndr;*)
   PROCEDURE float_array_from_ndr* (VAR [nil] SourceMessage: RPC_MESSAGE; LowerIndex: INTEGER; UpperIndex: INTEGER; Target: WinApi.PtrVoid);

   (*END float_array_from_ndr;*)
   PROCEDURE double_from_ndr* (VAR [nil] SourceMessage: RPC_MESSAGE; Target: WinApi.PtrVoid);

   (*END double_from_ndr;*)
   PROCEDURE double_array_from_ndr* (VAR [nil] SourceMessage: RPC_MESSAGE; LowerIndex: INTEGER; UpperIndex: INTEGER; Target: WinApi.PtrVoid);

   (*END double_array_from_ndr;*)
   PROCEDURE data_from_ndr* (VAR [nil] source: RPC_MESSAGE; target: WinApi.PtrVoid; format: WinApi.PtrSTR; MscPak: SHORTCHAR);

   (*END data_from_ndr;*)
   PROCEDURE data_into_ndr* (source: WinApi.PtrVoid; VAR [nil] target: RPC_MESSAGE; format: WinApi.PtrSTR; MscPak: SHORTCHAR);

   (*END data_into_ndr;*)
   PROCEDURE tree_into_ndr* (source: WinApi.PtrVoid; VAR [nil] target: RPC_MESSAGE; format: WinApi.PtrSTR; MscPak: SHORTCHAR);

   (*END tree_into_ndr;*)
   PROCEDURE data_size_ndr* (source: WinApi.PtrVoid; VAR [nil] target: RPC_MESSAGE; format: WinApi.PtrSTR; MscPak: SHORTCHAR);

   (*END data_size_ndr;*)
   PROCEDURE tree_size_ndr* (source: WinApi.PtrVoid; VAR [nil] target: RPC_MESSAGE; format: WinApi.PtrSTR; MscPak: SHORTCHAR);

   (*END tree_size_ndr;*)
   PROCEDURE tree_peek_ndr* (VAR [nil] source: RPC_MESSAGE; VAR [nil] buffer: WinApi.PtrSTR; format: WinApi.PtrSTR; MscPak: SHORTCHAR);

   (*END tree_peek_ndr;*)
   PROCEDURE NdrSimpleTypeMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; FormatChar: SHORTCHAR);

   (*END NdrSimpleTypeMarshall;*)
   PROCEDURE NdrPointerMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrPointerMarshall;*)
   PROCEDURE NdrSimpleStructMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrSimpleStructMarshall;*)
   PROCEDURE NdrConformantStructMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrConformantStructMarshall;*)
   PROCEDURE NdrConformantVaryingStructMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrConformantVaryingStructMarshall;*)
   PROCEDURE NdrHardStructMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrHardStructMarshall;*)
   PROCEDURE NdrComplexStructMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrComplexStructMarshall;*)
   PROCEDURE NdrFixedArrayMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrFixedArrayMarshall;*)
   PROCEDURE NdrConformantArrayMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrConformantArrayMarshall;*)
   PROCEDURE NdrConformantVaryingArrayMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrConformantVaryingArrayMarshall;*)
   PROCEDURE NdrVaryingArrayMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrVaryingArrayMarshall;*)
   PROCEDURE NdrComplexArrayMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrComplexArrayMarshall;*)
   PROCEDURE NdrNonConformantStringMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrNonConformantStringMarshall;*)
   PROCEDURE NdrConformantStringMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrConformantStringMarshall;*)
   PROCEDURE NdrEncapsulatedUnionMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrEncapsulatedUnionMarshall;*)
   PROCEDURE NdrNonEncapsulatedUnionMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrNonEncapsulatedUnionMarshall;*)
   PROCEDURE NdrByteCountPointerMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrByteCountPointerMarshall;*)
   PROCEDURE NdrXmitOrRepAsMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrXmitOrRepAsMarshall;*)
   PROCEDURE NdrUserMarshalMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrUserMarshalMarshall;*)
   PROCEDURE NdrInterfacePointerMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrInterfacePointerMarshall;*)
   PROCEDURE NdrClientContextMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; ContextHandle: WinApi.PtrVoid; fCheck: INTEGER);

   (*END NdrClientContextMarshall;*)
   PROCEDURE NdrServerContextMarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; ContextHandle: NDR_SCONTEXT; RundownRoutine: NDR_RUNDOWN);

   (*END NdrServerContextMarshall;*)
   PROCEDURE NdrSimpleTypeUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; FormatChar: SHORTCHAR);

   (*END NdrSimpleTypeUnmarshall;*)
   PROCEDURE NdrPointerUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrPointerUnmarshall;*)
   PROCEDURE NdrSimpleStructUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrSimpleStructUnmarshall;*)
   PROCEDURE NdrConformantStructUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrConformantStructUnmarshall;*)
   PROCEDURE NdrConformantVaryingStructUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrConformantVaryingStructUnmarshall;*)
   PROCEDURE NdrHardStructUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrHardStructUnmarshall;*)
   PROCEDURE NdrComplexStructUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrComplexStructUnmarshall;*)
   PROCEDURE NdrFixedArrayUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrFixedArrayUnmarshall;*)
   PROCEDURE NdrConformantArrayUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrConformantArrayUnmarshall;*)
   PROCEDURE NdrConformantVaryingArrayUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrConformantVaryingArrayUnmarshall;*)
   PROCEDURE NdrVaryingArrayUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrVaryingArrayUnmarshall;*)
   PROCEDURE NdrComplexArrayUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrComplexArrayUnmarshall;*)
   PROCEDURE NdrNonConformantStringUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrNonConformantStringUnmarshall;*)
   PROCEDURE NdrConformantStringUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrConformantStringUnmarshall;*)
   PROCEDURE NdrEncapsulatedUnionUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrEncapsulatedUnionUnmarshall;*)
   PROCEDURE NdrNonEncapsulatedUnionUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrNonEncapsulatedUnionUnmarshall;*)
   PROCEDURE NdrByteCountPointerUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrByteCountPointerUnmarshall;*)
   PROCEDURE NdrXmitOrRepAsUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrXmitOrRepAsUnmarshall;*)
   PROCEDURE NdrUserMarshalUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrUserMarshalUnmarshall;*)
   PROCEDURE NdrInterfacePointerUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] ppMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR; fMustAlloc: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrInterfacePointerUnmarshall;*)
   PROCEDURE NdrClientContextUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] pContextHandle: WinApi.PtrVoid; BindHandle: WinApi.PtrVoid);

   (*END NdrClientContextUnmarshall;*)
   PROCEDURE NdrServerContextUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE): NDR_SCONTEXT;

   (*END NdrServerContextUnmarshall;*)
   PROCEDURE NdrPointerBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrPointerBufferSize;*)
   PROCEDURE NdrSimpleStructBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrSimpleStructBufferSize;*)
   PROCEDURE NdrConformantStructBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrConformantStructBufferSize;*)
   PROCEDURE NdrConformantVaryingStructBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrConformantVaryingStructBufferSize;*)
   PROCEDURE NdrHardStructBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrHardStructBufferSize;*)
   PROCEDURE NdrComplexStructBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrComplexStructBufferSize;*)
   PROCEDURE NdrFixedArrayBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrFixedArrayBufferSize;*)
   PROCEDURE NdrConformantArrayBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrConformantArrayBufferSize;*)
   PROCEDURE NdrConformantVaryingArrayBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrConformantVaryingArrayBufferSize;*)
   PROCEDURE NdrVaryingArrayBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrVaryingArrayBufferSize;*)
   PROCEDURE NdrComplexArrayBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrComplexArrayBufferSize;*)
   PROCEDURE NdrConformantStringBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrConformantStringBufferSize;*)
   PROCEDURE NdrNonConformantStringBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrNonConformantStringBufferSize;*)
   PROCEDURE NdrEncapsulatedUnionBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrEncapsulatedUnionBufferSize;*)
   PROCEDURE NdrNonEncapsulatedUnionBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrNonEncapsulatedUnionBufferSize;*)
   PROCEDURE NdrByteCountPointerBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrByteCountPointerBufferSize;*)
   PROCEDURE NdrXmitOrRepAsBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrXmitOrRepAsBufferSize;*)
   PROCEDURE NdrUserMarshalBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrUserMarshalBufferSize;*)
   PROCEDURE NdrInterfacePointerBufferSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrInterfacePointerBufferSize;*)
   PROCEDURE NdrContextHandleSize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrContextHandleSize;*)
   PROCEDURE NdrPointerMemorySize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR): INTEGER;

   (*END NdrPointerMemorySize;*)
   PROCEDURE NdrSimpleStructMemorySize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR): INTEGER;

   (*END NdrSimpleStructMemorySize;*)
   PROCEDURE NdrConformantStructMemorySize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR): INTEGER;

   (*END NdrConformantStructMemorySize;*)
   PROCEDURE NdrConformantVaryingStructMemorySize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR): INTEGER;

   (*END NdrConformantVaryingStructMemorySize;*)
   PROCEDURE NdrHardStructMemorySize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR): INTEGER;

   (*END NdrHardStructMemorySize;*)
   PROCEDURE NdrComplexStructMemorySize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR): INTEGER;

   (*END NdrComplexStructMemorySize;*)
   PROCEDURE NdrFixedArrayMemorySize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR): INTEGER;

   (*END NdrFixedArrayMemorySize;*)
   PROCEDURE NdrConformantArrayMemorySize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR): INTEGER;

   (*END NdrConformantArrayMemorySize;*)
   PROCEDURE NdrConformantVaryingArrayMemorySize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR): INTEGER;

   (*END NdrConformantVaryingArrayMemorySize;*)
   PROCEDURE NdrVaryingArrayMemorySize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR): INTEGER;

   (*END NdrVaryingArrayMemorySize;*)
   PROCEDURE NdrComplexArrayMemorySize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR): INTEGER;

   (*END NdrComplexArrayMemorySize;*)
   PROCEDURE NdrConformantStringMemorySize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR): INTEGER;

   (*END NdrConformantStringMemorySize;*)
   PROCEDURE NdrNonConformantStringMemorySize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR): INTEGER;

   (*END NdrNonConformantStringMemorySize;*)
   PROCEDURE NdrEncapsulatedUnionMemorySize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR): INTEGER;

   (*END NdrEncapsulatedUnionMemorySize;*)
   PROCEDURE NdrNonEncapsulatedUnionMemorySize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR): INTEGER;

   (*END NdrNonEncapsulatedUnionMemorySize;*)
   PROCEDURE NdrXmitOrRepAsMemorySize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR): INTEGER;

   (*END NdrXmitOrRepAsMemorySize;*)
   PROCEDURE NdrUserMarshalMemorySize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR): INTEGER;

   (*END NdrUserMarshalMemorySize;*)
   PROCEDURE NdrInterfacePointerMemorySize* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR): INTEGER;

   (*END NdrInterfacePointerMemorySize;*)
   PROCEDURE NdrPointerFree* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrPointerFree;*)
   PROCEDURE NdrSimpleStructFree* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrSimpleStructFree;*)
   PROCEDURE NdrConformantStructFree* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrConformantStructFree;*)
   PROCEDURE NdrConformantVaryingStructFree* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrConformantVaryingStructFree;*)
   PROCEDURE NdrHardStructFree* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrHardStructFree;*)
   PROCEDURE NdrComplexStructFree* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrComplexStructFree;*)
   PROCEDURE NdrFixedArrayFree* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrFixedArrayFree;*)
   PROCEDURE NdrConformantArrayFree* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrConformantArrayFree;*)
   PROCEDURE NdrConformantVaryingArrayFree* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrConformantVaryingArrayFree;*)
   PROCEDURE NdrVaryingArrayFree* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrVaryingArrayFree;*)
   PROCEDURE NdrComplexArrayFree* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrComplexArrayFree;*)
   PROCEDURE NdrEncapsulatedUnionFree* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrEncapsulatedUnionFree;*)
   PROCEDURE NdrNonEncapsulatedUnionFree* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrNonEncapsulatedUnionFree;*)
   PROCEDURE NdrByteCountPointerFree* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrByteCountPointerFree;*)
   PROCEDURE NdrXmitOrRepAsFree* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrXmitOrRepAsFree;*)
   PROCEDURE NdrUserMarshalFree* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrUserMarshalFree;*)
   PROCEDURE NdrInterfacePointerFree* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pMemory: WinApi.PtrSTR; pFormat: WinApi.PtrSTR);

   (*END NdrInterfacePointerFree;*)
   PROCEDURE NdrConvert2* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR; NumberParams: INTEGER);

   (*END NdrConvert2;*)
   PROCEDURE NdrConvert* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR);

   (*END NdrConvert;*)
   PROCEDURE NdrUserMarshalSimpleTypeConvert* (VAR [nil] pFlags: INTEGER; pBuffer: WinApi.PtrSTR; FormatChar: SHORTCHAR): WinApi.PtrSTR;

   (*END NdrUserMarshalSimpleTypeConvert;*)
   PROCEDURE NdrClientInitializeNew* (VAR [nil] pRpcMsg: RPC_MESSAGE; VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] pStubDescriptor: MIDL_STUB_DESC; ProcNum: INTEGER);

   (*END NdrClientInitializeNew;*)
   PROCEDURE NdrServerInitializeNew* (VAR [nil] pRpcMsg: RPC_MESSAGE; VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] pStubDescriptor: MIDL_STUB_DESC): WinApi.PtrSTR;

   (*END NdrServerInitializeNew;*)
   PROCEDURE NdrClientInitialize* (VAR [nil] pRpcMsg: RPC_MESSAGE; VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] pStubDescriptor: MIDL_STUB_DESC; ProcNum: INTEGER);

   (*END NdrClientInitialize;*)
   PROCEDURE NdrServerInitialize* (VAR [nil] pRpcMsg: RPC_MESSAGE; VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] pStubDescriptor: MIDL_STUB_DESC): WinApi.PtrSTR;

   (*END NdrServerInitialize;*)
   PROCEDURE NdrServerInitializeUnmarshall* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] pStubDescriptor: MIDL_STUB_DESC; VAR [nil] pRpcMsg: RPC_MESSAGE): WinApi.PtrSTR;

   (*END NdrServerInitializeUnmarshall;*)
   PROCEDURE NdrServerInitializeMarshall* (VAR [nil] pRpcMsg: RPC_MESSAGE; VAR [nil] pStubMsg: MIDL_STUB_MESSAGE);

   (*END NdrServerInitializeMarshall;*)
   PROCEDURE NdrGetBuffer* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; BufferLength: INTEGER; Handle: WinApi.PtrVoid): WinApi.PtrSTR;

   (*END NdrGetBuffer;*)
   PROCEDURE NdrNsGetBuffer* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; BufferLength: INTEGER; Handle: WinApi.PtrVoid): WinApi.PtrSTR;

   (*END NdrNsGetBuffer;*)
   PROCEDURE NdrSendReceive* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pBufferEnd: WinApi.PtrSTR): WinApi.PtrSTR;

   (*END NdrSendReceive;*)
   PROCEDURE NdrNsSendReceive* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pBufferEnd: WinApi.PtrSTR; VAR [nil] pAutoHandle: WinApi.PtrVoid): WinApi.PtrSTR;

   (*END NdrNsSendReceive;*)
   PROCEDURE NdrFreeBuffer* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE);

   (*END NdrFreeBuffer;*)
   PROCEDURE [ccall] NdrClientCall2* (VAR [nil] pStubDescriptor: MIDL_STUB_DESC; pFormat: WinApi.PtrSTR): LONGINT;

   (*END NdrClientCall2;*)
   PROCEDURE [ccall] NdrClientCall* (VAR [nil] pStubDescriptor: MIDL_STUB_DESC; pFormat: WinApi.PtrSTR): LONGINT;

   (*END NdrClientCall;*)
   PROCEDURE NdrStubCall2* (pThis: WinOle.IRpcStubBuffer; pChannel: WinOle.IRpcChannelBuffer; VAR [nil] pRpcMsg: RPC_MESSAGE; VAR [nil] pdwStubPhase: INTEGER): INTEGER;

   (*END NdrStubCall2;*)
   PROCEDURE NdrServerCall2* (VAR [nil] pRpcMsg: RPC_MESSAGE);

   (*END NdrServerCall2;*)
   PROCEDURE NdrStubCall* (pThis: WinOle.IRpcStubBuffer; pChannel: WinOle.IRpcChannelBuffer; VAR [nil] pRpcMsg: RPC_MESSAGE; VAR [nil] pdwStubPhase: INTEGER): INTEGER;

   (*END NdrStubCall;*)
   PROCEDURE NdrServerCall* (VAR [nil] pRpcMsg: RPC_MESSAGE);

   (*END NdrServerCall;*)
   PROCEDURE NdrServerUnmarshall* (pChannel: WinOle.IRpcChannelBuffer; VAR [nil] pRpcMsg: RPC_MESSAGE; VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] pStubDescriptor: MIDL_STUB_DESC; pFormat: WinApi.PtrSTR; pParamList: WinApi.PtrVoid): INTEGER;

   (*END NdrServerUnmarshall;*)
   PROCEDURE NdrServerMarshall* (pThis: WinOle.IRpcStubBuffer; pChannel: WinOle.IRpcChannelBuffer; VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR);

   (*END NdrServerMarshall;*)
   PROCEDURE NdrMapCommAndFaultStatus* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; VAR [nil] pCommStatus: INTEGER; VAR [nil] pFaultStatus: INTEGER; Status: RPC_STATUS): RPC_STATUS;

   (*END NdrMapCommAndFaultStatus;*)
   PROCEDURE RpcSsAllocate* (Size: INTEGER): WinApi.PtrVoid;

   (*END RpcSsAllocate;*)
   PROCEDURE RpcSsDisableAllocate* ();

   (*END RpcSsDisableAllocate;*)
   PROCEDURE RpcSsEnableAllocate* ();

   (*END RpcSsEnableAllocate;*)
   PROCEDURE RpcSsFree* (NodeToFree: WinApi.PtrVoid);

   (*END RpcSsFree;*)
   PROCEDURE RpcSsGetThreadHandle* (): WinApi.PtrVoid;

   (*END RpcSsGetThreadHandle;*)
   PROCEDURE RpcSsSetClientAllocFree* (ClientAlloc: RPC_CLIENT_ALLOC; ClientFree: RPC_CLIENT_FREE);

   (*END RpcSsSetClientAllocFree;*)
   PROCEDURE RpcSsSetThreadHandle* (Id: WinApi.PtrVoid);

   (*END RpcSsSetThreadHandle;*)
   PROCEDURE RpcSsSwapClientAllocFree* (ClientAlloc: RPC_CLIENT_ALLOC; ClientFree: RPC_CLIENT_FREE; VAR [nil] OldClientAlloc: RPC_CLIENT_ALLOC; VAR [nil] OldClientFree: RPC_CLIENT_FREE);

   (*END RpcSsSwapClientAllocFree;*)
   PROCEDURE RpcSmAllocate* (Size: INTEGER; VAR [nil] pStatus: RPC_STATUS): WinApi.PtrVoid;

   (*END RpcSmAllocate;*)
   PROCEDURE RpcSmClientFree* (pNodeToFree: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcSmClientFree;*)
   PROCEDURE RpcSmDestroyClientContext* (VAR [nil] ContextHandle: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcSmDestroyClientContext;*)
   PROCEDURE RpcSmDisableAllocate* (): RPC_STATUS;

   (*END RpcSmDisableAllocate;*)
   PROCEDURE RpcSmEnableAllocate* (): RPC_STATUS;

   (*END RpcSmEnableAllocate;*)
   PROCEDURE RpcSmFree* (NodeToFree: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcSmFree;*)
   PROCEDURE RpcSmGetThreadHandle* (VAR [nil] pStatus: RPC_STATUS): WinApi.PtrVoid;

   (*END RpcSmGetThreadHandle;*)
   PROCEDURE RpcSmSetClientAllocFree* (ClientAlloc: RPC_CLIENT_ALLOC; ClientFree: RPC_CLIENT_FREE): RPC_STATUS;

   (*END RpcSmSetClientAllocFree;*)
   PROCEDURE RpcSmSetThreadHandle* (Id: WinApi.PtrVoid): RPC_STATUS;

   (*END RpcSmSetThreadHandle;*)
   PROCEDURE RpcSmSwapClientAllocFree* (ClientAlloc: RPC_CLIENT_ALLOC; ClientFree: RPC_CLIENT_FREE; VAR [nil] OldClientAlloc: RPC_CLIENT_ALLOC; VAR [nil] OldClientFree: RPC_CLIENT_FREE): RPC_STATUS;

   (*END RpcSmSwapClientAllocFree;*)
   PROCEDURE NdrRpcSsEnableAllocate* (VAR [nil] pMessage: MIDL_STUB_MESSAGE);

   (*END NdrRpcSsEnableAllocate;*)
   PROCEDURE NdrRpcSsDisableAllocate* (VAR [nil] pMessage: MIDL_STUB_MESSAGE);

   (*END NdrRpcSsDisableAllocate;*)
   PROCEDURE NdrRpcSmSetClientToOsf* (VAR [nil] pMessage: MIDL_STUB_MESSAGE);

   (*END NdrRpcSmSetClientToOsf;*)
   PROCEDURE NdrRpcSmClientAllocate* (Size: INTEGER): WinApi.PtrVoid;

   (*END NdrRpcSmClientAllocate;*)
   PROCEDURE NdrRpcSmClientFree* (NodeToFree: WinApi.PtrVoid);

   (*END NdrRpcSmClientFree;*)
   PROCEDURE NdrRpcSsDefaultAllocate* (Size: INTEGER): WinApi.PtrVoid;

   (*END NdrRpcSsDefaultAllocate;*)
   PROCEDURE NdrRpcSsDefaultFree* (NodeToFree: WinApi.PtrVoid);

   (*END NdrRpcSsDefaultFree;*)
   PROCEDURE NdrFullPointerXlatInit* (NumberOfPointers: INTEGER; XlatSide: XLAT_SIDE): PtrFULL_PTR_XLAT_TABLES;

   (*END NdrFullPointerXlatInit;*)
   PROCEDURE NdrFullPointerXlatFree* (VAR [nil] pXlatTables: FULL_PTR_XLAT_TABLES);

   (*END NdrFullPointerXlatFree;*)
   PROCEDURE NdrFullPointerQueryPointer* (VAR [nil] pXlatTables: FULL_PTR_XLAT_TABLES; pPointer: WinApi.PtrVoid; QueryType: SHORTCHAR; VAR [nil] pRefId: INTEGER): INTEGER;

   (*END NdrFullPointerQueryPointer;*)
   PROCEDURE NdrFullPointerQueryRefId* (VAR [nil] pXlatTables: FULL_PTR_XLAT_TABLES; RefId: INTEGER; QueryType: SHORTCHAR; VAR [nil] ppPointer: WinApi.PtrVoid): INTEGER;

   (*END NdrFullPointerQueryRefId;*)
   PROCEDURE NdrFullPointerInsertRefId* (VAR [nil] pXlatTables: FULL_PTR_XLAT_TABLES; RefId: INTEGER; pPointer: WinApi.PtrVoid);

   (*END NdrFullPointerInsertRefId;*)
   PROCEDURE NdrFullPointerFree* (VAR [nil] pXlatTables: FULL_PTR_XLAT_TABLES; Pointer: WinApi.PtrVoid): INTEGER;

   (*END NdrFullPointerFree;*)
   PROCEDURE NdrAllocate* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; Len: INTEGER): WinApi.PtrVoid;

   (*END NdrAllocate;*)
   PROCEDURE NdrClearOutParameters* (VAR [nil] pStubMsg: MIDL_STUB_MESSAGE; pFormat: WinApi.PtrSTR; ArgAddr: WinApi.PtrVoid);

   (*END NdrClearOutParameters;*)
   PROCEDURE NdrOleAllocate* (Size: INTEGER): WinApi.PtrVoid;

   (*END NdrOleAllocate;*)
   PROCEDURE NdrOleFree* (NodeToFree: WinApi.PtrVoid);

   (*END NdrOleFree;*)
END WinRpc.