IDebugThread2::GetThreadProperties
Возвращает свойства, описывающие этот поток.
Синтаксис
Параметры
dwFields
[in] Сочетание флагов из перечисления THREADPROPERTY_FIELDS , определяющее ptp
, какие поля должны быть заполнены.
ptp
[in, out] Структура THREADPROPERTIES , заполненная свойствами потока.
Возвращаемое значение
В случае успешного выполнения возвращается S_OK
; в противном случае возвращается код ошибки.
Замечания
Сведения, возвращаемые этим методом , обычно отображаются в окне отладки Threads .
Пример
В следующем примере показано, как реализовать этот метод для простого 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;
}