DdeInitializeA 関数 (ddeml.h)
動的データ交換管理ライブラリ (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 が 0 以外の値を指している場合、DDEML の再初期化が暗黙的に行われます。 この場合、 pidInst は有効なアプリケーション インスタンス識別子を指す必要があります。
[in] pfnCallback
型: PFNCALLBACK
アプリケーション定義の DDE コールバック関数へのポインター。 この関数は、システムによって送信された DDE トランザクションを処理します。 詳細については、 DdeCallback コールバック関数を参照してください。
[in] afCmd
型: DWORD
APPCMD_、CBF_、およびMF_フラグのセット。 APPCMD_ フラグは、DdeInitialize に特別な指示を提供します。 CBF_ フラグは、特定の種類のトランザクションがコールバック関数に到達できないようにするフィルターを指定します。 MF_ フラグは、DDE 監視アプリケーションが監視する DDE アクティビティの種類を指定します。 これらのフラグを使用すると、コールバック関数の不要な呼び出しを排除することで、DDE アプリケーションのパフォーマンスが向上します。
このパラメーターには、次の 1 つ以上の値を指定できます。
値 | 意味 |
---|---|
|
アプリケーションがシステム内の DDE アクティビティを監視できるようにします。 このフラグは、DDE 監視アプリケーションで使用されます。 アプリケーションでは、1 つ以上のモニター フラグと APPCLASS_MONITOR フラグを組み合わせて、監視する DDE アクティビティの種類を指定します。 詳細については、次の「解説」セクションを参照してください。 |
|
アプリケーションを標準 (監視対象外) DDEML アプリケーションとして登録します。 |
|
アプリケーションが DDE 会話のサーバーにならないようにします。 アプリケーションはクライアントのみにできます。 このフラグは、DDEML によるリソースの消費を減らします。 これには、CBF_FAIL_ALLSVRXACTIONS フラグの機能が含まれています。 |
|
DDEML は、アプリケーションが文字列ハンドルを作成してサービス名を登録するか、DdeNameService または DdeInitialize 関数の後続の呼び出しによるフィルター処理を無効にするまで、XTYP_CONNECTトランザクションとXTYP_WILDCONNECTトランザクションをアプリケーションに送信できないようにします。 アプリケーションがフラグを指定しているかどうかに関係なく、アプリケーションが DdeInitialize を初めて呼び出すとき、このフラグは常に有効です。 DdeInitialize の後続の呼び出しでは、このフラグを指定しないと、アプリケーションのサービス名フィルターがオフになりますが、それを指定すると、アプリケーションのサービス名フィルターがオンになります。 |
|
コールバック関数がサーバー トランザクションを受信できないようにします。 システム は、トランザクション をこのアプリケーションに送信する各クライアントに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 アプリケーションが文字列ハンドルの使用数を作成、解放、またはインクリメントするたびに、または DdeUninitialize 関数の呼び出しの結果として文字列ハンドルが解放されるたびに、コールバック関数に通知します。 |
|
アドバイズ ループが開始または終了するたびにコールバック関数に通知します。 |
|
システムまたはアプリケーションが DDE メッセージを投稿するたびにコールバック関数に通知します。 |
|
システムまたはアプリケーションが DDE メッセージを送信するたびに、コールバック関数に通知します。 |
ulRes
型: DWORD
予約;は 0 に設定する必要があります。
戻り値
型: UINT
関数が成功した場合、戻り値は DMLERR_NO_ERROR。
関数が失敗した場合、戻り値は次のいずれかの値になります。
注釈
DDEML の複数のインスタンスを使用するアプリケーションは、インスタンス間で DDEML オブジェクトを渡してはなりません。
DDE 監視アプリケーションは、同じアプリケーション インスタンスのコンテキスト内で DDE 操作 (会話の確立、トランザクションの発行など) を試行しないでください。
同じタスクのインスタンスに同期トランザクションが既に進行中の場合、同期トランザクションは DMLERR_REENTRANCY エラーで失敗します。
CBF_FAIL_ALLSVRXACTIONS フラグを指定すると、DDEML はすべてのサーバー トランザクションをフィルター処理し、その後の DdeInitialize の呼び出しによって変更できます。 APPCMD_CLIENTONLY フラグは、DDEML がサーバーのキー リソースを作成できないようにし、DdeInitialize の後続の呼び出しでは変更できません。
ANSI バージョンと Unicode バージョンの DdeInitialize があります。 というバージョンによって、DDE 会話 (ANSI または Unicode) の制御に使用されるウィンドウ プロシージャの種類と、CONVCONTEXT 構造体 (CP_WINANSI または CP_WINUNICODE) の iCodePage メンバーの既定値が決まります。
注意
ddeml.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして DdeInitialize を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | ddeml.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |