WinCPICStartup 函式允許應用程式Microsoft指定所需的 Windows 通用通訊介面(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;
WCPI 描述定義為 127,結構成員如下:
w版本
支援的 Windows 版本 CPI-C。 高階位元組指定次要版本(修訂版)編號。 低階位元組指定主要版本號。
szDescription
描述支援 CPI-C 版本的描述字串。
傳回值
回傳值會指定應用程式是否成功註冊,以及 Windows CPI-C 實作是否能支援指定的版本號。 若值為零,則表示成功註冊。 否則,返回值為以下之一:
西太平洋國家公園
底層網路系統尚未準備好進行網路通訊。
WCPICVERNOTSUPPORTED
本 Windows CPI-C 實作未提供所要求的 Windows CPI-C 支援版本。
WCPIC無效
應用程式指定的 Windows CPI-C 版本不被此動態連結函式庫(DLL)支援。
備註
為了支援未來 Windows CPI-C 實作及可能與 Windows CPI-C 1.0 版本功能差異的應用程式,會在 WinCPICStartup 中進行協商。 應用程式會將 Windows CPI-C 版本傳給 WinCPICStartup 。 若此版本低於 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 版本有重疊,應用程式即可成功使用 DLL。 下表說明 WinCPICStartup 如何與不同應用程式及 DLL 版本協同運作。
| 應用程式版本 | DLL 版本 | 致WinCPICStartup | 摘自 WinCPICStartup | Result |
|---|---|---|---|---|
| 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 | WCPIC無效 | Fail |
| 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 實作的細節可參考以下定義的 WHLL 資料 結構:
typedef struct tagWCPICDATA { WORD wVersion;
char szDescription[WHLLDESCRIPTION_LEN+1];
} WCPICDATA, FAR *LPWCPICDATA;
完成最後一次 Windows CPI-C 呼叫後,應用程式應呼叫 WinCPICCleanup例程。
每個 Windows CPI-C 實作必須先呼叫 WinCPICStartup ,才能發出其他 Windows CPI-C 呼叫。