|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
C++ Dll Invalid program Id |
« View previous topic :: View next topic » |
Author |
Message
|
Kumarakuru |
Posted: Mon Jan 21, 2008 9:27 pm Post subject: C++ Dll Invalid program Id |
|
|
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 |
|
 |
hos |
Posted: Tue Jan 22, 2008 4:37 am Post subject: |
|
|
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 |
|
 |
Kumarakuru |
Posted: Tue Jan 22, 2008 6:10 pm Post subject: Its working |
|
|
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 |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|