ICallFrame::Free メソッド (callobj.h)
メモリ リークを回避するために、フレーム コピーを解放します。
Copy メソッドを使用して呼び出しフレームのコピーが作成された場合、呼び出しフレームはコピーされたデータを自動的にクリーンしません。 したがって、呼び出しフレームのコピーが返された後、ユーザーは Free メソッドを呼び出してフレーム コピーを解放し、メモリ リークを回避する必要があります。
構文
HRESULT Free(
[in] ICallFrame *pframeArgsDest,
[in] ICallFrameWalker *pWalkerDestFree,
[in] ICallFrameWalker *pWalkerCopy,
[in] DWORD freeFlags,
[in] ICallFrameWalker *pWalkerFree,
[in] DWORD nullFlags
);
パラメーター
[in] pframeArgsDest
ICallFrame インターフェイスのインスタンスへのポインター。 フレーム コピーを解放する前に out パラメーターをコピーする必要がある呼び出しフレームのスタック ポインターを表します。 コピー先フレームは、通常、フレームが最初にコピーされた親フレームです。 このパラメーターは省略可能です。
フレームを解放し、受信側フレームと同じメモリ空間にある pframeArgsDest パラメーターを指定すると、各インターフェイス ポインターで pWalkerCopy パラメーターのみが呼び出されます。
[in] pWalkerDestFree
ICallFrameWalker インターフェイスのインスタンスへのポインター。 pframeArgsDest にパラメーターの入力と出力が存在する場合は、それらの値を解放する必要があります。 pWalkerDestFree オブジェクトを指定すると、インターフェイス ポインターが解放されます。 pframeArgsDest が NULL の場合、このパラメーターも NULL である必要があり、Release メソッドを呼び出してインターフェイス ポインターを解放する必要があります。
[in] pWalkerCopy
ICallFrameWalker インターフェイスのインスタンスへのポインター。 pframeArgsDest の in パラメーターと out パラメーターが解放されると、out パラメーターの伝達が実行されます。このパラメーターが指定されていない場合、インターフェイス ポインターは AddRef に渡されます。 このパラメーターは省略可能です。
[in] freeFlags
CALLFRAME_FREE列挙からのフラグ。
[in] pWalkerFree
ICallFrameWalker インターフェイスのインスタンスへのポインター。 指定すると、解放中に検出された各インターフェイス ポインターに対してコールバックが行われます。 このパラメーターが指定されていない場合、インターフェイス ポインターは Release メソッドによって解放されます。
[in] nullFlags
CALLFRAME_NULL列挙からのフラグ。
戻り値
このメソッドは、次の値を返すことができます。
リターン コード | 説明 |
---|---|
|
メソッドは正常に完了しました。 |
|
予期しないエラーが発生しました。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | callobj.h |