IHolder::AllocResource メソッド (comsvcs.h)

インベントリからリソースを割り当てます。

構文

HRESULT AllocResource(
  [in]  const RESTYPID __MIDL__IHolder0000,
  [out] RESID          *__MIDL__IHolder0001
);

パラメーター

[in] __MIDL__IHolder0000

割り当てるリソースの種類。

[out] __MIDL__IHolder0001

割り当てられたリソースのハンドルが返される場所へのポインター。

戻り値

このメソッドは、次の値を返すことができます。

リターン コード 説明
S_OK
メソッドは正常に完了しました。
E_INVALIDARG
ResTypIdNULL または空の文字列であるか、リソース ディスペンサーの IDispenserDriver::CreateResource メソッドによって空または重複する RESID が生成されました。
E_fail
メソッドが失敗しました。 pResId パラメーターが設定されていません。 原因として、呼び出し元のトランザクションが中止されている可能性があります。

解説

ディスペンサー マネージャーは、リソースを見つけるために次の手順を実行します。

  1. 呼び出し元の現在のトランザクションに既に参加している、この RESTYPID の空きリソースをプールで検索します。
  2. この RESTYPID の無料の未参加リソースをプールで検索し、呼び出し元の現在のトランザクションに参加させます。
  3. Resource Dispenser の IDispenserDriver::CreateResource メソッドを呼び出してリソースを作成し、参加します。
呼び出し元に現在のトランザクションがない場合、参加はスキップされます。 または、リソース ディスペンサーが参加を拒否した場合 (つまり、リソースがトランザクションに対応していない場合)、参加はスキップされます。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー comsvcs.h

関連項目

IDispenserDriver

IDispenserManager

IHolder