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.
}

要求

要求
Header dbgmodel.h

另请参阅

IDebugHostType 接口