gpt4 book ai didi

api - 在 PUT API 导出中获取队列名称 (MQ_PUT_EXIT)

转载 作者:行者123 更新时间:2023-12-01 14:37:30 25 4
gpt4 key购买 nike

在 Put MQ API Exit(之前或之后)中,是否有任何方法可以获取目标队列的名称(即调用“put”调用的队列)。

我尝试查询 Hobj 参数,但收到一条错误消息,提示尚未使用查询选项打开对象(这是一种有效的可能性)。

我还检查了 pPutMsgOpts 参数的 ResolvedQName 字段,但那是空白的。

是否有任何其他方式获取目标队列名称?任何想法将不胜感激。

最佳答案

已解析队列管理器和已解析队列的名称在 object descriptor 中返回在 MQXR_AFTER 期间可访问调用 PUT1 或 OPEN。

查看示例程序 `amqsaxe0.c,您将看到以下函数签名:

MQ_OPEN_EXIT OpenAfter;

void MQENTRY OpenAfter ( PMQAXP pExitParms
, PMQAXC pExitContext
, PMQHCONN pHconn
, PPMQOD ppObjDesc
, PMQLONG pOptions
, PPMQHOBJ ppHobj
, PMQLONG pCompCode
, PMQLONG pReason
)


MQ_PUT1_EXIT Put1After;

void MQENTRY Put1After ( PMQAXP pExitParms
, PMQAXC pExitContext
, PMQHCONN pHconn
, PPMQOD ppObjDesc
, PPMQMD ppMsgDesc
, PPMQPMO ppPut1MsgOpts
, PMQLONG pBufferLength
, PPMQVOID ppBuffer
, PMQLONG pCompCode
, PMQLONG pReason
)

之前调用中的对象描述符具有应用程序指定的对象名称。 after 调用中的相同结构具有在调用期间解析的 QMgr 和队列的名称。由于 PUT1 在一个步骤中执行打开、放置和关闭,因此它必须解析队列名称。然而,在单独的 open、put(, put...)、close 调用的情况下,名称解析仅在打开期间发生一次。

请查看 /var/mqm/sampC:\Program Files (x86)\IBM\WebSphere MQ\tools\c\Samples 中的示例amqsaxe0.c 程序。

关于api - 在 PUT API 导出中获取队列名称 (MQ_PUT_EXIT),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12423020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com