IDiaSymbol::get_numericProperties
Récupère l’ensemble des propriétés numériques pour ce symbole.
Syntaxe
HRESULT get_numericProperties(
DWORD cnt,
DWORD *pcnt,
DWORD *pProperties
);
Paramètres
cnt
[in] Nombre de DWORD pointés par la mémoire tampon pProperties
.
pcnt
[out] Retourne le nombre de propriétés valides définies dans pProperties
.
pProperties
[out] Retourne l’ensemble de propriétés de ce symbole.
Valeur de retour
En cas de réussite, retourne S_OK
, sinon, retourne S_FALSE
ou un code d’erreur.
Notes
Une valeur de retour de S_FALSE
signifie que la propriété n’est pas disponible pour le symbole.
Exemple
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;
}
}