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 |