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


Метод IDebugHostType::GetArrayDimensions (dbgmodel.h)

Метод GetArrayDimensions возвращает набор дескрипторов, по одному для каждого измерения массива, как указано методом GetArrayDimensionality. Каждый дескриптор представляет собой структуру ArrayDimension, которая описывает начальный индекс, длину и шаг вперед каждого измерения массива. Это позволяет описаниям значительно более мощных конструкций массивов, чем разрешено в системе типов C.

Для массивов стилей C здесь возвращается одно измерение массива со значениями, которые всегда:

  • LowerBound = 0
  • Length = ARRAYSIZE(array)
  • Stride = sizeof(elementType)

Синтаксис

HRESULT GetArrayDimensions(
  ULONG64        dimensions,
  ArrayDimension *pDimensions
);

Параметры

dimensions

Указывает количество дескрипторов измерения для получения. Это должно быть значение, полученное из вызова GetArrayDimensionality. Буфер структур массива ArrayDimension, который будет заполнен для полного описания макета массива в памяти.

pDimensions

Буфер структур массива ArrayDimension, который будет заполнен для полного описания макета массива в памяти.

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

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

Замечания

пример кода

ComPtr<IDebugHostType> spType; /* get a type for some array (see FindTypeByName) */

ArrayDimension adim;
if (SUCCEEDED(spType->GetArrayDimensions(1, &adim)))
{
    // adim indicates information about the dimension.  For C/C++, length is 
    // the largely relevant field.  C/C++ arrays are always zero based.  The 
    // stride field would indicate the size of the array element type.
}

Требования

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

См. также

интерфейс IDebugHostType