Поделиться через


IDiaSymbol::get_numericProperties

Извлекает набор числовых свойств для этого символа.

Синтаксис

HRESULT get_numericProperties(
    DWORD cnt,
    DWORD *pcnt,
    DWORD *pProperties
);

Параметры

cnt

[in] Число DWORD, на которые указывает буфер pProperties.

pcnt

[out] Возвращает количество допустимых свойств, заданных в pProperties.

pProperties

[out] Возвращает набор свойств для этого символа.

Возвращаемое значение

При успешном выполнении возвращает S_OK, в противном случае возвращает S_FALSE или код ошибки.

Примечание.

Возвращаемое значение S_FALSE означает, что свойство недоступно для символа.

Пример

CComPtr<pSymbol> pSymbol;
BOOL f = FALSE;
HRESULT hr = E_FAIL;
...

hr = pSymbol->get_isHLSLData(&f);
if (FAILED(hr)) {
    return hr;
}
if (f) {
    DWORD value = 0;
    hr = pSymbol->get_numberOfRegisterIndices(&value);
    if (hr == S_OK && value > 0) {
        DWORD *pOff = new (std::nothrow) DWORD[value];
        if (pOff == NULL) {
            return E_OUTOFMEMORY;
        }
        DWORD propertiesRead;
        if (IfOkOrReportAuto(pSymbol->get_numericProperties(value, &propertiesRead, pOff))) {
            value = __min(value, propertiesRead);
            for (DWORD i = 0; i < value; i++) {
                printf("%u\n", pOff[i]);
            }
        }
        delete[] pOff;
    }
}

См. также