PFNCALLBACK コールバック関数 (ddeml.h)
動的データ交換管理ライブラリ (DDEML) 関数で使用されるアプリケーション定義のコールバック関数。 動的データ交換 (DDE) トランザクションを処理します。 PFNCALLBACK 型は、このコールバック関数へのポインターを定義します。 DdeCallback は、アプリケーション定義関数名のプレースホルダーです。
構文
PFNCALLBACK Pfncallback;
HDDEDATA Pfncallback(
[in] UINT wType,
[in] UINT wFmt,
[in] HCONV hConv,
[in] HSZ hsz1,
[in] HSZ hsz2,
[in] HDDEDATA hData,
[in] ULONG_PTR dwData1,
[in] ULONG_PTR dwData2
)
{...}
パラメーター
[in] wType
型: UINT
現在のトランザクションの種類。 このパラメーターは、トランザクション クラス フラグとトランザクション型フラグの組み合わせで構成されます。 次の表では、各トランザクション クラスについて説明し、各クラスのトランザクションの種類の一覧を示します。 特定のトランザクションの種類の詳細については、「 解説」でその種類の個々の説明を参照してください。
[in] wFmt
型: UINT
データの送受信形式。
[in] hConv
種類: HCONV
現在のトランザクションに関連付けられている会話へのハンドル。
[in] hsz1
種類: HSZ
文字列へのハンドル。 このパラメーターの意味は、現在のトランザクションの種類によって異なります。 このパラメーターの意味については、「解説」のトランザクションの種類の説明 を参照してください。
[in] hsz2
種類: HSZ
文字列へのハンドル。 このパラメーターの意味は、現在のトランザクションの種類によって異なります。 このパラメーターの意味については、「解説」のトランザクションの種類の説明 を参照してください。
[in] hData
種類: HDDEDATA
DDE データへのハンドル。 このパラメーターの意味は、現在のトランザクションの種類によって異なります。 このパラメーターの意味については、「解説」のトランザクションの種類の説明 を参照してください。
[in] dwData1
種類: ULONG_PTR
トランザクション固有のデータ。 このパラメーターの意味については、「解説」のトランザクションの種類の説明 を参照してください。
[in] dwData2
種類: ULONG_PTR
トランザクション固有のデータ。 このパラメーターの意味については、「解説」のトランザクションの種類の説明 を参照してください。
戻り値
種類: HDDEDATA
戻り値はトランザクション クラスによって異なります。 戻り値の詳細については、個々のトランザクションの種類の説明を参照してください。
解説
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
コールバック関数は、会話の作成または終了を伴わないトランザクションに対して非同期的に呼び出されます。 受信メッセージを頻繁に受け入れないアプリケーションでは、動的データ交換管理ライブラリ (DDEML) がメッセージを使用してトランザクションを開始するため、DDE のパフォーマンスが低下します。
アプリケーションでは、 DdeInitialize 関数の呼び出しで関数へのポインターを指定して、コールバック関数を登録する必要があります。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | ddeml.h (Windows.h を含む) |
関連項目
概念