PRESOURCE_CONTROL_ROUTINE コールバック関数 (resapi.h)

リソースに適用される操作を実行 します。 PRESOURCE_CONTROL_ROUTINE型は、この関数へのポインターを定義します。

構文

PRESOURCE_CONTROL_ROUTINE PresourceControlRoutine;

DWORD PresourceControlRoutine(
  [in]            RESID Resource,
  [in]            DWORD ControlCode,
  [in, optional]  PVOID InBuffer,
  [in]            DWORD InBufferSize,
  [out, optional] PVOID OutBuffer,
  [in]            DWORD OutBufferSize,
  [out]           LPDWORD BytesReturned
)
{...}

パラメーター

[in] Resource

影響を受けるリソースのリソース識別子。

[in] ControlCode

実行する操作を表す制御コード。 ControlCode パラメーターの有効な値の一覧については、「リソースの種類の制御コード」を参照してください。

[in, optional] InBuffer

操作で使用されるデータを含むバッファーへのポインター。 データが必要ない場合は、InBuffer に NULL を指定できます。

[in] InBufferSize

InBuffer が指すバッファーのサイズ (バイト単位)。

[out, optional] OutBuffer

操作の結果として得られるデータを含むバッファーへのポインター。 OutBuffer は、操作がデータを返す必要がない場合は NULL にすることができます 。

[in] OutBufferSize

OutBuffer が指す使用可能な領域のサイズ (バイト単位)。

[out] BytesReturned

操作に起因するデータの実際のサイズ (バイト単位)。

戻り値

リターン コード/値 Description
ERROR_SUCCESS
0
ControlCode に関連付けられている操作が正常に完了しました。
ERROR_INVALID_FUNCTION
1
リソース DLL は、リソース モニターに対して、DLL によって提供される処理 (存在する場合) に加えて、ControlCode の既定の処理 (存在する場合) を実行するよう要求しました。
ERROR_MORE_DATA
234 (0xEA)
OutBuffer の割り当てられたサイズが小さすぎて、要求されたデータを保持できなかった。 BytesReturned は 、必要なサイズを示します。 文字列のバイト サイズを計算するときは、常に終端 の NULL を 含めます。
ERROR_RESOURCE_PROPERTIES_STORED
5024 (0x13A0)
リソースの新しいプロパティ値がクラスター データベースに設定されているが、プロパティがまだ有効になっていないことを示します。 新しいプロパティ値は、リソースがオフラインになってオンラインにされた後に適用されます。
エラー コード
操作が失敗しました。

注釈

一部のコントロール コードはリソース DLL で処理する必要があり、他のコードはリソース モニターに残す必要があります。 ResourceControl エントリ ポイント関数の効果的な実装戦略については、「ResourceControl の実装」を参照してください。

例

「リソース DLL の例」を参照してください。

要件

要件 値
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows Server 2008 Enterprise、Windows Server 2008 Datacenter
対象プラットフォーム Windows
ヘッダー resapi.h

こちらもご覧ください

リソース DLL Entry-Point 関数