次の方法で共有


IDebugThread2::GetThreadProperties

このスレッドを記述するプロパティを取得します。

構文

int GetThreadProperties (
    enum_THREADPROPERTY_FIELDS dwFields,
    THREADPROPERTIES[]         ptp
);

パラメーター

dwFields
[入力] 入力する ptp のフィールドを決定する、THREADPROPERTY_FIELDS 列挙型のフラグの組み合わせ。

ptp
[入力、出力] スレッドのプロパティを使用して入力される THREADPROPERTIES 構造体。

戻り値

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

解説

このメソッドから返される情報は、通常、[スレッド] デバッグ ウィンドウに表示されます。

次の例は、IDebugThread2 インターフェイスを実装する単純な CProgram オブジェクトに対してこのメソッドを実装する方法を示しています。

HRESULT CProgram::GetThreadProperties(THREADPROPERTY_FIELDS dwFields,
                                      THREADPROPERTIES *ptp)
{
    HRESULT hr = E_FAIL;

    // Check for valid argument.
    if (ptp)
    {
        // Create an array of buffers at ptp the size of the
        // THREADPROPERTIES structure and set all of the
        // buffers at ptp to 0.
        memset(ptp, 0, sizeof (THREADPROPERTIES));

        // Check if there is a valid THREADPROPERTY_FIELDS and the TPF_ID flag is set.
        if (dwFields & TPF_ID)
        {
            // Check for successful assignment of the current thread ID to
            // the dwThreadId of the passed THREADPROPERTIES.
            if (GetThreadId(&(ptp->dwThreadId)) == S_OK)
            {
                // Set the TPF_ID flag in the THREADPROPERTY_FIELDS enumerator
                // of the passed THREADPROPERTIES.
                ptp->dwFields |= TPF_ID;
            }
        }

        hr = S_OK;
    }
    else
        hr = E_INVALIDARG;

    return hr;
}

関連項目