You need to either clear the md.correlid before each put or use MQPMO_new_correl_id. Otherwise, MQ will use (and return) whatever was there before the put instead of generating a unique value to serve your purpose.
memcpy(md.MsgId, MQMI_NONE, sizeof(md.MsgId) );
memcpy(md.MsgId, yourvalue, sizeof(yourvalue) );
The first line clears out message-id, the second line populates it with yourvalue. If yourvalue is always 24 bytes, then you don't need the first line.
Assuming transaction ID always contains hex digits, then you can convert every two hex digits to a binary value that occupies 1 byte. The entire 32 digits can then be passed in 16 bytes of the message-id. MQ won't touch the value in message-id, so at the other end or when the message makes it's...
Maybe your program will run, maybe not. It certainly won't need the PIF.
Open windows explorer and navigate to the folder that contains the .exe file you want to run. Double click on it. If you are lucky, it will startup the DOS program in a command window.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.