簡體   English   中英

動態調用WinRT接口

[英]Dynamic calls to WinRT interfaces

我想從C或C ++對WinRT對象進行動態(即基於反射)調用。 我將假設我在運行時可以獲得winmd文件,以便我可以找出方法是什么以及它們采用了什么參數。

在OLE自動化中,IDispatch隨后可用於進行實際調用。 但是,WinRT對象不支持IDispatch。 我怎么才能打電話? 根據處理器的COM調用約定,我是否需要某種允許動態傳遞參數的FFI庫? 或者我真的需要“靜態”類/結構聲明(對於C / C ++)?

編輯 :目標系統是一個地鐵風格的應用程序。 這排除了涉及禁用API的解決方案。

當然可以構建您正在描述的內容 - 這正是Chakra Javascript引擎與winrt元數據完全相同的內容,與CLR的功能類似。 這兩種語言預測都會在運行時發現API並構建低級程序集以實現此目的。

這是一項很多工作,並不是特別令人愉快,但它在技術上絕對可行。 Windows元數據包含為API和結構創建存根所需的所有信息。

暫無
暫無

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

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