4

BSTRキャッシングを無効にしようとしています:

SetOaNoCache();

VC ++コンパイラビルド出力

  • 'SetOaNoCache': identifier not found

使用したくない

  • OANOCACHE = 1

質問:

  • SetOaNoCache はどこで定義されていますか-ヘッダーファイル?
4

2 に答える 2

7

これはヘッダー ファイルでは定義されておらず、OLEAUT32.dll 内にあります。次のように呼び出すことができます。

typedef int (*SETOANOCACHE)(void);

void DisableBSTRCache() { HINSTANCE hLib = LoadLibrary("OLEAUT32.DLL"); if (hLib != NULL) { SETOANOCACHE SetOaNoCache = (SETOANOCACHE)GetProcAddress(hLib, "SetOaNoCache"); if (SetOaNoCache != NULL) SetOaNoCache(); FreeLibrary(hLib); } }

于 2009-02-16T16:26:22.247 に答える
3

そうではありません。C++ Builder に同梱されている Win32 API ライブラリから:

Requirements

Windows XP: Requires Windows XP Service Pack 2 or later.

Windows 95/98: Not supported.

Header: Not supplied. Declare prototype as shown.

Library: Use oleaut32.lib.

プロトタイプは次のとおりです。

inline void TurnOffCache ()
{
// Function prototype.
extern "C" SetOaNoCache(); 
// Turn off BSTR caching.
SetOaNoCache();
}
于 2009-02-16T16:28:31.757 に答える