2011-01-24 7 views

risposta

4

Un parametro PSTR* fuori significa il chiamante passa in un buffer che riceve un puntatore a una stringa.

In __deref_out_opt, la stringa è opzionale (funzione mette NULL nel buffer del chiamante fornito).

In __deref_opt_out, il buffer è facoltativa (il chiamante passa NULL per indicare disinteresse il valore di uscita).

Presumibilmente, è possibile combinare questi concetti, ci dovrebbe essere un modificatore __deref_opt_out_opt per quello.

+0

Dove inserisco _opt per "l'altro caso" in cui la funzione può impostare il parametro di uscita su NULL? – John

+0

Dopo "out", come in "__deref_out_opt". La documentazione SAL descrive il caso di '__deref_opt' in particolare, e in questo caso il buffer potrebbe non esistere. Volete che il buffer esista, quindi semplice '__deref', ma il puntatore memorizzato in esso può essere NULL, quindi' _out_opt'. –

Problemi correlati