動的データ交換管理ライブラリ

動的データ交換 (DDE) は、共有メモリを使用してアプリケーション間でデータを交換するプロセス間通信の一種です。 アプリケーションでは、1 回限りのデータ転送や、データの継続的な交換や更新に DDE を使用できます。

このセクションの内容

名前 説明
DDEML について 動的なデータ交換について説明します。
基本的な概念 動的データ交換に関する主要な概念について説明します。
Conversation Management クライアントとサーバーの間の会話について説明します。
データ管理 メモリ オブジェクトがアプリケーション間でデータを渡す方法について説明します。
アプリケーションの監視 動的データ交換管理ライブラリの要素を使用して、システム内の動的データ交換アクティビティを監視するアプリケーションを作成する方法について説明します。
ネームサービス 動的データ交換管理ライブラリを使用して、サーバー アプリケーションがサポートするサービス名を登録する方法について説明します。
トランザクション管理 クライアントがトランザクションを送信してサーバーからデータとサービスを取得する方法について説明します。
DDEMLリファレンス API リファレンスを収録しています。

DDEML 関数

名前 説明
DdeAbandonTransaction 指定した非同期トランザクションを破棄し、トランザクションに関連付けられているすべてのリソースを解放します。
DdeAccessData これにより、データからオブジェクトにアクセスできます。 アプリケーションは、オブジェクト内の データへのアクセスが完了したら、 DdeUnaccessData 関数を呼び出す必要があります。
DdeAddData データを指定した DDE オブジェクトに追加します。 アプリケーションは、オブジェクトの先頭から任意のオフセットから開始するデータを追加できます。 新しいデータがオブジェクト内のデータと既に重複している場合、新しいデータは、重複が発生したバイト内の古いデータを上書きします。 書き込まれていないオブジェクト内の場所の内容は未定義です。
DdeCallback 動的データ交換管理ライブラリ (DDEML) 関数で使用されるアプリケーション定義のコールバック関数。 DDE トランザクションを処理します。 PFNCALLBACK 型は 、このコールバック関数へのポインターを定義します。 DdeCallback は、アプリケーション定義の関数名のプレースホルダーです。
DdeClientTransaction クライアントとサーバーの間のデータ トランザクションを開始します。 DDE クライアント アプリケーションのみがこの関数を呼び出すことができます。アプリケーションは、サーバーとの会話を確立した後でのみ使用できます。
DdeCmpStringHandles 2 つの文字列ハンドルの値を比較します。 文字列ハンドルの値は、関連付けられている文字列の大文字と小文字は関係ありません。
DdeConnect 指定されたサービス名とトピック名のペアをサポートするサーバー アプリケーションとの会話を確立します。 このようなサーバーが複数存在する場合、システムは 1 つだけを選択します。
DdeConnectList 指定されたサービス名とトピック名のペアをサポートするすべてのサーバー アプリケーションとの会話を確立します。 アプリケーションでは、この関数を使用して、関数に既存の会話ハンドルを渡すことによって、会話ハンドルの一覧を取得することもできます。
DdeCreateDataHandle DDE オブジェクトを作成し、指定したバッファーのデータをオブジェクトに格納します。 DDE アプリケーションは、パートナー アプリケーションにデータを渡すトランザクション中にこの関数を使用します。
DdeCreateStringHandle 指定した文字列を識別するハンドルを作成します。 DDE クライアントまたはサーバー アプリケーションは、文字列ハンドルをパラメーターとして他の動的 Data Exchange 管理ライブラリ (DDEML) 関数に渡すことができます。
DdeDisconnect DdeConnect 関数または DdeConnectList 関数によって開始された会話を終了し、指定された会話ハンドルを無効にします。
DdeDisconnectList 指定した会話リストを破棄し、リストに関連付けられているすべての会話を終了します。
DdeEnableCallback 呼び出し元アプリケーションによって現在確立されている特定の会話またはすべての会話のトランザクションを有効または無効にします。
DdeFreeDataHandle DDE オブジェクトに料金を支払い、オブジェクトに関連付けられているデータ ハンドルを削除します。
DdeFreeStringHandle 呼び出し元アプリケーションの文字列ハンドルを解放します。
DdeGetData 指定した DDE オブジェクトから指定したローカル バッファーにデータをコピーします。
DdeGetLastError DDEML 関数のエラーによって設定された最新のエラー コードを取得し、エラー コードをDMLERR_NO_ERRORにリセットします。
DdeImpersonateClient DDE クライアント会話で DDE クライアント アプリケーションを偽装します。
DdeInitialize 動的データ交換管理ライブラリ (DDEML) にアプリケーションを登録します。 アプリケーションは、他の DDEML 関数を呼び出す前に、この関数を呼び出す必要があります。
DdeKeepStringHandle 指定したハンドルに関連付けられている使用数をインクリメントします。 この関数を使用すると、アプリケーションは、アプリケーションの DDE コールバック関数に渡された文字列ハンドルを保存できます。 それ以外の場合、コールバック関数に渡された文字列ハンドルは、コールバック関数が返されるときに削除されます。 この関数は、 DdeQueryConvInfo 関数によって返される CONVINFO 構造体によって参照される文字列ハンドルのコピーを保持するためにも使用する必要があります。
DdeNameService DDE サーバーがサポートするサービス名を登録または登録解除します。 この関数により、システムは XTYP_REGISTER または XTYP_UNREGISTER トランザクションを実行中の他の Dynamic Data Exchange Management Library (DDEML) クライアント アプリケーションに送信します。
DdePostAdvise 指定したトピックと項目に対してアクティブな アドバイズ ループを使用して、各クライアントの呼び出し元 (サーバー) アプリケーションの DDE コールバック関数に、 XTYP_ADVREQ トランザクションを送信します。 サーバー アプリケーションは、トピック名または項目名のペアに関連付けられているデータが変更されるたびに、この関数を呼び出す必要があります。
DdeQueryConvInfo DDE トランザクションに関する情報と、トランザクションが実行される会話に関する情報を取得します。
DdeQueryNextServer 指定した会話リスト内の次の会話ハンドルを取得します。
DdeQueryString 文字列ハンドルに関連付けられているテキストをバッファーにコピーします。
DdeReconnect クライアント動的データ交換管理ライブラリ (DDEML) アプリケーションが、クライアントとの会話を終了したサービスとの会話を再確立できるようにします。 会話が再確立されると、DDEML は既存のアドバイズ ループを再確立しようとします。
DdeSetUserHandle アプリケーション定義の値を会話ハンドルまたはトランザクション識別子に関連付けます。 これは、非同期トランザクションの処理を簡略化するのに役立ちます。 アプリケーションでは、 DdeQueryConvInfo 関数を使用してこの値を取得できます。
DdeUnaccessData DDE オブジェクトへのアクセスを解除します。 アプリケーションは、オブジェクトへのアクセスが完了したら、この関数を呼び出す必要があります。
DdeUninitialize 呼び出し元アプリケーションに関連付けられているすべての DDEML リソースを解放します。

DDEML トランザクション

名前 説明
XTYP_ADVDATA データ項目の値が変更されたことをクライアントに通知します。 DDE クライアント コールバック関数 DdeCallback は、サーバーとのアドバイズ ループを確立した後、このトランザクションを受け取ります。
XTYP_ADVREQ 指定したトピック名とアイテム名のペアでアドバイズ トランザクションが未処理であり、トピック名とアイテム名のペアに対応するデータが変更されたことをサーバーに通知します。 サーバーが DdePostAdvise 関数を呼び出した後、システムはこのトランザクションを DDE コールバック関数 DdeCallback に送信します。
XTYP_ADVSTART クライアントは、 XTYP_ADVSTART トランザクションを使用して、サーバーとのアドバイズ ループを確立します。 クライアントが DdeClientTransaction 関数の wType パラメーターとして XTYP_ADVSTART を指定すると、DDE サーバー コールバック関数 DdeCallback はこのトランザクションを受け取ります。
XTYP_ADVSTOP クライアントは、 XTYP_ADVSTOP トランザクションを使用して、サーバーとのアドバイズ ループを終了します。 DDE サーバー コールバック関数 DdeCallback は、クライアントが DdeClientTransaction 関数で XTYP_ADVSTOP を指定すると、このトランザクションを受け取ります。
XTYP_CONNECT クライアントは、 XTYP_CONNECT トランザクションを使用して会話を確立します。 DDE サーバー コールバック関数 DdeCallback は、クライアントが DdeConnect 関数の呼び出しでサーバーがサポートするサービス名 (および NULLではないトピック名) を指定すると、このトランザクションを受け取ります。
XTYP_CONNECT_CONFIRM DDEサーバーのコールバック関数、 DdeCallbackは、 XTYP_CONNECT_CONFIRM トランザクションを受け取り、クライアントとの会話が確立されたことを確認し、サーバーに会話ハンドルを提供します。 システムは、以前の XTYP_CONNECT または XTYP_WILDCONNECT トランザクションの結果としてこのトランザクションを送信します。
XTYP_DISCONNECT アプリケーションの DDE コールバック関数 DdeCallback は、会話内のアプリケーションのパートナーが DdeDisconnect 関数を使用して会話を終了すると、 XTYP_DISCONNECT トランザクションを受け取ります。
XTYP_ERROR DDE コールバック関数 DdeCallback は、重大なエラーが発生したときに XTYP_ERROR トランザクションを受け取ります。
XTYP_EXECUTE クライアントは、 XTYP_EXECUTE トランザクションを使用して、コマンド文字列をサーバーに送信します。 DDE サーバー コールバック関数 DdeCallback は、クライアントが DdeClientTransaction 関数で XTYP_EXECUTE を指定すると、このトランザクションを受け取ります。
XTYP_MONITOR DDE デバッガの DDE コールバック関数、 DdeCallbackは、システムで DDE イベントが発生するたびに XTYP_MONITOR トランザクションを受け取ります。 このトランザクションを受信するには、アプリケーションが DdeInitialize 関数を呼び出すときに APPCLASS_MONITOR 値を指定する必要があります。
XTYP_POKE クライアントは、 XTYP_POKE トランザクションを使用して、要求されていないデータをサーバーに送信します。 DDE サーバー コールバック関数 DdeCallback は、クライアントが DdeClientTransaction 関数で XTYP_POKE を指定すると、このトランザクションを受け取ります。
XTYP_REGISTER DDE コールバック関数 DdeCallback は、DDEML サーバー アプリケーションが DdeNameService 関数を使用してサービス名を登録するとき、または System トピックをサポートする DDEML 以外のアプリケーションが起動されるたびに、 XTYP_REGISTER トランザクションの種類を受け取ります。
XTYP_REQUEST クライアントは、 XTYP_REQUEST トランザクションを使用してサーバーからデータを要求します。 DDE サーバー コールバック関数 DdeCallback は、クライアントが DdeClientTransaction 関数で XTYP_REQUEST を指定すると、このトランザクションを受け取ります。
XTYP_UNREGISTER DDE コールバック関数 DdeCallback は、DDEML サーバー アプリケーションが DdeNameService 関数を使用してサービス名の登録を解除するたび、または System トピックをサポートする非 DDEML アプリケーションが終了するたびに、 XTYP_UNREGISTER トランザクションを受け取ります。
XTYP_WILDCONNECT XTYP_WILDCONNECT トランザクションを使用すると、クライアントは、指定されたサービス名とトピック名と一致する各サーバーのサービス名とトピック名のペアで会話を確立できます。 DDE サーバーコールバック関数、 DdeCallbackは、クライアントが NULL サービス名、 NULL トピック名、またはその両方を DdeConnect または DdeConnectList 関数の呼び出しで指定したときに、このトランザクションを受け取ります。
XTYP_XACT_COMPLETE DDE クライアントコールバック関数、 DdeCallback は、 DdeClientTransaction 関数の呼び出しによって開始された非同期トランザクションが完了したときに、 XTYP_XACT_COMPLETE トランザクションを受け取ります。

DDEML構造

名前 説明
CONVCONTEXT DDE クライアント アプリケーションによって提供される情報が含まれます。 この情報は、特殊な DDE 会話や複数言語の DDE 会話に役立ちます。
CONVINFO DDE 会話に関する情報が含まれます。
DDEML_MSG_HOOK_DATA DDE メッセージに関する情報を格納し、メッセージによって参照されるデータへの読み取りアクセスを提供します。 この構造は、DDEML 監視アプリケーションで使用することを目的としています。
MONCBSTRUCT 現在の DDE トランザクションに関する情報が含まれます。 DDE デバッグ アプリケーションは、システムが他のアプリケーションの DDE コールバック関数に渡すトランザクションを監視するときに、この構造を使用できます。
MONCONVSTRUCT DDE 会話に関する情報が含まれます。 DDE 監視アプリケーションは、この構造を使用して、確立または終了した会話に関する情報を取得できます。
MONERRSTRUCT 現在のDDE エラーに関する情報が含まれています。 DDE 監視アプリケーションでは、この構造を使用して、DDE 管理ライブラリ関数によって返されるエラーを監視できます。
MONHSZSTRUCT DDE 文字列ハンドルに関する情報を格納します。 DDE 監視アプリケーションは、DDE 管理ライブラリのストリング・マネージャー・コンポーネントのアクティビティーをモニターするときに、この構造を使用できます。
MONLINKSTRUCT DDE アドバイズ ループに関する情報が含まれています。 DDE 監視アプリケーションでは、この構造を使用して、開始または終了したアドバイズ ループに関する情報を取得できます。
MONMSGSTRUCT DDE メッセージに関する情報が含まれます。 DDE 監視アプリケーションは、この構造を使用して、送信または投稿された DDE メッセージに関する情報を取得できます。