Call a DLL on Windows from AS400

Is it  possible to Invoke/Call a DLL on a windows Platform From an AS/400 passing it various Parameters and then wait until a return value is received.
Thanks for your help in Advance.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

The only way I know of doing it  is write a VB/C++ etc program that reads a reques from a dataq calls the DLL and sents the result back via the dataq

dataq access is part of client  access and there are may examples provided by IBM.

Let me know if you need more details on dataq's


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Or if it is interactive
Your could write the parms to a file in QDLS or the IFS,
to run a PC program to read the parms, write the data back to a file and read it.

Never tried it, but perhaps the following about rundll32.exe will give you another direction to look...
A little more infromation on the underlying requirement might help as you will not be able to access any DLL function directly. The interfaces described above only work for an executable file. The data queues suggestion is solid but it will mean that the iSeries session will need to wait for a reply but full consideration must be given to the possibility of the PC program not responding.

You can pass parameters to an exceutable PC file via the command line on the STRPCCMD but there is no capability to return a value.

If you wanted to get cute you could:
1. initiate a PC program passing parameters via STRPCCMD.
2. get that PC program to acquire the iSeries session using EHLLAPI
3. once the PC program has calcaulated the response this could be posted into a hidden field again using EHLLAPI
4. the PC program could then send an AID key to the iSeries session so that it reads the hidden firled
5. Release the EHLLAPI lock in the PC program and end the PC program

This will work but may over-engineer your problem.

No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:

Accept DaveSlater comment as answer

Please leave any comments here within the next seven days.

Dave Slater
Page Editor

It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
IBM System i

From novice to tech pro — start learning today.