共用方式為


IDebugThread2::GetThreadProperties

取得描述這個執行緒的屬性。

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

參數

  • dwFields
    [in]從的旗標組合THREADPROPERTY_FIELDS列舉型別,以判斷哪一個欄位的ptp將會自動填入。

  • ptp
    輸入 [、 輸出]A THREADPROPERTIES結構,會填入這些執行緒的屬性。

傳回值

如果成功的話,會傳回S_OK。 否則,會傳回錯誤碼。

備註

這個方法傳回的資訊通常顯示在執行緒偵錯] 視窗。

範例

下列範例會示範如何實作這個方法,如CProgram實作物件IDebugThread2介面。

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;  
}  

請參閱

參考

IDebugThread2

THREADPROPERTY_FIELDS

THREADPROPERTIES