DdeEnableCallback 関数 (ddeml.h)
呼び出し元アプリケーションによって現在確立されている特定の会話またはすべての会話のトランザクションを有効または無効にします。
構文
BOOL DdeEnableCallback(
[in] DWORD idInst,
[in] HCONV hConv,
[in] UINT wCmd
);
パラメーター
[in] idInst
型: DWORD
DdeInitialize 関数の以前の呼び出しによって取得されたアプリケーション インスタンス識別子。
[in] hConv
種類: HCONV
会話を有効または無効にするハンドル。 このパラメーターが NULL の場合、関数はすべての会話に影響します。
[in] wCmd
型: UINT
関数コード。 このパラメーターには、次の値のいずれかを指定できます。
戻り値
種類: BOOL
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。
wCmd パラメーターがEC_QUERYWAITINGされ、アプリケーション トランザクション キューに処理されていない 1 つ以上の未処理のトランザクションが含まれている場合、戻り値は TRUE になります。それ以外の場合は FALSE です。
DdeGetLastError 関数を使用してエラー コードを取得できます。次のいずれかの値を指定できます。
解説
アプリケーションは、動的データ交換 (DDE) コールバック関数から CBR_BLOCK リターン コードを返すことによって、特定の会話のトランザクションを無効にすることができます。 DdeEnableCallback 関数を使用して会話を再度有効にすると、オペレーティング システムは、会話が無効になったときに処理中であったのと同じトランザクションを生成します。
EC_QUERYWAITING フラグを使用しても、会話の有効化状態は変更されず、DdeEnableCallback の呼び出しのコンテキスト内でトランザクションが発行されることはありません。
ddeEnableCallback が EC_QUERYWAITING で呼び出され、関数が 0 以外の値を返す場合、アプリケーションは、メッセージ処理の迅速な許可、コールバックからの戻り、コールバックの有効化を試みる必要があります。 このような結果は、後続のコールバックが行われることを保証するものではありません。 EC_QUERYWAITINGを使用して DdeEnableCallback を呼び出すと、ブロックされたコールバックを持つアプリケーションは、ブロックされた会話で保留中のトランザクションがあるかどうかを判断できます。 もちろん、このような呼び出しで 0 が返された場合でも、アプリケーションは常にタイムリーにメッセージを処理する必要があります。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | ddeml.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |
関連項目
概念
参照