StackWalk2 関数で使用されるアプリケーション定義のコールバック関数。 これは、スタック ウォークに必要なターゲット属性値を提供します。
PGET_TARGET_ATTRIBUTE_VALUE64 型は、このコールバック関数へのポインターを定義します。 GetTargetAttributeValueProc64 は、アプリケーション定義関数名のプレースホルダーです。
構文
PGET_TARGET_ATTRIBUTE_VALUE64 PgetTargetAttributeValue64;
BOOL PgetTargetAttributeValue64(
[in] HANDLE hProcess,
[in] DWORD Attribute,
[in] DWORD64 AttributeData,
[out] DWORD64 *AttributeValue
)
{...}
パラメーター
[in] hProcess
スタック トレースが生成されるプロセスのハンドル。
[in] Attribute
要求されている atttribute を示す数値。 現在定義されている値は次のとおりです。
| 名前 | 価値 |
|---|---|
| TARGET_ATTRIBUTE_PACMASK (0x01) | スタック ウォークャーが、スタックがウォークされるプロセスの ARM64 ポインター認証マスクを要求していることを示します。 |
この属性が要求されている場合、AttributeData パラメーターは PAC マスクがフェッチされるアドレスを示します。 これにより、EL0/1/2 (ユーザー モードとカーネル モードなど) の PAC マスクを区別できます。
PAC が無効になっている場合 (またはスタック ウォークが ARM64 プラットフォーム用でない場合)、実装は、この属性を指定できないことを示す FALSE を返す必要があります。
特殊な値 TARGET_ATTIBUTE_PACMASK_LIVETARGET (0xffffffff'ffffffff) は、PAC マスクが StackWalk2 を呼び出すプロセスと同じであることを示す値として返される場合があります。
[in] AttributeData
Attribute パラメーターに関連付けられているデータ値。 このパラメーターの意味は、要求される属性によって異なります。
[out] AttributeValue
コールバックの実装では、成功を返す前に、要求された属性の値をここに配置する必要があります。
戻り値
この関数は、属性値が AttributeValue 出力パラメーターに正常に格納されたかどうかを返します。 指定された属性が認識されないか、問題のプラットフォームに関係ない場合、関数は FALSE を返す必要があります。
備考
typedef
BOOL
(__stdcall *PGET_TARGET_ATTRIBUTE_VALUE64)(
_In_ HANDLE hProcess,
_In_ DWORD Attribute,
_In_ DWORD64 AttributeData,
_Out_ DWORD64 *AttributeValue
);
必要条件
| 要件 | 価値 |
|---|---|
| ターゲット プラットフォーム の | ウィンドウズ |
| ヘッダー | dbghelp.h |
| 再頒布可能パッケージの | DbgHelp.dll 10.0.22621.4602 以降 |