特定の会話または呼び出し元アプリケーションが現在確立しているすべての会話に対するトランザクションを有効または無効にする。
DdeEnableCallback idInst, hConv, wCmd
idInst : [int] 型: DWORD DdeInitialize 関数の以前の呼び出しで取得したアプリケーションインスタンス識別子。 hConv : [intptr] 型: HCONV 有効/無効にする会話へのハンドル。NULL の場合、関数はすべての会話に影響する。 wCmd : [int] 型: UINT
(プラグイン / モジュール : user32.dll)
特定の会話または呼び出し元アプリケーションが現在確立しているすべての会話に対するトランザクションを有効または無効にする。 [戻り値] 型: BOOL 関数が成功した場合、戻り値は 0 以外。関数が失敗した場合、戻り値は 0。wCmd が EC_QUERYWAITING で、アプリケーションのトランザクションキューに処理されていない 1 つ以上の未処理トランザクションがある場合、戻り値は TRUE。それ以外の場合は FALSE。エラーコードは DdeGetLastError 関数で取得でき、次のいずれかになる: [備考] アプリケーションは DDE コールバック関数から CBR_BLOCK 戻りコードを返すことで特定の会話のトランザクションを無効化できる。DdeEnableCallback 関数を使って会話を再有効化すると、オペレーティングシステムは会話が無効化されたときに進行中だったトランザクションと同じトランザクションを生成する。EC_QUERYWAITING フラグを使っても会話の有効状態は変わらず、DdeEnableCallback の呼び出しコンテキスト内でトランザクションが発行されることもない。EC_QUERYWAITING で DdeEnableCallback を呼んで関数が 0 以外を返した場合、アプリケーションは速やかにメッセージ処理を許可する、コールバックから戻る、またはコールバックを有効化するように努めるべきである。そのような結果は、後続のコールバックが行われることを保証するものではない。EC_QUERYWAITING で DdeEnableCallback を呼ぶことで、コールバックがブロックされたアプリケーションはブロックされた会話に対して保留中のトランザクションがあるかどうかを判定できる。もちろん、そのような呼び出しが 0 を返しても、アプリケーションは常にメッセージをタイムリーに処理すべきである。
| プラグイン / モジュール | user32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の user32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_user32_gen2.hs |