Frage

Was ist der Unterschied zwischen den folgenden Sal Anmerkungen?

void foo(__deref_out_opt PSTR* bar);

void foo(__deref_opt_out PSTR* bar);
War es hilfreich?

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
scroll top