在Windows Phone应用程序中使用32位COM对象

在Windows Phone应用程序中使用32位COM对象,com,windows-phone,Com,Windows Phone,是否可以在Windows Phone 8+应用程序中使用老式的32位COM对象?我们谈论的是非视觉的 对于Windows Phone 8.0,我不确定,但对于8.1,没有法律可以阻止这一点 对于8.1,您需要将其封装在一个C++/CX类中,然后将该类用作添加到引用项目文件夹中的常规组件 8,也许是Windows电话的C++库,可以用C代码来使用。< /P> 但是有一条规则:本机集成代码必须只使用Unicode,并且只有Win32 API的子集可用。这里列出了它们:如果您找到regsvr32.e

是否可以在Windows Phone 8+应用程序中使用老式的32位COM对象?我们谈论的是非视觉的

对于Windows Phone 8.0,我不确定,但对于8.1,没有法律可以阻止这一点

对于8.1,您需要将其封装在一个C++/CX类中,然后将该类用作添加到引用项目文件夹中的常规组件

8,也许是Windows电话的C++库,可以用C代码来使用。< /P>


但是有一条规则:本机集成代码必须只使用Unicode,并且只有Win32 API的子集可用。这里列出了它们:

如果您找到regsvr32.exe-是:)严格来说,这不是注册COM的唯一方法,它只是注册类的网关。但我认为你的答案是“不知道怎么做”?实际上,它内部可以与ANSI一起工作:看起来支持WideCharToMultiByte和MultiByteToWideChar。@VadimBerman这些API都是Unicode。WCG(反之亦然)用于将传入数据转换为Unicode或从Unicode转换过来。@EricBrown:您看到“本机集成代码必须仅使用Unicode”和“API都是Unicode”之间的区别了吗?因为,您知道,本机集成代码并不是所有对Windows API的调用。@VadimBerman我确实看到了区别;在我的编码过程中,我最终会将数据传递给某个API,通常是越早越好。如果您是那种重新发明API而不是使用API的开发人员,那么我想您可能需要更长的时间将数据转换为Unicode。在我自己的代码中,我使用了一组内部使用ANSI的库,但是在提供WP使用的一些API之前,我需要将它们转换为Unicode并使用一个仅使用Unicode的API。您可以验证上传到应用程序的测试版是否一切正常。如果您使用的是任何类型的不允许API(ANSI或任何其他未经授权的调用),则无法上载XAP。