次の方法で共有


SymGetSymPrev 関数 (dbghelp.h)

前のシンボルのシンボル情報を取得します。

メモ この関数は互換性のためにのみ提供されます。 アプリケーションでは SymPrev を使用する必要があります。
 

構文

BOOL IMAGEAPI SymGetSymPrev(
  [in]      HANDLE           hProcess,
  [in, out] PIMAGEHLP_SYMBOL Symbol
);

パラメーター

[in] hProcess

SymInitialize 関数に最初に渡されたプロセスのハンドル。

[in, out] Symbol

IMAGEHLP_SYMBOL64構造体へのポインター。

戻り値

関数が成功した場合、戻り値は TRUE になります

関数が失敗した場合、戻り値は FALSE になります。 拡張エラー情報を取得するには、 GetLastError を呼び出します。

解説

SymGetSymPrev64 関数では、有効なデータを持つIMAGEHLP_SYMBOL64構造体が必要です。これは、SymGetSymFromAddr64 関数または SymGetSymFromName64 関数の呼び出しから取得される可能性があります。 この構造体には、前のシンボルのシンボル情報が仮想アドレスごとに順番に入力されます。

この関数など、すべての DbgHelp 関数はシングル スレッドです。 そのため、複数のスレッドからこの関数を呼び出すと、予期しない動作やメモリ破損が発生する可能性があります。 これを回避するには、複数のスレッドからのすべての同時呼び出しをこの関数に同期する必要があります。

この関数の Unicode バージョンを呼び出すには、DBGHELP_TRANSLATE_TCHARを定義します。 SymGetSymPrevW64 は、DbgHelp.h で次のように定義されています。

BOOL
IMAGEAPI
SymGetSymPrevW64(
    __in HANDLE hProcess,
    __inout PIMAGEHLP_SYMBOLW64 Symbol
    );

この関数は SymGetSymPrev 関数よりも 優先されます。 詳細については、「 プラットフォーム サポートの更新」を参照してください。 SymGetSymPrev は、Dbghelp.h で次のように定義されています。

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymGetSymPrev SymGetSymPrev64
#define SymGetSymPrevW SymGetSymPrevW64
#else
BOOL
IMAGEAPI
SymGetSymPrev(
    __in HANDLE hProcess,
    __inout PIMAGEHLP_SYMBOL Symbol
    );

BOOL
IMAGEAPI
SymGetSymPrevW(
    __in HANDLE hProcess,
    __inout PIMAGEHLP_SYMBOLW Symbol
    );
#endif

要件

   
対象プラットフォーム Windows
ヘッダー dbghelp.h
Library Dbghelp.lib
[DLL] Dbghelp.dll
再頒布可能パッケージ DbgHelp.dll 5.1 以降

関連項目

DbgHelp 関数

IMAGEHLP_SYMBOL64

SymGetSymFromAddr64

SymGetSymFromName64

SymGetSymNext64

SymInitialize