Out-Only eindeutige oder vollständige Zeigerparameter nicht akzeptiert
Eindeutige oder vollständige Zeiger, die [ out]-only sind, werden vom MIDL-Compiler nicht akzeptiert. Solche Spezifikationen führen dazu, dass der MIDL-Compiler eine Fehlermeldung generiert.
Der automatisch generierte Serverstub muss Arbeitsspeicher für den Zeigerreferenz zuweisen, damit die Serveranwendung Daten in diesem Speicherbereich speichern kann. Gemäß der Definition eines [out]-only-Parameters werden keine Informationen über den Parameter vom Client an den Server übertragen. Bei einem eindeutigen Zeiger, der den Wert NULL annehmen kann, verfügt der Serverstub nicht über genügend Informationen, um den eindeutigen Zeiger im Adressraum des Servers ordnungsgemäß zu duplizieren, und der Stub verfügt auch nicht über Informationen darüber, ob der Zeiger auf eine gültige Adresse zeigen soll oder ob er auf NULL festgelegt werden soll. Daher ist diese Kombination nicht zulässig.
Verwenden Sie anstelle von [out, unique] oder [out, ptr] Zeigern [in, out, unique] oder [in, out, ptr] oder verwenden Sie eine andere Dereferenzierungsebene, z. B. einen Verweiszeiger, der auf den gültigen eindeutigen oder vollständigen Zeiger verweist.