次の方法で共有


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

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

[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 関数