Win32 API 日本語リファレンス
ホーム › Networking.Clustering › PRESOURCE_CONTROL_ROUTINE

PRESOURCE_CONTROL_ROUTINE

コールバック

シグネチャ

DWORD PRESOURCE_CONTROL_ROUTINE(
    void* Resource,
    DWORD ControlCode,
    void* InBuffer,
    DWORD InBufferSize,
    void* OutBuffer,
    DWORD OutBufferSize,
    DWORD* BytesReturned
);

パラメーター

フィールド型説明
Resourcevoid*対象となるリソースのリソース識別子。
ControlCodeDWORD実行する操作を表す 制御コード。 ControlCode パラメーターに指定できる値の一覧については、 リソースの種類の制御コード を参照してください。
InBuffervoid*操作で使用するデータを格納したバッファーへのポインター。データが不要な場合、InBuffer は NULL でもかまいません。
InBufferSizeDWORDInBuffer が指すバッファーのサイズ (バイト単位)。
OutBuffervoid*操作の結果として得られるデータを格納するバッファーへのポインター。操作がデータを返す必要がない場合、OutBuffer は NULL でもかまいません。
OutBufferSizeDWORDOutBuffer が指す使用可能な領域のサイズ (バイト単位)。
BytesReturnedDWORD*操作の結果として得られたデータの実際のサイズ (バイト単位)。

公式ドキュメント

<a href="/previous-versions/windows/desktop/mscs/resources">リソース</a>に適用される操作を実行します。
<b>PRESOURCE_CONTROL_ROUTINE</b> 型は、この関数へのポインターを定義します。

戻り値

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

解説(Remarks)

制御コードには、リソース DLL が処理すべきものと、リソース モニターに任せるべきものがあります。 ResourceControl エントリ ポイント関数の効果的な実装方法については、 Implementing ResourceControl を参照してください。

例

Resource DLL Examples を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)