다음을 통해 공유


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 인터페이스