ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Workflow Engines - IBM MQ Workflow & Business Process Choreographer » C++ Dll Invalid program Id

Post new topic  Reply to topic
 C++ Dll Invalid program Id « View previous topic :: View next topic » 
Author Message
Kumarakuru
PostPosted: Mon Jan 21, 2008 9:27 pm    Post subject: C++ Dll Invalid program Id Reply with quote

Novice

Joined: 21 Jan 2008
Posts: 17

Hi All,

Im trying to write a C++ dll, to be used in the workflow PC DLL. What I found out is It supports only FmcDllInit as the entry point, even though I give some other name as entry point.

But the problem is, inside the code, when I try to get the inContainerStructure using

int FMC_APIENTRY FmcDllInit(char const * programID,char const * arguments)
{
APIRET ReturnCode;
FmcjReadOnlyContainerHandle InContainerHandle;
ReturnCode = FmcjContainerInContainer(&InContainerHandle);
return 0;
}

i get the return code as 135 (which is FMC_ERROR_INVALID_PROGRAMID)

Anybody any Idea what is the program id is?
Back to top
View user's profile Send private message
hos
PostPosted: Tue Jan 22, 2008 4:37 am    Post subject: Reply with quote

Chevalier

Joined: 03 Feb 2002
Posts: 470

Hm, a long time since someone asked for a PEA activity implementation.
It is recommended to use UPES instead of PEA, but anyway:

1. you should not code your program logic in DllInit()
This entry is reserved for initialization purposes for the whole lifetime of
the DLL. Have a look into the C++ sample noplib od SupportPack WA03 to
see how to code an activity implementation DLL in C++.
2. the programID is something you should not bother with.
I guess that your program definition in the FDL is wrong and therefore
the PEA is unable to correlade the DLL with the proper entry point.
See 'Getting Started wit Buildtime', chapter 8: Program definition, namely
'DLL Setting'.
Back to top
View user's profile Send private message
Kumarakuru
PostPosted: Tue Jan 22, 2008 6:10 pm    Post subject: Its working Reply with quote

Novice

Joined: 21 Jan 2008
Posts: 17

Thank you very much for your timely reply, from the build time guide and the C++ example i was able to figure out the code.

Its all about using correct entry point name and the correct FDL as you rightly pointed out.

Once again thanks for your time !!!

The solution is as follows (those who want to use)
in FDL : Remove all the check boxes (Dont Keep the DLL's loaded, Dont execute in fenced mode, No version 2 signature)

in the code, provide a
void FMC_EXPORT FmcDllInit() (Empty, unless u need any resource allocation)
void FMC_EXPORT FmcDllTerm() (Clear resources)

int FMC_EXPORT FmcNOP(char *s) (The entry point)

And specify this entry point in the FDL
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Workflow Engines - IBM MQ Workflow & Business Process Choreographer » C++ Dll Invalid program Id
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.