Windows Web 服务错误 - 找不到语言 ID '0x809'的资源 ID '0x88'的错误字符串



我正在使用VC 中的Windows Web Service API开发一个应用程序。为了进行错误处理,我正在使用API WsGetErrorProperty()WsGetErrorString()。当我调用后者API时,WsGetErrorString(),我会收到以下错误:错误屏幕截图

错误的字符串带有资源ID" 0x88",对于语言ID找不到 '0x809'

问题发生在Windows 10 Enterprise 64bit上。我尝试将系统语言环境更改为我们,但问题仍然存在。在所有其他Windows平台(Windows 10 Enterprise 32bit,Windows 10 Pro 32/64bit,Windows 7 32/64位(都可以正常工作。

英国(GB(有效吗?请参阅语言标识符常数和字符串。

在服务器端进行wwsapi调用时,请确保使用该属性创建的WS_ERROR:

WS_ERROR_PROPERTY_LANGID设置为1033(US-ENGLISH(。

换句话说:

WS_ERROR *CreateWSError()
{
   WS_ERROR *ws_error;
   LANGID lang = MAKELANGID(1033, SUBLANG_NEUTRAL);
   WS_ERROR_PROPERTY prop = {WS_ERROR_PROPERTY_LANGID, &lang, sizeof(lang)};
   WsCreateError(&prop, 1, &ws_error);
   return ws_error;
}

并将返回的指针传递给后续呼叫。

在客户端:

ws_proxy_property prop = {ws_proxy_fault_lang_id,& lang,sizeof(lang(};

xxxx_createserviceproxy(0,//模板值& prop,//属性1,//属性计数& serviceproxy,错误(((

最新更新