P3D v4 can PdkServices be invoked from processes outside of P3ds?

#1
Hello,
Is there any way to access scenario and environment parameters of Prepar3d (such as global temperature,visibility etc) by invoking PDk's services from outside of Prepar3d?
Normally we write plugins with DLLStart and stop methods that Prepar3d calls. If we want a console application or some other caller, how can we expose these services to them?
Thank you
 
#2
MerAB, Hi again.
If you read again PDK Overview then the answer to your question is: No, You can't invoke PDK's services directly from outside of Prepar3D.
Because it doesn't design for that, use SimConnect instead. If it doesn't have functionality you need, you can make:stirthepo your own bicycle SimConnect using PDK, IPC, COM technologies.

One of possible architecture I see
PDKProxy_diagram.png

1. PDKProxyServer.dll are PDK add-on that loads on Prepar3D start-up and have full authority access to PDK services. In another side it implement some kind of interprocess communication server that can receive requests from clients and respond. The simplest, but not efficient, way is to pooling shared memory on every 1Hz or Frame event by registering your Callback in EventService.
2. PDKProxy.dll is another side of IPC communication. It can be ordinary C++ class with implementation of client side communication with server or COM server that implement communication. You can even mimic to the PDK interface.
3. During UserApplication.exe development you use PDKProxy.dll and do what you want.

P.S. Dear MerAB, You have started many topics with very common subject in them. May you call for forum admin to combine it in single thread? Think about other people coming to forum.
 
#3
MerAB, Hi again.
If you read again PDK Overview then the answer to your question is: No, You can't invoke PDK's services directly from outside of Prepar3D.
Because it doesn't design for that, use SimConnect instead. If it doesn't have functionality you need, you can make:stirthepo your own bicycle SimConnect using PDK, IPC, COM technologies.

One of possible architecture I see
View attachment 44641
1. PDKProxyServer.dll are PDK add-on that loads on Prepar3D start-up and have full authority access to PDK services. In another side it implement some kind of interprocess communication server that can receive requests from clients and respond. The simplest, but not efficient, way is to pooling shared memory on every 1Hz or Frame event by registering your Callback in EventService.
2. PDKProxy.dll is another side of IPC communication. It can be ordinary C++ class with implementation of client side communication with server or COM server that implement communication. You can even mimic to the PDK interface.
3. During UserApplication.exe development you use PDKProxy.dll and do what you want.

P.S. Dear MerAB, You have started many topics with very common subject in them. May you call for forum admin to combine it in single thread? Think about other people coming to forum.
Thank you very much. I have requested admin for a merge
 
Top