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


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

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

Если заданный тип является битовое поле, позиции полей определяются полуоткрытым набором (lsbOfField + lengthOfField : 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