Définition de RÉUSSI(): #define SUCCEEDED(hr) (((HRESULT)(hr)) >= 0)
Quelle constante littérale HRESULT échouera la macro SUCCEEDED()?
Contexte: Quand un bouton OK est cliqué sur une boîte de dialogue, je dois retourner une valeur HRESULT
hr
telle que SUCCEEDED(hr)
est vrai. Si le bouton Annuler est cliqué, je dois retourner une valeur négative. J'aurais pu utiliser des booléens, mais cela briserait le modèle existant (généralement les valeurs hr proviennent des profondeurs des DLL système). Donc, je sais que je peux retourner S_OK
sur Ok, mais qu'est-ce que je retourne sur Annuler? Je pourrais juste return (HRESULT)-1;
, mais il doit y avoir un meilleur moyen - une constante littérale HRESULT qui a une valeur négative et représente un échec générique. S_FALSE
n'est-ce pas, car sa valeur est définie comme 1L
.
S'il vous plaît aidez-moi à trouver la bonne constante.
Merci ... donc toutes les valeurs de E_ * échoueraient 'SUCCEEDED (hr)'? –
Oui, ils le feraient. –