COM サーバーのメソッドを呼び出すと、_com_util::ConvertStringToBSTR でランダムにアクセス違反エラーが発生します。
g_quote->RegisterQuote(_bstr_t(pszTicker), _bstr_t(_T("*")));
RegisterQuote 署名:
HRESULT __stdcall RegisterQuote(BSTR bstrSymbol, BSTR bstrExch);
詳しくは:
int GetQuotesEx(LPCTSTR pszTicker, int nPeriodicity, int nLastValid, int nSize, struct Quotation* pQuotes, GQEContext* pContext) {
const RecentInfoMap::const_iterator it = g_mapRecentInfo.find(pszTicker);
if (it == g_mapRecentInfo.end()) {
g_quote->RegisterQuote(_bstr_t(pszTicker), _bstr_t("*"));
return nLastValid + 1;
}
}
なぜこのバグが発生するのかわかりません。必要に応じて追加情報を提供できます。
アップデート: