共用方式為


OID 概觀

擴充性是藉由提供使用新的 物件識別碼 , (OID) 、新的編碼類型和新的 DLL 來達成。

CryptoAPI OID 可以採用下列任何形式:

  • 數值字串,例如 「1.2.3.500.88」
  • 英數位元字串,例如 MyFunction
  • 常數,其值為小於或等於0xFFFF。 這些常數通常會透過在標頭檔中使用 #define 語句來與名稱相關聯。

可延伸函式接受 OID 和編碼類型引數。 這些函式會搜尋系統登錄,以尋找與傳遞至函式之 OID 和編碼類型引數相關聯的 DLL。 如果找到 OID 的 DLL,則找到編碼類型組合,就會載入 DLL 並呼叫其函式。 下圖顯示 CryptEncodeObject 函式的這個流程:

oid 流程

這可讓 CryptoAPI 的功能隨著需求而擴充。 使用此方法會對新功能的開發人員造成負擔,以撰寫該功能所需的所有程式碼。 例如,若要編碼某些新的資料結構,DLL 中的 函式必須執行整個編碼程式。