18 #ifndef YY_PLATFORM_SDK_YY_API_GET_H
19 #define YY_PLATFORM_SDK_YY_API_GET_H
22 #include "yy-api-client.h"
23 #include "yy-api-ex-client.h"
25 typedef yy::IYY* (*IYYCREATEFUNC)(void);
27 #define YYPLATFORM_SDK_FUNC_NAME ("GetYYOpenInterface")
29 #define YYPLATFORM_SDK_DLL_NAME _T("yyplatformsdk.dll")
32 #define YYPLATFORM_SDK_EX_FUNC_NAME ("GetOpenApiInterface")
33 typedef int (*IYYQUERYINTERFACE)(
int type,
const wchar_t *cmdline,
void** api);
35 inline yy::IYY* GetYYApi(
unsigned int& err)
37 HMODULE hModule = ::LoadLibrary(YYPLATFORM_SDK_DLL_NAME);
41 err = ::GetLastError();
45 IYYCREATEFUNC pFunc = (IYYCREATEFUNC)::GetProcAddress(hModule, YYPLATFORM_SDK_FUNC_NAME);
49 err = ::GetLastError();
81 inline int GetYYAPIEx(
yy::IYYEx** api,
const wchar_t * cmd_line)
83 HMODULE hModule = ::LoadLibrary(YYPLATFORM_SDK_DLL_NAME);
90 IYYQUERYINTERFACE pFunc = (IYYQUERYINTERFACE)::GetProcAddress(hModule, YYPLATFORM_SDK_EX_FUNC_NAME);
94 return pFunc(1, cmd_line, (
void **)api);