次の方法で共有


IDiaStackWalkHelper2::GetPointerAuthenticationMask

ポインター認証マスクの値を取得します。

構文

HRESULT GetPointerAuthenticationMask ( 
    ULONG64 PtrVal,
    ULONG64* AuthMask
);

パラメーター

PtrVal

[in]デコードするスタックからのポインター。

AuthMask

[out]認証マスクの値を返します。

戻り値

成功した場合は、S_OK を返します。それ以外の場合は、エラー コードを返します。

解説

現在、ARM64 ハードウェアと OS のみがポインター認証をサポートしているため、このコールバックは ARM64 スタックをウォークするときにのみ呼び出されます。 AuthMaskにすべてのビットが設定されている場合 (0xFFFFFFFFFFFFFFFFull)、ターゲット スタックが現在のプロセスと同じポインター認証を共有するため、DIA は OS API を使用してポインターをデコードする必要があることを意味します。 逆に、 AuthMask にビットが設定されていない場合は、ポインター認証が使用されていないか有効になっていないため、ポインターをデコードする必要がないことを意味します。 それ以外の場合、 AuthMask には、ポインター認証の一部であるポインターのすべての部分に対して 1 ビット、ポインターの基本部分に対して 0 が設定されている必要があります。

関連項目