動態數據交換管理連結庫

動態資料交換 (DDE) 是一種進程間通訊形式,使用共用記憶體在應用程式之間交換數據。 應用程式可以使用 DDE 進行一次性數據傳輸,以及持續交換和更新數據。

本節內容

名稱 描述
關於 DDEML 討論動態數據交換。
基本概念 討論有關動態數據交換的重要概念。
交談管理 討論客戶端與伺服器之間的交談。
資料管理 討論記憶體物件如何將數據從一個應用程式傳遞至另一個應用程式。
監視應用程式 討論動態數據交換管理連結庫的元素如何用來建立應用程式,以監視系統中的動態數據交換活動。
名稱服務 討論動態數據交換管理連結庫如何讓伺服器應用程式註冊它支持的服務名稱。
交易管理 討論用戶端如何傳送交易,以從伺服器取得數據和服務。
DDEML 參考 包含 API 參考。

DDEML 函式

名稱 描述
DdeAbandonTransaction 放棄指定的異步交易,並釋放與交易相關聯的所有資源。
DdeAccessData 提供指定 DDE 物件中資料的存取權。 當應用程式完成存取 物件中的數據時,必須呼叫 DdeUnaccessData 函式。
DdeAddData 將數據加入指定的 DDE 物件。 應用程式可以從物件開頭的任何位移開始新增數據。 如果新的數據重迭對象中的數據,新數據會覆寫發生重疊之位元組中的舊數據。 尚未寫入物件中位置的內容未定義。
DdeCallback 與動態數據交換管理連結庫 (DDEML) 函式搭配使用的應用程式定義回呼函式。 它會處理 DDE 交易。 PFNCALLBACK 類型會定義這個回呼函式的指標。 DdeCallback 是應用程式定義函數名稱的佔位元。
DdeClientTransaction 開始客戶端與伺服器之間的數據交易。 只有 DDE 用戶端應用程式可以呼叫此函式,而且應用程式只能在與伺服器建立交談之後使用。
DdeCmpStringHandles 比較兩個字串句柄的值。 字串句柄的值與相關聯字串的案例無關。
Dde 連線 建立與支援指定服務名稱和主題名稱組之伺服器應用程式的交談。 如果有多個這類伺服器存在,系統只會選取一部伺服器。
Dde 連線 List 建立與支援指定服務名稱和主題名稱組之所有伺服器應用程式的交談。 應用程式也可以使用此函式來取得對話句柄清單,方法是傳遞函式現有的交談句柄。
DdeCreateDataHandle 建立 DDE 物件,並將來自指定緩衝區的數據填入物件。 DDE 應用程式會在涉及將數據傳遞至夥伴應用程式的交易期間使用此函式。
DdeCreateStringHandle 建立可識別指定字串的句柄。 DDE 用戶端或伺服器應用程式可以將字串句柄當做參數傳遞至其他動態數據交換管理連結庫 (DDEML) 函式。
DdeDisconnect 終止 Dde 連線 或 Dde 連線 List 函式所啟動的交談,並使指定的交談句柄失效。
DdeDisconnectList 終結指定的交談清單,並終止與列表相關聯的所有交談。
DdeEnableCallback 啟用或停用特定交談的交易,或呼叫應用程式目前建立的所有交談。
DdeFreeDataHandle 收取 DDE 對象的費用,並刪除與 對象相關聯的數據句柄。
DdeFreeStringHandle 釋放呼叫應用程式中的字串句柄。
DdeGetData 將數據從指定的 DDE 物件複製到指定的本機緩衝區。
DdeGetLastError 擷取 DDEML 函式失敗所設定的最新錯誤碼,並將錯誤碼重設為DMLERR_NO_ERROR。
DdeImpersonateClient 在 DDE 用戶端交談中模擬 DDE 用戶端應用程式。
DdeInitialize 向動態數據交換管理連結庫 (DDEML) 註冊應用程式。 應用程式必須先呼叫此函式,才能呼叫任何其他 DDEML 函式。
DdeKeepStringHandle 遞增與指定句柄相關聯的使用計數。 此函式可讓應用程式儲存傳遞至應用程式 DDE 回呼函式的字串句柄。 否則,當回呼函式傳回時,會刪除傳遞至回調函式的字串句柄。 此函式也應該用來保留 DdeQueryConvInfo 函式所傳回之 CONVINFO 結構所參考的字串句柄複本。
DdeNameService 註冊或取消註冊 DDE 伺服器支援的服務名稱。 此函式會導致系統將XTYP_REGISTERXTYP_UNREGISTER交易傳送至其他執行中的動態數據交換管理連結庫 (DDEML) 用戶端應用程式。
DdePostAdvise 針對每個用戶端傳送XTYP_ADVREQ交易至呼叫端 (伺服器) 應用程式的 DDE 回呼函式,並在指定的主題和專案上具有作用中的建議迴圈。 每當與主題名稱或專案名稱組相關聯的數據變更時,伺服器應用程式應該呼叫此函式。
DdeQueryConvInfo 擷取 DDE 交易的相關信息,以及交易發生所在交談的相關信息。
DdeQueryNextServer 擷取指定交談清單中的下一個交談句柄。
DdeQueryString 將與字串句柄相關聯的文字複製到緩衝區。
DdeReconnect 可讓客戶端動態數據交換管理連結庫 (DDEML) 應用程式嘗試重新建立與已終止與用戶端交談之服務的交談。 重新建立交談時,DDEML 會嘗試重新建立任何預先存在的建議迴圈。
DdeSetUserHandle 將應用程式定義的值與交談句柄或交易標識碼產生關聯。 這很適合用來簡化異步交易的處理。 應用程式可以使用 DdeQueryConvInfo 函式來擷取此值。
DdeUnaccessData Unaccesses DDE 物件。 應用程式必須在完成存取 對象之後呼叫此函式。
DdeUninitialize 釋放所有與呼叫應用程式相關聯的 DDEML 資源。

DDEML 交易

名稱 描述
XTYP_ADVDATA 通知客戶端資料項的值已變更。 DDE 用戶端回呼函式 DdeCallback 會在與伺服器建立建議迴圈之後接收此交易。
XTYP_ADVREQ 通知伺服器,建議交易在指定的主題名稱和專案名稱組上未完成,且對應至主題名稱和專案名稱組的數據已變更。 在伺服器呼叫 DdePostAdvise 函式之後,系統會將此交易傳送至 DDE 回呼函式 DdeCallback。
XTYP_ADVSTART 用戶端會 使用XTYP_ADVSTART 交易來建立建議迴圈與伺服器。 當用戶端指定XTYP_ADVSTART做為 DdeClientTransaction 函式的 wType 參數時,DDE 伺服器回呼函式 DdeCallback 會收到此交易。
XTYP_ADVSTOP 用戶端會 使用XTYP_ADVSTOP 交易結束與伺服器的建議迴圈。 當用戶端在 DdeClientTransaction 函式中指定XTYP_ADVSTOP時,DDE 伺服器回呼函式 DdeCallback 會收到此交易。
XTYP_CONNECT 用戶端會 使用XTYP_CONNECT 交易來建立交談。 當用戶端指定伺服器支援的服務名稱時,DDE 伺服器回呼函式 DdeCallback 會接收此交易,而伺服器在呼叫 Dde 連線 函式時,會指定服務名稱,以及非 NULL 的主題名稱。
XTYP_CONNECT_CONFIRM DDE 伺服器回呼函式 DdeCallback接收XTYP_CONNECT_CONFIRM交易,以確認已與用戶端建立交談,並提供伺服器交談句柄。 系統會因為先前的XTYP_CONNECTXTYP_WILDCONNECT交易而傳送此交易。
XTYP_DISCONNECT 當交談中的應用程式夥伴使用 DdeDisconnect 函式來終止交談時,應用程式的 DDE 回呼函式 DdeCallback 會收到XTYP_DISCONNECT交易。
XTYP_ERROR DDE 回呼函式 DdeCallback 會在發生嚴重錯誤時接收 XTYP_ERROR 交易。
XTYP_EXECUTE 用戶端會 使用XTYP_EXECUTE 交易,將命令字串傳送至伺服器。 當用戶端在 DdeClientTransaction 函式中指定XTYP_EXECUTE時,DDE 伺服器回呼函式 DdeCallback 會收到此交易。
XTYP_MONITOR 每當系統中發生 DDE 事件時,DDE 調試程式的 DDE 回呼函式 DdeCallback 就會接收XTYP_MONITOR交易。 若要接收此交易,應用程式必須在呼叫 DdeInitialize 函式時指定APPCLASS_MONITOR值。
XTYP_POKE 用戶端會 使用XTYP_POKE 交易,將未經請求的數據傳送至伺服器。 當用戶端在 DdeClientTransaction 函式中指定XTYP_POKE時,DDE 伺服器回呼函式 DdeCallback 會收到此交易。
XTYP_REGISTER 每當 DDEML 伺服器應用程式使用 DdeNameService 函式來註冊服務名稱,或每當啟動支援系統主題的非 DDEML 應用程式時,DDE 回呼函式就會接收XTYP_REGISTER交易類型。
XTYP_REQUEST 用戶端會 使用XTYP_REQUEST 交易,從伺服器要求數據。 當用戶端在 DdeClientTransaction 函式中指定XTYP_REQUEST時,DDE 伺服器回呼函式 DdeCallback 會收到此交易。
XTYP_UNREGISTER 每當 DDEML 伺服器應用程式使用 DdeNameService 函式取消註冊服務名稱,或每當支援系統主題的非 DDEML 應用程式終止時,DDE 回呼函式 DdeCallback 就會接收XTYP_UNREGISTER交易。
XTYP_WILDCONNECT XTYP_WILDCONNECT交易可讓用戶端在每個符合指定服務名稱和主題名稱的伺服器服務名稱和主題名稱組上建立交談。 當用戶端指定 NULL 服務名稱、NULL 主題名稱,或呼叫 Dde 連線 或 Dde 連線 List 函式時,DDE 伺服器回呼式 DdeCallback 會收到此交易。
XTYP_XACT_COMPLETE 當異步交易由呼叫 DdeClientTransaction 函式起始的異步交易完成時,DDE 用戶端回呼函式 DdeCallback 會收到XTYP_XACT_COMPLETE交易。

DDEML 結構

名稱 描述
CONVCONTEXT 包含 DDE 用戶端應用程式所提供的資訊。 此資訊適用於特製化或跨語言 DDE 交談。
CONVINFO 包含 DDE 交談的相關信息。
DDEML_MSG_HOOK_DATA 包含 DDE 訊息的相關信息,並提供訊息所參考資料的讀取許可權。 此結構是供 DDEML 監視應用程式使用。
MONCBSTRUCT 包含目前 DDE 交易的相關信息。 當監視系統傳遞給其他應用程式的 DDE 回呼函式的交易時,DDE 偵錯應用程式可以使用這個結構。
MONCONVSTRUCT 包含 DDE 交談的相關信息。 DDE 監視應用程式可以使用這個結構來取得已建立或已終止之交談的相關信息。
MONERRSTRUCT 包含目前 DDE 錯誤的相關信息。 DDE 監視應用程式可以使用這個結構來監視 DDE 管理連結庫函式所傳回的錯誤。
MONHSZSTRUCT 包含 DDE 字串句柄的相關信息。 監視 DDE 管理連結庫之字串管理員元件的活動時,DDE 監視應用程式可以使用這個結構。
MONLINKSTRUCT 包含 DDE 建議迴圈的相關信息。 DDE 監視應用程式可以使用這個結構來取得已啟動或結束的建議迴圈相關信息。
MONMSGSTRUCT 包含 DDE 訊息的相關信息。 DDE 監視應用程式可以使用這個結構來取得已傳送或張貼之 DDE 訊息的相關信息。