Método IDebugHostType2::GetBitField (dbgmodel.h)
Si un miembro determinado de una estructura de datos es un campo de bits (por ejemplo: ULONG MyBits:8), la información de tipo para el campo contiene información sobre la ubicación del campo de bits. El método GetBitField se puede usar para recuperar esa información. Este método producirá un error en cualquier tipo que no sea un campo de bits. Este es el único motivo por el que se producirá un error en el método. Simplemente llamar a este método y examinar el éxito o el error es suficiente para distinguir un campo de bits de un campo que no es de bits.
Si un tipo determinado es un campo de bits, las posiciones de campo se definen mediante el conjunto medio abierto (lsbOfField + lengthOfField : lsbOfField]
Sintaxis
HRESULT GetBitField(
ULONG *lsbOfField,
ULONG *lengthOfField
);
Parámetros
lsbOfField
Indica el bit menos significativo del campo (donde se define 0 para que sea el bit menos significativo del tipo contenedor). El campo de bits se define para utilizar bits desde este punto hacia el bit más significativo del tipo contenedor según la longitud especificada por el argumento lengthOfField.
lengthOfField
Número de bits del campo. Será al menos uno y no más del número de bits del tipo contenedor. El campo de bits ocupa del bit especificado en el argumento lsbOfField hacia arriba hacia arriba hacia el bit más significativo del valor contenedor según el número de bits devueltos aquí.
Valor devuelto
Este método devuelve HRESULT que indica éxito o error.
Comentarios
Código de ejemplo
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.
}
Requisitos
Requisito | Valor |
---|---|
Header | dbgmodel.h |