⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmqxpas.pas

📁 delphi写的IBM mq服务器
💻 PAS
📖 第 1 页 / 共 4 页
字号:
 (*
  MQDXP_DEFAULT {MQDXP_STRUC_ID_ARRAY},\
                       MQDXP_CURRENT_VERSION,\
                       0L,\
                       0L,\
                       0L,\
                       0L,\
                       0L,\
                       MQCC_OK,\
                       MQRC_NONE,\
                       MQXDR_CONVERSION_FAILED,\
                       0L
  *)

 (*********************************************************************)
 (*  MQPXP Structure -- Publish/Subscribe Routing Exit Parameter      *)
 (*********************************************************************)

 TMQPXP = record
   StrucId: MQCHAR4;               (* Structure identifier *)
   Version: MQLONG;                (* Structure version number *)
   ExitId: MQLONG;                 (* Type of exit *)
   ExitReason: MQLONG;             (* Reason for invoking exit *)
   ExitResponse: MQLONG;           (* Response from exit *)
   ExitResponse2: MQLONG;          (* Reserved *)
   Feedback: MQLONG;               (* Feedback code *)
   ExitNumber: MQLONG;             (* Exit number *)
   ExitUserArea: MQBYTE16;         (* Exit user area *)
   ExitData: MQCHAR32;             (* Exit data *)
   HeaderLength: MQLONG;           (* Reserved *)
   MsgInLength: MQLONG;            (* Length of input message data *)
   MsgOutLength: MQLONG;           (* Length of output message data *)
   DestinationType: MQLONG;        (* Type of destination for message *)
   MsgDescPtr: PMQMD;              (* Address of message descriptor *)
   MsgInPtr: PMQVOID;              (* Address of input message data *)
   MsgOutPtr: PMQVOID;             (* Address of output message data *)
   StreamName: MQCHAR48;           (* Name of stream *)
   QMgrName: MQCHAR48;             (* Name of local queue manager *)
   DestinationQName: MQCHAR48;     (* Name of destination queue *)
   DestinationQMgrName: MQCHAR48;  (* Name of destination queue
                                      manager *)
  end;
 PMQPXP = ^TMQPXP;

 (*
  MQPXP_DEFAULT {MQPXP_STRUC_ID_ARRAY},\
                       MQPXP_CURRENT_VERSION,\
                       MQXT_PUBSUB_ROUTING_EXIT,\
                       0L,\
                       MQXCC_OK,\
                       0L,\
                       MQFB_NONE,\
                       1L,\
                       {MQXUA_NONE_ARRAY},\
                       {""},\
                       0L,\
                       0L,\
                       0L,\
                       MQDT_APPL,\
                       NULL,\
                       NULL,\
                       NULL,\
                       {""},\
                       {""},\
                       {""},\
                       {""}
 *)

 (*********************************************************************)
 (*  MQWCR Structure -- Cluster Workload Exit Cluster Record          *)
 (*********************************************************************)

 TMQWCR = record
   ClusterName     : MQCHAR48;       (* Cluster name *)
   ClusterRecOffset: MQLONG;         (* Offset of next cluster record *)
   ClusterFlags    : MQLONG;         (* Cluster flags *)
 end;
 PMQWCR = ^TMQWCR;

 (*
  MQWCR_DEFAULT {""},\
                       0L,\
                       0L
 *)

 (*********************************************************************)
 (*  MQWDR Structure -- Cluster Workload Exit Destination Record      *)
 (*********************************************************************)

 TMQWDR = record
   StrucId         : MQCHAR4;  (* Structure identifier *)
   Version         : MQLONG;   (* Structure version number *)
   StrucLength     : MQLONG;   (* Length of MQWDR structure *)
   QMgrFlags       : MQLONG;   (* Queue-manager flags *)
   QMgrIdentifier  : MQCHAR48; (* Queue-manager identifier *)
   QMgrName        : MQCHAR48; (* Queue-manager name *)
   ClusterRecOffset: MQLONG;   (* Offset of first cluster record *)
   ChannelState    : MQLONG;   (* Channel state *)
   ChannelDefOffset: MQLONG;   (* Offset of channel definition
                                   structure *)
 end;
 PMQWDR = ^TMQWDR;
 PPMQWDR = ^PMQWDR;

 (*
  MQWDR_DEFAULT {MQWDR_STRUC_ID_ARRAY},\
                       MQWDR_CURRENT_VERSION,\
                       MQWDR_CURRENT_LENGTH,\
                       0L,\
                       {""},\
                       {""},\
                       0L,\
                       0L,\
                       0L
  *)

 (*********************************************************************)
 (*  MQWQR Structure -- Cluster Workload Exit Queue Record            *)
 (*********************************************************************)

 TMQWQR = record
   StrucId         : MQCHAR4;   (* Structure identifier *)
   Version         : MQLONG;    (* Structure version number *)
   StrucLength     : MQLONG;    (* Length of MQWQR structure *)
   QFlags          : MQLONG;    (* Queue flags *)
   QName           : MQCHAR48;  (* Queue name *)
   QMgrIdentifier  : MQCHAR48;  (* Queue-manager identifier *)
   ClusterRecOffset: MQLONG;    (* Offset of first cluster record *)
   QType           : MQLONG;    (* Queue type *)
   QDesc           : MQCHAR64;  (* Queue description *)
   DefBind         : MQLONG;    (* Default binding *)
   DefPersistence  : MQLONG;    (* Default message persistence *)
   DefPriority     : MQLONG;    (* Default message priority *)
   InhibitPut      : MQLONG;    (* Whether put operations on the queue
                                   are allowed *)
 end;
 PMQWQR = ^TMQWQR;
 PPMQWQR = ^PMQWQR;

 (*
  MQWQR_DEFAULT {MQWQR_STRUC_ID_ARRAY},\
                       MQWQR_CURRENT_VERSION,\
                       MQWQR_CURRENT_LENGTH,\
                       0L,\
                       {""},\
                       {""},\
                       0L,\
                       0L,\
                       {""},\
                       0L,\
                       0L,\
                       0L,\
                       0L
 *)

 (*********************************************************************)
 (*  MQWXP Structure -- Cluster Workload Exit Parameter               *)
 (*********************************************************************)

 TMQWXP = record
   StrucId            : MQCHAR4;           (* Structure identifier *)
   Version            : MQLONG;            (* Structure version number *)
   ExitId             : MQLONG;            (* Type of exit *)
   ExitReason         : MQLONG;            (* Reason for invoking exit *)
   ExitResponse       : MQLONG;            (* Response from exit *)
   ExitResponse2      : MQLONG;            (* Secondary response from exit *)
   Feedback           : MQLONG;            (* Reserved *)
   Reserved           : MQLONG;            (* Reserved *)
   ExitUserArea       : MQBYTE16;          (* Exit user area *)
   ExitData           : MQCHAR32;          (* Exit data *)
   MsgDescPtr         : PMQMD;             (* Address of message descriptor *)
   MsgBufferPtr       : PMQVOID;           (* Address of buffer containing some
                                              or all of the message data *)
   MsgBufferLength    : MQLONG;            (* Length of buffer containing
                                              message data *)
   MsgLength          : MQLONG;            (* Length of complete message *)
   QName              : MQCHAR48;          (* Queue name *)
   QMgrName           : MQCHAR48;          (* Name of local queue manager *)
   DestinationCount   : MQLONG;            (* Number of possible destinations *)
   DestinationChosen  : MQLONG;            (* Destination chosen *)
   DestinationArrayPtr: PPMQWDR;           (* Address of an array of pointers to
                                              destination records *)
   QArrayPtr          : PPMQWQR;           (* Address of an array of pointers to
                                              queue records *)
   CacheContext       : MQPTR;             (* Context information *)
   CacheType          : MQLONG;            (* Type of cluster cache *)
 end;
 PMQWXP = ^TMQWXP;

 (*
  MQWXP_DEFAULT {MQWXP_STRUC_ID_ARRAY},\
                       MQWXP_CURRENT_VERSION,\
                       0L,\
                       0L,\
                       MQXCC_OK,\
                       0L,\
                       0L,\
                       0L,\
                       {MQXUA_NONE_ARRAY},\
                       {""},\
                       NULL,\
                       NULL,\
                       0L,\
                       0L,\
                       {""},\
                       {""},\
                       0L,\
                       0L,\
                       NULL,\
                       NULL,\
                       NULL,\
                       MQCLCT_DYNAMIC
 *)

 (*********************************************************************)
 (*  MQ_CHANNEL_EXIT -- Channel Exit Datatype                         *)
 (*********************************************************************)

  // MQCHANNELEXIT MQ_CHANNEL_EXIT

  procedure MQ_CHANNEL_EXIT (
     pChannelExitParms    : Pointer;  (* Channel exit parameter block *)
     pChannelDefinition   : Pointer;  (* Channel definition *)
     var DataLength       : MQLONG;   (* Length of data *)
     var AgentBufferLength: MQLONG;   (* Length of agent buffer *)
     pAgentBuffer         : Pointer;  (* Agent buffer *)
     var ExitBufferLength : MQLONG;   (* Length of exit buffer *)
     pExitBufferAddr      : Pointer); (* Address of exit buffer *)
  cdecl;
  external 'mqm.dll' name 'MQ_CHANNEL_EXIT';



 (*********************************************************************)
 (*  MQ_CHANNEL_AUTO_DEF_EXIT -- Channel Auto Def Exit Datatype       *)
 (*********************************************************************)

  // MQCHANNELAUTODEFEXIT MQ_CHANNEL_AUTO_DEF_EXIT

  procedure MQ_CHANNEL_AUTO_DEF_EXIT (
     pChannelExitParms: Pointer;   (* Channel exit parameter block *)
     pChannelDefinition: Pointer); (* Channel definition *)
  cdecl;
  external 'mqm.dll' name 'MQ_CHANNEL_AUTO_DEF_EXIT';


 (*********************************************************************)
 (*  MQ_CLUSTER_WORKLOAD_EXIT -- Cluster Workload Exit Datatype       *)
 (*********************************************************************)

  procedure MQ_CLUSTER_WORKLOAD_EXIT (
     var ExitParms: TMQWXP); (* Exit parameter block *)
  cdecl;
  external 'mqm.dll' name 'MQ_CLUSTER_WORKLOAD_EXIT';


 (*********************************************************************)
 (*  MQ_DATA_CONV_EXIT -- Data Conversion Exit Datatype               *)
 (*********************************************************************)

  // MQDATACONVEXIT MQ_DATA_CONV_EXIT

  procedure MQ_DATA_CONV_EXIT (
     var DataConvExitParms: TMQDXP;  (* Data-conversion exit parameter
                                        block *)
     var MsgDesc: TMQMD;             (* Message descriptor *)
     InBufferLength: MQLONG;         (* Length in bytes of InBuffer *)
     pInBuffer: Pointer;             (* Buffer containing the unconverted
                                        message *)
     OutBufferLength: MQLONG;        (* Length in bytes of OutBuffer *)
     pOutBuffer: Pointer);           (* Buffer containing the converted
                                        message *)
  cdecl;
  external 'mqm.dll' name 'MQ_DATA_CONV_EXIT';


 (*********************************************************************)
 (*  MQ_PUBSUB_ROUTING_EXIT -- Pub/Sub Routing Exit Datatype          *)
 (*********************************************************************)

  procedure MQ_PUBSUB_ROUTING_EXIT (
     var ExitParms: TMQPXP  ); (* Exit parameter block *)
  cdecl;
  external 'mqm.dll' name 'MQ_PUBSUB_ROUTING_EXIT';


 (*********************************************************************)
 (*  MQ_TRANSPORT_EXIT -- Transport Retry Exit Datatype               *)
 (*********************************************************************)

//  MQTRANSPORTEXIT MQ_TRANSPORT_EXIT

  procedure MQ_TRANSPORT_EXIT (
     pExitParms: Pointer;          (* Exit parameter block *)
     DestAddressLength: MQLONG;    (* Length in bytes of destination IP
                                      address *)
     pDestAddress: PMQCHAR);       (* Destination IP address *)
  cdecl;
  external 'mqm.dll' name 'MQ_TRANSPORT_EXIT';



 (*********************************************************************)
 (*  MQXCLWLN Function -- Cluster Workload Navigate Records           *)
 (*********************************************************************)

  procedure MQXCLWLN (
    var ExitParms : TMQWXP;     (* Exit parameter structure *)
    pCurrentRecord: Pointer;    (* Address of current record *)
    NextOffset    : MQLONG;     (* Offset of next record *)
    pNextRecord   : Pointer;    (* Address of next record or structure *)
    var CompCode  : MQLONG;     (* Completion code *)
    var Reason    : MQLONG);    (* Reason code qualifying CompCode *)
  cdecl;
  external 'mqm.dll' name 'MQXCLWLN';


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -