locked
WP8 available API-s RRS feed

  • Question

  • Dear Sirs,

       I keep coming across API-s in the SDK ( say SysAllocString in VC\WPSDK\WP80\include\comutil.h ) that seem to be allowed ( look at %ProgramFiles%\Microsoft SDKs\Windows Phone\v8.0\Tools\Marketplace\AllowList.xml, in it <API> <PublicAPI> ... <Library Name="OLEAUT32.dll"> <Export Name="SysAllocString" Ordinal="2" /> ... ) ,but it is somehow hidden from me. Hidden, meaning, that the declaration of the function is not in those places I suppose allowed to be used, not in the EXPORT section of the .lib-s I am linking to.

       One way of getting ahead would be using the GetProcAddress (encouraged in msdn.microsoft.com/en-us/library/windows/desktop/ms683212(v=vs.85).aspx) would be possible.

       I am still wondering what would be the standpoint of Microsoft on the issue?

    Kind Regards,

    Friday, May 17, 2013 9:30 AM

Answers

  • Hi,

    The primary API reference for WP8 is here.

    The documented public APIs are those that are officially supported, and explicitly exposed for programmers using the WP8 SDK.

    It is likely that there are APIs inside DLLs that are not intended to be used for that purpose; for example there may be a DLL that is in a lower layer than the API layer exposed for developers.

    It is also possible that we may have exposed APIs in DLLs that we shouldn't have.

    In general the advice is to avoid using APIs that are not officially supported because they may not have been fully tested and approved as a public API, they are likely not documented, your app may be rejected by Marketplace, and the non-public API may disappear or change in a future version. Regarding the official public APIs, we have a responsibility to retain them in future versions because your apps are dependent on them.

    If you believe there is an error in our documentation, please let us know.

    Hope this helps,
    Mark


    Getting Started? Click here
    Blog: Windows Store & Phone Developer Solutions

    Friday, May 17, 2013 2:56 PM