當我在Windows XP中調試代碼(如下所示)時,get_tables(&_result)
將表列表分配給_result
,並將hr
的值分配爲S_OK
。函數get_tables()對Windows 7失敗,但它對Windows XP有效
如果我嘗試相同的代碼與Windows 7(32位),則get_tables
功能分配NULL(0X00000)到_result
(未除外),和的hr
的值變爲「應用程序調用一個接口,被編組爲不同的線程「。我的應用程序然後崩潰。
爲什麼Windows 7(32位)會出現這種情況?
我應該去編組線程?
或者我需要更改Windows 7的一些設置?
// Append the new table
m_pCatalog->Tables->Append(_variant_t((IDispatch *) pTableNew));
在調試我去了這一點(見下文)。
inline TablesPtr _Catalog::GetTables()
{
struct Tables * _result;
HRESULT _hr = get_Tables(&_result);
if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
return TablesPtr(_result, false);
}
請提供一些更多的上下文 – 2011-06-15 05:58:13