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 |