Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если заданный элемент структуры данных является битовой областью (например, 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 |