IDebugHostType::GetArrayDimensions メソッド (dbgmodel.h)
GetArrayDimensions メソッドは、GetArrayDimensionality メソッドで示されているように、配列の次元ごとに 1 つずつ、記述子のセットを返します。 各記述子は ArrayDimension 構造体であり、各配列ディメンションの開始インデックス、長さ、および前方ストライドを記述します。 これにより、C 型システムで許可されるよりもはるかに強力な配列コンストラクトの説明が可能になります。
C スタイルの配列の場合は、常に次の値を持つ 1 つの配列ディメンションがここで返されます。
- 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 |