Compartilhar via


Método IDebugHostType::GetBitField (dbgmodel.h)

Se um determinado membro de uma estrutura de dados for um campo de bits (por exemplo: ULONG MyBits:8), as informações de tipo para o campo serão fornecidas com ela informações sobre o posicionamento do campo de bits. O método GetBitField pode ser usado para recuperar essas informações. Esse método falhará em qualquer tipo que não seja um campo de bits. Esse é o único motivo pelo qual o método falhará. Simplesmente chamar esse método e examinar o êxito/falha é suficiente para distinguir um campo de bits de um campo não bit.

Se um determinado tipo for um campo de bits, as posições de campo serão definidas pelo meio conjunto aberto (lsbOfField + lengthOfField : lsbOfField]

Sintaxe

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

Parâmetros

lsbOfField

Indica o bit menos significativo do campo (em que 0 é definido como o bit menos significativo do tipo recipiente). O campo de bits é definido para utilizar bits desse ponto em direção ao bit mais significativo do tipo recipiente de acordo com o comprimento especificado pelo argumento lengthOfField.

lengthOfField

O número de bits no campo. Isso será pelo menos um e não mais do que o número de bits no tipo recipiente. O campo de bits ocupa do bit especificado no argumento lsbOfField para cima em direção ao bit mais significativo do valor contido de acordo com o número de bits retornados aqui.

Retornar valor

Esse método retorna HRESULT que indica êxito ou falha.

Comentários

Código de exemplo

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
Cabeçalho dbgmodel.h

Confira também

Interface IDebugHostType