Angenommen, eine Methode von einer COM-Schnittstelle gibt den BSTR-Wert zurück. Habe ich meiner Meinung nach Recht, dass ich es freigeben muss?
Das Codebeispiel unter Ссылка macht das nicht.
Wer ist falsch?
Das MSDN-Beispiel ist falsch. Der Anrufer gibt bstrs aus und ein / aus. Wenn es in / out ist, musst du null oder ein gültiges bstr übergeben. Wenn es nur out ist, muss es nicht initialisiert werden.
Es ist nicht super klar von msdn com Zuteilungsregeln , aber die Der Client-Stub weist den Speicher auf Aus-Werte zu, so dass der Server dies aus Sicht des Aufrufers getan hat. Wer sonst kann es außer dem Anrufer freigeben?