IClosable.Close メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Windows ランタイム オブジェクトによって公開されるシステム リソースを解放します。
。ネット このインターフェイスは System.IDisposable として表示されます。
C++/CX このインターフェイスは Platform::IDisposable として表示されます。
public:
void Close();
void Close();
public void Close();
function close()
Public Sub Close ()
注釈
以下の実装/呼び出し元のメモは、WRL に主に関連します。
実装者へのメモ
ファイル ハンドル、ストリーム、ネットワーク ソケットなど、使用中の排他的なシステム リソースを解放するには、このメソッドを実装します。 メソッドは、再利用できるように準備するために、オブジェクト参照やメモリなど、使用中の他のリソースも解放する必要があります。
このメソッドは、 IClosable を実装するオブジェクトの Close メソッドを呼び出す必要があります。
Close メソッドは、非同期操作の完了をブロックすることなく、システム リソースをできるだけ早く解放する必要があります。 すべてのリソースが完全に解放されるようにするには、呼び出し元は、未処理のすべての非同期操作が完了するまで待機してから Close を呼び出す必要があります。
Close が返された後、オブジェクトはまだメモリ内にありますが、必要なシステム リソースはありません。そのため、そのメンバーのほとんどは使用できません。 解放されたシステム リソースに依存するメンバーは 、オブジェクト が閉じられ、要求された操作を完了できないことを示すために、RO_E_CLOSEDを返すことができます。
呼び出し元へのメモ
Close を複数回呼び出した場合、効果はありません。メソッドは S_OKを返します。
Close メソッドは、クラスが IClosable を実装Windows ランタイムクラス インスタンスでは C++/CX を介して呼び出すことはできませんが、現在のスコープの末尾で自動的に呼び出されます。 ランタイム クラスの C++/CX コードでは、デストラクターを呼び出すか、最後の参照を null に設定する必要があります。
C# では、このメソッドは Dispose として公開されます。 Dispose を直接呼び出すか、 using ステートメントを使用できます。