2010-03-09 42 views

回答

1

所有Symbian OS二進制文件都有三個UID:UID1,UID2,UID3。

  • UID1指定目標類別(例如EXE,DLL),並自動地從MMP推斷文件TARGETTYPE關鍵字。

  • UID2指定目標子類別(例如,通用dll或插件dll)。對於ECOM插件DLL,它應該是0x10009d8d

  • UID3標識對象本身並且您必須提供一個唯一值(從未受保護的範圍中選取或從受保護的範圍中分配)。使用MMP文件UID關鍵字指定UID2和UID3。

ECOM插件資源文件包含3種的UID:

  • dll_uid是包含在一個插件資源文件中的接口/實現映射到一個插件二進制的機制DLL。它與UID3相同。

  • interface_uid是標識插件實現的接口的UID。插件接口可能有多個實現,因此需要一個識別其通用性的機制。

  • implementation_uid是接口實現的標識符。通常它與dll_uid一樣,但它不需要。在一個二進制文件中允許多個接口實現可以是不同的。

所以,UID3足夠,但ECOM框架裝載儀的資源文件需要知道二進制dll_uid也能夠請求時加載的實現。

+0

實現ID不必與實現該插件的DLL的UID3相同(儘管通常是這樣),因此您可以在單個DLL中提供多個ECOM插件。 – MathewI 2010-03-09 09:22:56

+0

@Mathewl:你說得對。感謝您的評論。我已經更新了我的答案。 – laalto 2010-03-09 09:49:53

相關問題