ホーム › Networking.Clustering › PONLINE_ROUTINE
PONLINE_ROUTINE
コールバックシグネチャ
DWORD PONLINE_ROUTINE(
void* Resource,
HANDLE* EventHandle
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| Resource | void* | 使用可能にするリソースのリソース識別子です。 |
| EventHandle | HANDLE* | 入力時、EventHandle は NULL です。出力時、 EventHandle には非シグナル状態の 同期オブジェクトのハンドルが格納されます。 リソース DLL は、このハンドルを任意のタイミングでシグナル状態にして、 Resource Monitor にリソースの障害を報告できます。 EventHandle は出力時に NULL に設定されることもあり、その場合はリソースが非同期のイベント通知をサポートしていないことを示します。 |
公式ドキュメント
<a href="/previous-versions/windows/desktop/mscs/resources">リソース</a>を使用可能な状態としてマークします。
<b>PONLINE_ROUTINE</b> 型は、この関数へのポインターを定義します。
戻り値
| リターンコード/値 | 説明 |
|---|---|
| 操作は成功し、リソースは オンラインになりました。 | |
|
リソースは他のいくつかのシステムとの間で調停 (アービトレーション) が行われ、他のシステムの 1 つが調停に勝ちました。この値を返すのは クォーラム対応リソースのみです。 |
|
要求は保留中であり、オンライン要求を処理するためのスレッドがアクティブ化されました。 |
その他の理由で操作が成功しなかった場合、 Online は システムエラーコードのいずれかを返す必要があります。
解説(Remarks)
Online エントリーポイント関数が ERROR_IO_PENDING 以外のエラーコードを返した場合、 Resource Monitor はイベントをログに記録し、 Terminate を呼び出します。
有効な EventHandle を返すと、次の利点があります。
- Resource Monitor は LooksAlive のポーリングを実行しません。このオーバーヘッドを回避できることは、特に DLL が複数のリソースインスタンスをサポートする場合に有用です。
- ハンドルをシグナル状態にすることで、任意のタイミングでリソースの障害を報告できます。Resource Monitor は直ちに IsAlive を呼び出して、リソースが実際に障害状態であることを確認します。
例
Resource DLL Examples を参照してください。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)