DdeInitializeA 関数 (ddeml.h)
動的 Data Exchange 管理ライブラリ (DDEML) にアプリケーションを登録します。 アプリケーションは、他の動的データ交換管理ライブラリ (DDEML) 関数を呼び出す前に、この関数を呼び出す必要があります。
構文
UINT DdeInitializeA(
[in, out] LPDWORD pidInst,
[in] PFNCALLBACK pfnCallback,
[in] DWORD afCmd,
DWORD ulRes
);
パラメーター
[in, out] pidInst
型: LPDWORD
アプリケーション インスタンス識別子。 初期化時に、このパラメーターは 0 を指す必要があります。 関数が成功した場合、このパラメーターはアプリケーションのインスタンス識別子を指します。 この値は、それを必要とする他のすべての DDEML 関数で、idInst パラメーターとして渡す必要があります。 アプリケーションで DDEML ダイナミック リンク ライブラリ (DLL) の複数のインスタンスを使用する場合、アプリケーションはインスタンスごとに異なるコールバック関数を提供する必要があります。
pidInst
[in] pfnCallback
型: PFNCALLBACK
アプリケーション定義の DDE コールバック関数へのポインター。 この関数は、システムによって送信された DDE トランザクションを処理します。 詳細については、DdeCallback コールバック関数を参照してください。
[in] afCmd
型: DWORD
APPCMD_、CBF_、および MF_ フラグのセット。
このパラメーターには、次の値のうち 1 つ以上を指定できます。
価値 | 意味 |
---|---|
|
アプリケーションがシステム内の DDE アクティビティを監視できるようにします。 このフラグは、DDE 監視アプリケーションで使用されます。 アプリケーションは、1 つ以上のモニター・フラグと APPCLASS_MONITOR・フラグを組み合わせてモニターする DDE アクティビティーのタイプを指定します。 詳細については、次の「解説」セクションを参照してください。 |
|
アプリケーションを標準 (非監視) DDEML アプリケーションとして登録します。 |
|
アプリケーションが DDE 会話のサーバーになることを防ぎます。 アプリケーションはクライアントに限られます。 このフラグは、DDEML によるリソースの消費を減らします。 これには、CBF_FAIL_ALLSVRXACTIONS フラグの機能が含まれています。 |
|
アプリケーションが文字列ハンドルを作成してサービス名を登録するか、 |
|
コールバック関数がサーバー トランザクションを受信できないようにします。 システムは、トランザクションをこのアプリケーションに送信する各クライアントに DDE_FNOTPROCESSED を返します。 このフラグは、すべてのCBF_FAIL_フラグを結合することと同じです。 |
|
コールバック関数が XTYP_ADVSTART および XTYP_ADVSTOP トランザクションを受け取らないようにします。 システムは、XTYP_ADVSTART または XTYP_ADVSTOP トランザクションをサーバーに送信する各クライアントに DDE_FNOTPROCESSED を返します。 |
|
コールバック関数が XTYP_CONNECT および XTYP_WILDCONNECT トランザクションを受け取らないようにします。 |
|
コールバック関数が XTYP_EXECUTE トランザクションを受け取らないようにします。 システムは、XTYP_EXECUTE トランザクションをサーバーに送信するクライアントに DDE_FNOTPROCESSED を返します。 |
|
コールバック関数が XTYP_POKE トランザクションを受け取らないようにします。 システムは、XTYP_POKE トランザクションをサーバーに送信するクライアントに DDE_FNOTPROCESSED を返します。 |
|
コールバック関数が XTYP_REQUEST トランザクションを受け取らないようにします。 システムは、XTYP_REQUEST トランザクションをサーバーに送信するクライアントに DDE_FNOTPROCESSED を返します。 |
|
コールバック関数が、アプリケーションの独自のインスタンスから XTYP_CONNECT トランザクションを受け取らないようにします。 このフラグにより、アプリケーションが独自のインスタンスとの DDE 会話を確立できなくなります。 アプリケーションは、それ自体の他のインスタンスと通信する必要があるが、それ自体とは通信しない場合は、このフラグを使用する必要があります。 |
|
コールバック関数が通知を受信できないようにします。 このフラグは、すべてのCBF_SKIP_フラグを結合することと同じです。 |
|
コールバック関数が XTYP_CONNECT_CONFIRM 通知を受信できないようにします。 |
|
コールバック関数が XTYP_DISCONNECT 通知を受信できないようにします。 |
|
コールバック関数が XTYP_REGISTER 通知を受信できないようにします。 |
|
コールバック関数が XTYP_UNREGISTER 通知を受信できないようにします。 |
|
トランザクションがシステム内の任意の DDE コールバック関数に送信されるたびにコールバック関数に通知します。 |
|
会話が確立または終了されるたびにコールバック関数に通知します。 |
|
DDE エラーが発生するたびにコールバック関数に通知します。 |
|
DDE アプリケーションが文字列ハンドルの使用カウントを作成、解放、またはインクリメントするたびに、または |
|
アドバイズ ループが開始または終了するたびにコールバック関数に通知します。 |
|
システムまたはアプリケーションが DDE メッセージをポストするたびにコールバック関数に通知します。 |
|
システムまたはアプリケーションが DDE メッセージを送信するたびにコールバック関数に通知します。 |
ulRes
型: DWORD
引っ込み思案;0 に設定する必要があります。
戻り値
型: UINT
関数が成功した場合、戻り値は DMLERR_NO_ERROR。
関数が失敗した場合、戻り値は次のいずれかの値になります。
備考
DDEML の複数のインスタンスを使用するアプリケーションは、インスタンス間で DDEML オブジェクトを渡してはなりません。
DDE 監視アプリケーションは、同じアプリケーション インスタンスのコンテキスト内で DDE 操作 (会話の確立、トランザクションの発行など) を実行しないでください。
同期トランザクションは、同じタスクのインスタンスに既に進行中の同期トランザクションがある場合、DMLERR_REENTRANCY エラーで失敗します。
ANSI バージョンと Unicode バージョンの ddeInitialize
手記
ddeml.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして DdeInitialize を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | ddeml.h (Windows.h を含む) |
ライブラリ | User32.lib |
DLL | User32.dll |
関連項目
動的な Data Exchange 管理ライブラリの概要 の