IDebugHostType::GetArrayDimensions-Methode (dbgmodel.h)

Die GetArrayDimensions-Methode gibt einen Satz von Deskriptoren zurück, einen für jede Dimension des Arrays, wie durch die GetArrayDimensionality-Methode angegeben. Jeder Deskriptor ist eine ArrayDimension-Struktur, die den Anfangsindex, die Länge und den Vorwärtsschritt jeder Arraydimension beschreibt. Dies ermöglicht Beschreibungen von wesentlich leistungsfähigeren Arraykonstrukten, als im C-Typsystem zulässig sind.

Für Arrays im C-Stil wird hier eine einzelne Arraydimension mit Werten zurückgegeben, die immer sind:

  • LowerBound = 0
  • Length = ARRAYSIZE(array)
  • Stride = sizeof(elementType)

Syntax

HRESULT GetArrayDimensions(
  ULONG64        dimensions,
  ArrayDimension *pDimensions
);

Parameter

dimensions

Gibt die Anzahl der abzurufenden Dimensionsdeskriptoren an. Dies muss der Wert sein, der von einem Aufruf von GetArrayDimensionality abgerufen wird. Ein Puffer von Dimensionen ArrayDimension-Strukturen, der ausgefüllt wird, um das Layout des Arrays im Arbeitsspeicher vollständig zu beschreiben.

pDimensions

Ein Puffer von Dimensionen ArrayDimension-Strukturen, der ausgefüllt wird, um das Layout des Arrays im Arbeitsspeicher vollständig zu beschreiben.

Rückgabewert

Diese Methode gibt HRESULT zurück, das den Erfolg oder Fehler angibt.

Hinweise

Beispielcode

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

Anforderungen

Anforderung Wert
Header dbgmodel.h

Weitere Informationen

IDebugHostType-Schnittstelle