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 [デスクトップ アプリのみ] |
ヘッダー |
|