Freigeben über


Out-Only eindeutige oder vollständige Zeigerparameter nicht akzeptiert

Eindeutige oder vollständige Zeiger, die [ ]-only sind, werden vom MIDL-Compiler nicht akzeptiert. Solche Spezifikationen führen dazu, dass der MIDL-Compiler eine Fehlermeldung generiert.

Der automatisch generierte Server-Stub muss Speicher für den Zeigerreferent zuweisen, damit die Serveranwendung Daten in diesem Speicherbereich speichern kann. Gemäß der Definition eines [out]-only-Parameter werden keine Informationen über den Parameter vom Client an den Server übertragen. Im Fall eines eindeutigen Zeigers, der den Wert NULL annehmen kann, verfügt der Server-Stub nicht über genügend Informationen, um den eindeutigen Zeiger im Adressraum des Servers ordnungsgemäß zu duplizieren, oder verfügt der Stub ü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.

Anstatt [, eindeutige] oder [out, ptr] Zeiger, verwenden Sie [in, , eindeutigen] oder [in, out, ptr] Zeiger oder verwenden Sie eine andere Ebene der Dereferenzierung, z. B. einen Verweiszeiger, der auf den gültigen eindeutigen oder vollständigen Zeiger zeigt.