簡體   English   中英

使用Windows從一個進程到另一個進程的句柄(插件vst音頻)

[英]Using windows handle from one process into another (plugin vst audio)

我創建了一個64位插件(VST JUCE),它創建了一個32位應用程序的新進程。 在此應用程序中,我托管一個32位插件(VST JUCE)。

現在,我想知道是否有可能使32位進程的編輯器將其編輯器附加到主要的64位插件窗口句柄。 我可以使用管道過程傳遞原始的窗口句柄。 並致電:

VSTPluginFormat :: dispatcher(pluginLoad,14,0,0,windowHandle,0);

代碼14打開編輯器。

所以問題是,Windows允許這樣做嗎? 還是Windows對每個程序/進程都專用?

如果可以這樣做,我只需要弄清楚如何將Windows句柄void *轉換為int64並發送到我的進程即可。 在那里,我需要從int64轉換回void *。

謝謝。

Windows句柄是全局的(並且始終在較低的4GB中,因此可以在x86 / x64應用程序之間進行傳輸),並且可以做到這一點,但是在托管VST插件時,不建議這樣做。 您將需要一些時間在應用程序之間編組指針,而VST SDK並不是在設計時考慮到這一點的。

我遵循的解決方案是使用普通互操作(通常是COM,但您也可以使用文件映射)在編輯器和主機之間傳輸數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM