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 |