Was ist der Unterschied zwischen __deref_out_opt und __deref_opt_out?
-
23-10-2019 - |
Frage
Was ist der Unterschied zwischen den folgenden Sal Anmerkungen?
void foo(__deref_out_opt PSTR* bar);
void foo(__deref_opt_out PSTR* bar);
Lösung
EIN PSTR*
Out Parameter bedeutet, dass der Anrufer einen Puffer übergibt, der einen Zeiger auf eine Zeichenfolge empfängt.
In __DEREF_OUT_OPT ist die Zeichenfolge optional (die Funktion steckt Null in den von Caller bereitgestellten Puffer).
In __DEREF_OPT_OUT ist der Puffer optional (der Anrufer übergibt Null, um das Desinteresse am Ausgangswert anzuzeigen).
Vermutlich ist es möglich, diese Konzepte zu kombinieren, es sollte a geben __deref_opt_out_opt
Modifikator dafür.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow