WinCPICStartup
WinCPICStartup函式可讓應用程式指定所需的 Microsoft Windows Common Programming Interface for Communications (CPI-C) 版本,以及擷取特定 Windows CPI-C 實作的詳細資料。 應用程式必須呼叫此函式,才能向 Windows CPI-C 實作註冊本身,再發出任何進一步的 Windows CPI-C 呼叫。
語法
INT WINAPI WinCPICStartup(
WORDwVersionRequired,
LPWCPICDATAlpwcpicdata);
參數
wVersionRequired
指定所需的 Windows CPI-C 支援版本。 高序位元組會指定次要版本 (修訂) 號碼。 低序位元組會指定主要版本號碼。
lpwcpicdata
CPI-C 資料結構的指標。 CPICDATA結構的定義如下:
typedef struct {
....WORD wVersion;
char szDescription[WCPICDESCRIPTION_LEN+1];
} CPICDATA, FAR * LPWCPICDATA;
WCPIDESCRIPTION 定義為 127,結構成員如下所示:
wVersion
支援的 Windows CPI-C 版本。 高序位元組會指定次要版本 (修訂) 號碼。 低序位元組會指定主要版本號碼。
szDescription
描述所支援 CPI-C 版本的描述字串。
傳回值
傳回值會指定應用程式是否已成功註冊,以及 Windows CPI-C 實作是否可以支援指定的版本號碼。 如果值為零,則已成功註冊該值。 否則,傳回值為下列其中一項:
WCPICSYSNOTRERADY
基礎網路系統尚未準備好進行網路通訊。
WCPICVERNOTSUPPORTED
此特定 Windows CPI-C 實作未提供所要求的 Windows CPI-C 支援版本。
WCPICINVALID
此動態連結程式庫 (DLL) 不支援應用程式指定的 Windows CPI-C 版本。
備註
為了支援未來的 Windows CPI-C 實作和可能與 Windows CPI-C 版本 1.0 不同的功能應用程式, 在 WinCPICStartup中會進行交涉。 應用程式會傳遞至 WinCPICStartup 它可以使用的 Windows CPI-C 版本。 如果此版本低於 Windows CPI-C DLL 支援的最低版本,則 DLL 無法支援應用程式,而且 WinCPICStartup 呼叫會失敗。 不過,如果版本不較低,則呼叫會成功,並傳回 DLL 支援的最高 Windows CPI-C 版本。 如果此版本低於應用程式支援的最低版本,則應用程式會失敗初始化,或嘗試在系統上尋找另一個 Windows CPI-C DLL。
此交涉可讓 Windows CPI-C DLL 和 Windows CPI-C 應用程式支援各種 Windows CPI-C 版本。 如果版本有任何重迭,應用程式就可以成功使用 DLL。 下表說明 WinCPICStartup 如何搭配不同的應用程式和 DLL 版本運作。
應用程式版本 | DLL 版本 | 至 WinCPICStartup | 從 WinCPICStartup | 結果 |
---|---|---|---|---|
1.0 | 1.0 | 1.0 | 1.0 | 使用 1.0 |
1.0, 2.0 | 1.0 | 2.0 | 1.0 | 使用 1.0 |
1.0 | 1.0, 2.0 | 1.0 | 2.0 | 使用 1.0 |
1.0 | 2.0, 3.0 | 1.0 | WCPICINVALID | 失敗 |
2.0, 3.0 | 1.0 | 3.0 | 1.0 | 應用程式失敗 |
1.0, 2.0, 3.0 | 1.0, 2.0, 3.0 | 3.0 | 3.0 | 使用 3.0 |
實際 Windows CPI-C 實作的詳細資料會在定義如下的 WHLLDATA 結構中說明:
typedef struct tagWCPICDATA { WORD wVersion;
char szDescription[WHLLDESCRIPTION_LEN+1];
} WCPICDATA, FAR *LPWCPICDATA;
完成最後一次 Windows CPI-C 呼叫後,應用程式應該呼叫 WinCPICCleanup常式。
每個 Windows CPI-C 實作都必須進行 WinCPICStartup 呼叫,才能發出任何其他 Windows CPI-C 呼叫。