パラメーターに適用されるポインター属性
各ポインター属性 ([ ref]、[ unique]、および [ ptr]) には、メモリ割り当てに影響する特性があります。 次の表は、これらの特性をまとめたものです。
ポインター属性 | クライアント | サーバー |
---|---|---|
参照 ([ref]) | クライアント アプリケーションは、割り当てる必要があります。 | [出力] のみの非トップ レベル ポインターに必要な特別な処理。 |
Unique ([unique]) | パラメーターの場合、クライアント アプリケーションは を割り当てる必要があります。埋め込まれている場合は、null を指定できます。 null から null 以外に変更すると、クライアント スタブが割り当てられます。null 以外から null に変更すると、孤立する可能性があります。 |
|
Full ([ptr]) | パラメーターの場合、クライアント アプリケーションは を割り当てる必要があります。埋め込まれている場合は、null を指定できます。 null から null 以外に変更すると、クライアント スタブが割り当てられます。null 以外から null に変更すると、孤立する可能性があります。 |
[ref] 属性は、ポインターが有効なメモリを指していることを示します。 定義上、クライアント アプリケーションは、参照ポインターに必要なすべてのメモリを割り当てる必要があります。
一意のポインターは null から null 以外に変更できます。 一意のポインターが null から null 以外に変更された場合は、クライアントに新しいメモリが割り当てられます。 一意のポインターが null 以外から null に変わると、孤立が発生する可能性があります。 詳細については、「 メモリ孤立」を参照してください。