IHolder::TrackResource メソッド (comsvcs.h)
リソースを追跡します。
構文
HRESULT TrackResource(
[in] const RESID __MIDL__IHolder0003
);
パラメーター
[in] __MIDL__IHolder0003
追跡するリソースのハンドル。 TrackResource を呼び出す前に、リソース ディスペンサーによってこのリソースが既に作成されています。
戻り値
このメソッドは、次の値を返すことができます。
リターン コード | 説明 |
---|---|
|
メソッドは正常に完了しました。 |
|
ResId は有効なリソース ハンドルではありません。 |
|
メソッドが失敗しました。 リソースが追跡されていません。 原因として、呼び出し元のトランザクションが中止されている可能性があります。 |
注釈
一部のリソースはインベントリに保持されません。彼らは常にオンデマンドで製造されています。 Holder は、オブジェクトの有効期間の最後に残されたリソースを自動的に解放するメカニズムとしてのみ使用されます。
TrackResource は、 IHolder::UntrackResource を呼び出してリソースが解放されるまで、または TrackResource を呼び出したオブジェクトが解放されるまでリソースを追跡する必要があることをホルダーに通知します。この時点で、ディスペンサー マネージャーはリソースを自動的に解放します。
TrackResource がトランザクション オブジェクトから呼び出されると、Resource Dispenser の IDispenserDriver::EnlistResource メソッドが呼び出されます。 EnlistResource メソッドは、リソースをトランザクションに参加させることができます。または、リソースがトランザクションに対応せず、参加されていないことを示すS_FALSEを返すことができます。
このリソースは、次の両方が当てはまる場合に最終的に破棄されます。
- リソース ディスペンサーは IHolder::UntrackResource を呼び出すか (コンポーネントの要求時に最も可能性が高い)、またはオブジェクトの有効期間が終了します。
- リソースが参加したトランザクション (存在する場合) が実行されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | comsvcs.h |
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示