Поделиться через


Метод IDebugHostType2::GetBitField (dbgmodel.h)

Если заданный элемент структуры данных является битовой областью (например, ULONG MyBits:8), сведения о типе поля содержат сведения о размещении битового поля. Метод GetBitField можно использовать для получения этой информации. Этот метод завершится ошибкой в любом типе, который не является битовой. Это единственная причина, по которой метод завершится ошибкой. Просто вызывая этот метод и глядя на успешность или сбой, достаточно для отличия битового поля от небитового поля.

Если заданный тип происходит в битовом поле, позиции полей определяются половина открытого набора (lsbOfField + lengthOfField : lsbOfField : lsbOfField].

Синтаксис

HRESULT GetBitField(
  ULONG *lsbOfField,
  ULONG *lengthOfField
);

Параметры

lsbOfField

Указывает наименьший значительный бит поля (где 0 определен как наименее значимый бит содержащего типа). Битовое поле определяется для использования битов с этой точки в направлении наиболее значительного бита содержащего типа в соответствии с длиной, указанной аргументом lengthOfField.

lengthOfField

Количество битов в поле. Это будет по крайней мере один и не более количества битов в содержаемом типе. Битовое поле занимает от бита, указанного в аргументе lsbOfField вверх к самому значительному биту содержащего значения в соответствии с числом битов, возвращенных здесь.

Возвращаемое значение

Этот метод возвращает HRESULT, указывающий на успех или сбой.

Замечания

пример кода

ComPtr<IDebugHostType> spType; /* get the type of a field which is a bitmap */

ULONG lsb;
ULONG length;
if (SUCCEEDED(spType->GetBitField(&lsb, &length)))
{
    // spType refers to a bitfield.  The field is [lsb, lsb + length) in 
    // bit positions.  Were you to read memory at the location/size specified 
    // by an object of this type, you would need to mask off bits at and 
    // above 'lsb + length' and shift right by 'lsb'
    //
    // Note that IModelObject::GetRawObject will automatically do this for you. 
    // So will creating an object with this type spType via CreateTypedObject.
}

Требования

Требование Ценность
заголовка dbgmodel.h

См. также

интерфейс IDebugHostType2