PFNCALLBACK
コールバックシグネチャ
HDDEDATA PFNCALLBACK(
DWORD wType,
DWORD wFmt,
HCONV hConv,
HSZ hsz1,
HSZ hsz2,
HDDEDATA hData,
UINT_PTR dwData1,
UINT_PTR dwData2
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| wType | DWORD | 現在のトランザクションの種類です。このパラメーターは、トランザクションクラスフラグとトランザクション型フラグの組み合わせで構成されます。次の表は、各トランザクションクラスを説明し、それぞれのクラスに含まれるトランザクション型の一覧を示します。特定のトランザクション型については、解説 にある個々の説明を参照してください。 |
| wFmt | DWORD | データの送信または受信に使用される形式です。 |
| hConv | HCONV | 現在のトランザクションに関連付けられた会話へのハンドルです。 |
| hsz1 | HSZ | 文字列へのハンドルです。このパラメーターの意味は、現在のトランザクションの種類によって異なります。このパラメーターの意味については、解説 にあるトランザクション型の説明を参照してください。 |
| hsz2 | HSZ | 文字列へのハンドルです。このパラメーターの意味は、現在のトランザクションの種類によって異なります。このパラメーターの意味については、解説 にあるトランザクション型の説明を参照してください。 |
| hData | HDDEDATA | DDE データへのハンドルです。このパラメーターの意味は、現在のトランザクションの種類によって異なります。このパラメーターの意味については、解説 にあるトランザクション型の説明を参照してください。 |
| dwData1 | UINT_PTR | トランザクション固有のデータです。このパラメーターの意味については、解説 にあるトランザクション型の説明を参照してください。 |
| dwData2 | UINT_PTR | トランザクション固有のデータです。このパラメーターの意味については、解説 にあるトランザクション型の説明を参照してください。 |
公式ドキュメント
Dynamic Data Exchange Management Library (DDEML) の関数と共に使用される、アプリケーション定義のコールバック関数です。動的データ交換 (DDE) のトランザクションを処理します。 PFNCALLBACK 型は、このコールバック関数へのポインターを定義します。DdeCallback は、アプリケーション定義の関数名のプレースホルダーです。
戻り値
型: HDDEDATA
戻り値はトランザクションクラスによって異なります。戻り値の詳細については、個々のトランザクション型の説明を参照してください。
解説(Remarks)
XCLASS_BOOL
DDE コールバック関数は、このクラスに属するトランザクションの処理を終えたときに TRUE または FALSE を返します。XCLASS_BOOL トランザクションクラスは、次の型で構成されます。
XCLASS_DATA
DDE コールバック関数は、このクラスに属するトランザクションの処理を終えたときに DDE ハンドル、CBR_BLOCK 戻りコード、または NULL を返します。XCLASS_DATA トランザクションクラスは、次の型で構成されます。
XCLASS_FLAGS
DDE コールバック関数は、このクラスに属するトランザクションの処理を終えたときに DDE_FACK、DDE_FBUSY、または DDE_FNOTPROCESSED を返します。XCLASS_FLAGS トランザクションクラスは、次の型で構成されます。
XCLASS_NOTIFICATION
このクラスに属するトランザクション型は、通知のみを目的としています。コールバック関数からの戻り値は無視されます。XCLASS_NOTIFICATION トランザクションクラスは、次の型で構成されます。
- XTYP_ADVSTOP
- XTYP_CONNECT_CONFIRM
- XTYP_DISCONNECT
- XTYP_ERROR
- XTYP_MONITOR
- XTYP_REGISTER
- XTYP_XACT_COMPLETE
- XTYP_UNREGISTER
会話の作成または終了を伴わないトランザクションでは、コールバック関数は非同期に呼び出されます。Dynamic Data Exchange Management Library (DDEML) はトランザクションの開始にメッセージを使用するため、受信メッセージを頻繁に処理しないアプリケーションでは DDE のパフォーマンスが低下します。
アプリケーションは、DdeInitialize 関数の呼び出しでこの関数へのポインターを指定して、コールバック関数を登録する必要があります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)