WM_DDE_POKE メッセージ

動的データ交換 (DDE) クライアント アプリケーションは、 WM_DDE_POKE メッセージを DDE サーバー アプリケーションに投稿します。 クライアントは、このメッセージを使用して、未承諾のデータ項目を受け入れるようにサーバーに要求します。 サーバーは、データ項目を受け入れたかどうかを示す WM_DDE_ACK メッセージで応答する必要があります。

このメッセージを投稿するには、次のパラメーターを指定して PostMessage 関数を呼び出します。

#define WM_DDE_POKE        0x03E7

パラメーター

wParam

メッセージを投稿するクライアント ウィンドウへのハンドル。

lParam

下位ワードは、データと追加情報を含む DDEPOKE 構造体を含むグローバル・メモリー・オブジェクトへのハンドルです。

上位ワードには、データまたは通知が送信されるデータ項目を識別するグローバルアトムが含まれています。

解説

投稿

クライアント アプリケーションは 、GlobalAlloc 関数を使用してグローバル メモリ オブジェクトのメモリを割り当てる必要があります。 次のいずれかの条件に該当する場合、クライアント アプリケーションは オブジェクトを削除する必要があります。

  • サーバー アプリケーションは、負の WM_DDE_ACK メッセージで応答します。
  • fRelease メンバーは FALSE ですが、サーバー アプリケーションは正または負のWM_DDE_ACKで応答します。

クライアント アプリケーションは、 GlobalAddAtom 関数を使用してアトムを作成する必要があります。

クライアント アプリケーションは、PackDDElParam 関数または ReuseDDElParam 関数を呼び出して、WM_DDE_POKElParam パラメーターを作成または再利用する必要があります。

受信

サーバー アプリケーションは、肯定的または否定的に応答するために 、WM_DDE_ACK メッセージを投稿する必要があります。 WM_DDE_ACKを投稿する場合、サーバーは atom を再利用することも、削除して新しい atom を作成することもできます。

サーバーは、PackDDElParam 関数または ReuseDDElParam 関数を呼び出して、WM_DDE_ACKlParam パラメーターを作成または再利用する必要があります。

グローバル メモリ オブジェクトを解放するには、サーバーで GlobalFree 関数を呼び出す必要があります。 また、データ形式が CF_DSPMETAFILEPICT または CF_METAFILEPICTの場合、サーバーは埋め込みメタファイル ハンドルを使用して DeleteMetaFile も呼び出す必要があります。 これら 2 つの形式には、追加のレベルの間接参照があります。つまり、アプリケーションはオブジェクトをロックしてハンドルへのポインターを取得し、そのハンドルをロックして METAFILEPICT 構造体へのポインターを取得し、最後に METAFILEPICT 構造体の hMF メンバーからハンドルを使用して DeleteMetaFile を呼び出す必要があります。

オブジェクトを解放するには、サーバーで FreeDDElParam 関数を呼び出す必要があります。

要件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Dde.h (Windows.h を含む)

関連項目

参照

DDEPOKE

FreeDDElParam

GlobalAddAtom

METAFILEPICT

PackDDElParam

PostMessage

ReuseDDElParam

SendMessage

UnpackDDElParam

WM_DDE_ACK

概念

動的データ交換について