信息技術(shù) 面向?qū)ο蟮纳锾卣髯R別應(yīng)用編程接口 第4部分:C++實現(xiàn)_第1頁
信息技術(shù) 面向?qū)ο蟮纳锾卣髯R別應(yīng)用編程接口 第4部分:C++實現(xiàn)_第2頁
信息技術(shù) 面向?qū)ο蟮纳锾卣髯R別應(yīng)用編程接口 第4部分:C++實現(xiàn)_第3頁
信息技術(shù) 面向?qū)ο蟮纳锾卣髯R別應(yīng)用編程接口 第4部分:C++實現(xiàn)_第4頁
信息技術(shù) 面向?qū)ο蟮纳锾卣髯R別應(yīng)用編程接口 第4部分:C++實現(xiàn)_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1GB/T41903.4—XXXX信息技術(shù)面向?qū)ο蟮纳锾卣髯R別應(yīng)用編程接口第4部分:C++實現(xiàn)本文件確立了BioAPIC++框架和BioAPIC++BSP接口,與GB/T41903.1—2022確立的組件相對應(yīng)。本文件適用于面向?qū)ο蟮纳锾卣髯R別應(yīng)用的C++編程接口的開發(fā)和應(yīng)用。2規(guī)范性引用文件下列文件中的內(nèi)容通過文中的規(guī)范性引用而構(gòu)成本文件必不可少的條款。其中,注日期的引用文件,僅該日期對應(yīng)的版本適用于本文件;不注日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。GB/T13000—2010信息技術(shù)通用多八位編碼字符集(UCSGB/T13000—2010,ISO/IEC10646:2003,IDT)GB18030信息技術(shù)中文編碼字符集GB/T41903.1信息技術(shù)面向?qū)ο蟮纳锾卣髯R別應(yīng)用編程接口第1部分:體系結(jié)構(gòu)(GB/T41903.1—2022,ISO/IEC30106-1:2016,MOD)GB/T41903.2信息技術(shù)面向?qū)ο蟮纳锾卣髯R別應(yīng)用編程接口第2部分:Java實現(xiàn)(GB/T41903.2—2022,ISO/IEC30106-2:2020,MOD)GB/T41903.3信息技術(shù)面向?qū)ο蟮纳锾卣髯R別應(yīng)用編程接口第3部分:C#實現(xiàn)(GB/T41903.3—2022,ISO/IEC30106-3:2020,MOD)ISO/IEC14882C++編程語言(Programminglanguages—C++)3術(shù)語和定義本文件沒有需要界定的術(shù)語和定義。4縮略語下列縮略語適用于本文件。ACBio生物特征認(rèn)證背景資料(AuthenticationContextforBiometrics)API應(yīng)用編程接口(ApplicationProgrammingInterface)BFP生物特征識別功能供方(BiometricFunctionProvider)BIR生物特征信息記錄(BiometricInformationRecordBDB生物特征數(shù)據(jù)塊(BiometricDataBlock)BSP生物特征識別服務(wù)供方(BiometricServiceProvider)URL統(tǒng)一資源定位符(UniformResourceLocator)GUI圖形用戶接口(GraphicalUserInterface)FMR誤匹配率(FalseMatchRate)2GB/T41903.4—XXXXCBEFF公用生物特征識別交換格式框架(CommonBiometricExchangeFormatsFramework)MAC消息鑒別碼(MessageAuthenticanCode)SB安全塊(SecurityBlock)UUID通用唯一標(biāo)識符(UniversallyUniqueIdentifier)5BioAPIC++通用要求本文件定義的所有類都應(yīng)具有一個將其所有屬性作為參數(shù)的構(gòu)造函數(shù),以及一個將釋放所有已分配內(nèi)存的析構(gòu)函數(shù)。此外,每個類的定義可包含對構(gòu)造函數(shù)的進一步要求。析構(gòu)函數(shù)應(yīng)至少符合GB/T41903.2和GB/T41903.3中相對應(yīng)定義Dispose()方法的要求。此外,大多數(shù)實現(xiàn)應(yīng)聲明類為導(dǎo)出類。因此,本文件中定義的BIOAPI常量,允許導(dǎo)出類。本文件定義一個BioAPI命名空間,包含所有數(shù)據(jù)結(jié)構(gòu)。本文件中對給出的規(guī)范的使用說明見附錄A。6數(shù)據(jù)類型和常量6.1基礎(chǔ)數(shù)據(jù)類型6.1.1枚舉BiometricSubtype使用的生物特征數(shù)據(jù)的子類型(例如指紋模態(tài)中使用的具體手指)。當(dāng)3GB/T41903.4—XXXXBiometricType使用的生物特征數(shù)據(jù)的類型(例如模態(tài))。BIRDatabaseAccess——ReadWrite:允許添加、刪除和檢索——Write:允許添加和刪除記錄,但不支持檢索BSPSchemaOperations枚舉了BSP能夠提供給生物特征識別應(yīng)用的不同操作,見6.6。4GB/T41903.4—XXXXBSPSchemaOptions枚舉了BSP可以處理的不同選項,見6.6。EventKindGB/T41903.4—XXXXFacilityGUIEnrolTypeGUIMoment在調(diào)用GUI回調(diào)函數(shù)時,確定操作的進度時0GUIOperation在調(diào)用GUI回調(diào)函數(shù)時,確定正在執(zhí)行的操1GUIResponse56GB/T41903.4—XXXX2GUISuboperation在一個操作中,枚舉BSP可能執(zhí)行的子操作類型,將在GUI事件通知中報3ProcessedLevel4Purpose——EnrolForVerificatio——EnrolForIdentificacio5ResultOptions定義對某些BioAPI方法的請求,以向最初定義的方法提供附加結(jié)果,例如,見7.3.2。——RequestAdaptedBIR:請求通過使用作為生——RequestPayload:請求在驗證成功后返回Req——RequestAdditionalData:請求使用附加數(shù)據(jù),例如6SecurityOptionsType7GB/T41903.4—XXXX——ACBioGenerationWithD字簽名生成ACBio。7UnitCategoryType——Comparison:該單元是比對算法的集合(0x0000——Processing:該單元是處理算法的集合(0x0000——Sensor:該單元管理硬件傳感器(0x0000——QualityAssessment:該單元是不同質(zhì)量評估過程的集合(0x0008UnitIndicatorStatus9UnitPowerMode6.1.2BioAPIData說明定義了在面向?qū)ο驜ioAPI框架下用于交換的通用數(shù)據(jù)。C++定義typedefvector<unsignedchar>BIOAPIBioAPIData。6.1.3RegistryID8GB/T41903.4—XXXX說明定義了使用的數(shù)據(jù)標(biāo)識或產(chǎn)品標(biāo)識。相關(guān)標(biāo)識方法是在ISO/IEC19785生物特征識別信息記錄中(BIRs)的不同字段定義的兩個部分組成的結(jié)構(gòu)。屬性匯總屬性匯總?cè)缦拢骸猽nsignedshortOwner;——unsignedshortType。C++定義typedefstructBIOAPIRegistryID{unsignedshortowner;unsignedshorttype;}RegistryID。說明在本文件中,無論是組件還是用戶都需要使用唯一標(biāo)識符。本文件中將通用唯一標(biāo)識符(UUID)定義為16字節(jié)的數(shù)組。C++定義typedefarray<unsignedchar,16>BIOAPIUUID。6.1.5日期和時間在本文件中,日期和時間將由標(biāo)準(zhǔn)ctime庫中包含的tm結(jié)構(gòu)來處理。6.2ACBioparameters類6.2.1說明提供用于生成ACBio實例的信息的結(jié)構(gòu)。6.2.2屬性匯總屬性匯總?cè)缦拢骸獀ector<int>Challenge:在使用ACBio進行生物特征驗證時來自驗證器的挑戰(zhàn)碼。該值應(yīng)設(shè)置為ACBio實例中ACBioContentInformation類型的字段controlValue的值;——vector<int>InitialBPUIOIndexOutput:在生成ACBio實例時,分配給BioAPI_Unit、BFP或者BSP輸出的BPUIO索引的初始值。InitialBPUIOIndexOutput與SupremumBPUIOIndexOutput的區(qū)間應(yīng)按照BSPUnit的數(shù)量和被BSP接受的BFP的數(shù)量劃分成段,并分配給BSPUnit和BSP;9GB/T41903.4—XXXX——vector<int>SupremumBPUIOIndexOutput:生成ACBio實例時,分配給BioAPI單元、BFP或BSP輸出的BPUIO索引的上確界。6.3BFPListElement類6.3.1說明使用類別和UUID標(biāo)識BFP。當(dāng)查詢BSP所支持的已安裝的BFP時,BSP將返回一個列表。6.3.2屬性匯總屬性匯總?cè)缦拢骸猆nitCategoryTypeUnitCategory:單元的類別;——UUIDBFPID:分配給BFP的UUID。6.4BFPSchema類6.4.1說明表示組件注冊表中的記錄,該記錄定義了安裝在系統(tǒng)中的BFP的屬性。是一個可序列化的類。6.4.2屬性匯總屬性匯總?cè)缦拢骸猆UIDBFPUUID:BFP的UUID;——UnitCategoryTypeBFPCategory:用BFPUUID標(biāo)識的BFP類別;——stringBFPDescription:包含BFP文本描述的以NULL結(jié)束的字符串;——stringPath:一個指向以NULL結(jié)束的字符串的指針,該字符串包含BFP可執(zhí)行代碼文件的路徑,并且包括文件名。路徑可能是URL。該字符串應(yīng)由GB18030中規(guī)定的字符組成,并與GB/T13000-2010的附錄D建立映射關(guān)系。在函數(shù)調(diào)用中使用BFPSchema時,接受該調(diào)用的組件為Path模式元素分配內(nèi)存,并調(diào)用組件釋放內(nèi)存;——stringSpecVersion:實現(xiàn)BFP的BioAPI規(guī)范的主/次版本號;——stringProductVersion:BFP軟件的版本字符串;——stringVendor:包含BFP供應(yīng)商名稱的以NULL結(jié)束的字符串;——vector<unsignedchar>BFPProperty;——vector<RegistryID>BFPSupportedFormats:BFP支持的數(shù)據(jù)格式列表,見8.1;——vector<BiometricType>FactorsMask:BFP支持的生物特征類型列表,見8.1;——UUIDFwPropertyID:以下BFP屬性格式的UUID;——vector<unsignedchar>FwProperty:含有BFP屬性的緩存區(qū)的地址和長度。BFP屬性的格式和內(nèi)容可以由供應(yīng)商規(guī)定,也可以在相關(guān)標(biāo)準(zhǔn)中規(guī)定。6.5BIR類6.5.1說明該接口表示生物特征識別信息記錄(BIR)。它支持ISO/IEC19785中的定義,既適用于簡單BIR也適用于復(fù)雜BIR。GB/T41903.1中給出了應(yīng)使用的維護者格式規(guī)范。6.5.2屬性匯總GB/T41903.4—XXXX屬性匯總?cè)缦拢骸猂egistryIDSelfID;——unsignedcharCBEFFVersion;——unsignedcharPatronHeaderVersion;——RegistryIDBDBFormat;——boolBDBEncription;——boolBIRIntegrity;——BiometricTypeBDBBiometricType;——BiometricSubtypeBDBBiometricSubtype;——RegistryIDBDBCaptureDevice;——RegistryID——RegistryIDBDBComparisonAlg;——RegistryIDBDBCompresionAlg;——RegistryIDBDBPADTechnique;——vector<unsignedchar>BDBChallengeResponse;——tmBDBCreationDate;——vector<unsignedchar>BDBIndex;——ProcessedLevelBDBProcessedLevel;——RegistryIDBDBProduct;——PurposeBDBPurpose;——unsignedcharBDBQuality;——RegistryIDBDBQualityAlg;——vector<tm>BDBValidityPeriod;——tmBIRCreationDate;——vector<unsigned——vector<unsigned——vector<unsigned——vector<unsignedchar>BIRCreator;char>BIRIndex;char>BIRPayload;char>BIRPointer;——vector<tm>BIRValidityPeriod;——RegistryIDSBFormat;——vector<unsignedchar>BDBData;——vector<unsignedchar>SBData。6.5.3方法匯總BIR(vector<unsignedchar>record)BIR(RegistryIDbDBFormat,boolbDBEncription,boolbIRIntegrity,BiometricTypebDBBiometricType,BiometricSubtypebDBBiometricSubtype,RegistryIDbDBCaptureDevice,GB/T41903.4—XXXXRegistryIDbDBFeatureExtractionAlg,RegistryIDDBComparisonAlg,RegistryIDbDBCompresionAlg,RegistryIDbDBPADTechnique,vector<unsignedchar>bDBChallengeResponse,tmbDBCreationDate,vector<unsignedchar>bDBIndex,ProcessedLevelbDBProcessedLevel,RegistryIDbDBProduct,PurposebDBPurpose,unsignedcharbDBQuality,RegistryIDbDBQualityAlg,vector<tm>bDBValidityPeriod,tmbIRCreationDate,vector<unsignedchar>bIRCreator,vector<unsignedchar>bIRIndex,vector<unsignedchar>bIRPayload,vector<unsignedchar>bIRPointer,vector<tm>bIRValidityPeriod,RegistryIDsBFormat,vector<unsignedchar>bDBData,vector<unsignedchar>sBData)如果輸入的參數(shù)無效,格式不被支持或者由于錯誤導(dǎo)致操作失敗,則拋出BioAPIException,見vector<unsignedchar>ToArray()6.6BSPSchema類6.6.1說明表示組件注冊表中的記錄,該記錄定義了安裝在系統(tǒng)中的BSP的屬性。是一個可序列化的類。6.6.2屬性匯總屬性匯總?cè)缦拢骸猆UIDBSPUUID;——stringBSPDescription:包含BSP文本描述的以NULL結(jié)束的字符串;——stringPath:一個指向以NULL結(jié)束的字符串的指針,該字符串包含BSP可執(zhí)行代碼文件的路徑,并且包括文件名。路徑可能是URL。該字符串由GB18030中規(guī)定的字符組成,并與GB/T13000-2010的附錄D建立映射關(guān)系。在函數(shù)調(diào)用中使用BioAPI_BSP_SCHEMA時,接受該調(diào)用的組件為Path模式元素分配內(nèi)存,并調(diào)用組件釋放內(nèi)存;——stringSpecVersion:實現(xiàn)BSP的BioAPI規(guī)范的主/次版本號;——stringProductVersion:BSP軟件版本的字符串;——stringVendor:包含BSP供應(yīng)商名稱的以NULL結(jié)束的字符串;——vector<RegistryID>BSPSupportedFormats:BSP支持的數(shù)據(jù)格式列表,見6.1.3;——vector<BiometricType>FactorsMask:BSP支持的生物特征類型列表,見;——vector<BSPSchemaOperations>Operations:BSP支持的生物特征識別操作列表,見;——vector<BSPSchemaOptions>Options:BSP支持的生物特征識別選項列表,見;GB/T41903.4—XXXX——intAdditionalDataPolicy:設(shè)置的閾值(FMR最大值),用于決定驗證成功后何時釋放additionalData;——intMaxAdditionalDataSize:BSP可接受的additionalData的最大容量(以字節(jié)為單位);——intDefaultVerifyTimeout:當(dāng)應(yīng)用未規(guī)定超時時,BSP用于Verify操作的默認(rèn)超時值(以毫秒為單位);——intDefaultIdentifyTimeout:當(dāng)應(yīng)用未規(guī)定超時時,BSP用于Identify和BioAPI_IdentifyMatch操作的默認(rèn)超時值(以毫秒為單位);——intDefaultCaptureTimeout:當(dāng)應(yīng)用未規(guī)定超時時,BSP用于Capture操作的默認(rèn)超時值(以毫秒為單位);——intDefaultEnrolTimeout:當(dāng)應(yīng)用未規(guī)定超時時,BSP用于Enrol操作的默認(rèn)超時值(以毫秒為單位);——intDefaultCalibrateTimeout:當(dāng)應(yīng)用未規(guī)定超時時,BSP用于傳感器校準(zhǔn)操作操作的默認(rèn)超時值(以毫秒為單位);——intMaxBSPDbSize:BSP控制的BIR數(shù)據(jù)庫的最大容量。它僅適用于BSP只能直接管理單個存檔單元的情況。值為0表示沒有提供關(guān)于數(shù)據(jù)庫容量的信息,原因有以下三個:不支持?jǐn)?shù)據(jù)庫;能夠直接或通過BFP接口管理多個單元,每個單元可能具有不同的最大容量,有關(guān)這些單元的信息將作為插入通知的一部分(UnitSchema的一部分)提供;支持一個存檔單元,但這里不提供信息(它將在插入通知中提供)?!猧ntMaxIdentify:辨識函數(shù)支持的最大用戶集。如果最大用戶集沒有限制,則表示為Unlimited=0xFFFFFFFF;——intMaxNumEnrolInstances:在一次注冊操作中,BSP能夠為其創(chuàng)建參考模板的不同實例的最大數(shù)量。這些信息有可能對使用應(yīng)用控制的GUI特性的應(yīng)用程序有用;——vector<unsignedchar>HostingEndpointIRI:一個標(biāo)識框架的IRI,該框架的組件注冊表包含BSP的注冊。符合本文件的框架應(yīng)忽略該參數(shù),應(yīng)用應(yīng)將其設(shè)置為NULL。提供它是為了支持互操作標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)可以規(guī)定在相同或不同計算機上運行的應(yīng)用程序中,使用多臺計算機上存在的相同的BSP;——UUIDBSPAccessUUID:一個UUID,其在應(yīng)用范圍內(nèi)是唯一的,應(yīng)用可以使用該UUID來引用BSP,作為BSP產(chǎn)品UUID的替代。符合本文件的框架應(yīng)忽略此參數(shù),應(yīng)用可以將其設(shè)置為任何UUID值。提供它是為了支持互操作標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)可以規(guī)定在相同或不同計算機上運行的應(yīng)用程序中,使用多臺計算機上存在的相同的BSP;注:“BSPAccess_UUID”和“HostingendpointIRI”是C類型BioAPI_BS注冊表中的BSP模式信息的一部分,見GB/T——vector<RegistryID>BSPSupportedAlgorithms:BioAPI_ALGORITHM_ID結(jié)構(gòu)的數(shù)組,表明支持的算法;——vector<UUID>BSPSupportedTransformOperations:BioAPI_UUID結(jié)構(gòu)的數(shù)組,表明在BioAPI_Transform操作中支持的轉(zhuǎn)換操作。6.7Candidate類6.7.1說明定義從Identify功能中產(chǎn)生的每個候選者。GB/T41903.4—XXXX6.7.2屬性匯總屬性匯總?cè)缦拢骸猆UIDKey:定義了系統(tǒng)中(例如數(shù)據(jù)庫中)候選者的UUID;——intFMRAchieved:表示候選者在Identify過程中獲得的FMR。6.8FrameworkSchema類6.8.1說明定義BioAPI框架的屬性。6.8.2屬性匯總屬性匯總?cè)缦拢骸猆UIDFrameworkUUID:框架組件的UUID;——stringFwDescription:包含框架文本描述的以NULL結(jié)束的字符串;——stringPath:一個指向以NULL結(jié)束的字符串的指針,該字符串包含框架可執(zhí)行代碼的文件的路徑,并且包括文件名。路徑可能是URL。該字符串由GB18030中規(guī)定的字符組成,并與GB/T13000-2010的附錄D建立映射關(guān)系;注:在函數(shù)調(diào)用中使用FrameworkSchema時,接受該調(diào)用的組件為Path模式元素分配內(nèi)存,并調(diào)用組件釋放內(nèi)存?!猻tringSpecVersion:實現(xiàn)框架的BioAPI規(guī)范的主/次版本號;——stringProductVersion:框架軟件的版本字符串;——stringVendor:包含框架供應(yīng)商的名稱的以NULL結(jié)束的字符串;——UUIDFwPropertyID:以下框架屬性格式的UUID;——vector<unsignedchar>FwProperty:包含框架屬性的緩存區(qū)的地址和長度??蚣軐傩缘母袷胶蛢?nèi)容可以由供應(yīng)商規(guī)定,也可以在相關(guān)標(biāo)準(zhǔn)中規(guī)定。6.9GUIBitmap類6.9.1說明通過GUI回調(diào)函數(shù),為應(yīng)用和BSP之間交換圖像信息提供支持。6.9.2屬性匯總屬性匯總?cè)缦拢骸狟iometricSubtypeSubtype;——intWidth;——intHeight;——vector<vector<unsignedchar>>Pixel。6.10Identifypopulation類6.10.1說明表示在生物特征辨識中進行比對的BIR集合。其提供了單個屬性,即使用的用戶集的成員列表。不允許在該接口之外更改此屬性。GB/T41903.4—XXXX6.10.2屬性匯總?cè)缜八觯ㄟ^接口方法內(nèi)部修改的接口屬性如下:vector<PopulationMember>PopulationIdentified:該屬性可由BSP來提供用戶集成員列表。6.10.3方法匯總virtualvoidAddMember(PopulationMembermember)如果輸入的參數(shù)無效或者由于錯誤導(dǎo)致操作失敗,則拋出BioAPIException,見11.1。virtualboolIsBound()virtualvoidUnbind()6.11PopulationMember類6.11.1說明定義了用于辨識目的的用戶集列表中的一個成員。6.11.2屬性匯總屬性匯總?cè)缦拢骸猆UIDkey:用戶標(biāo)識符,該標(biāo)識符與數(shù)據(jù)庫中用戶的唯一標(biāo)識符相關(guān)(或相同——BIRTemplate:用戶的生物特征參考。6.12SecurityProfileType類6.12.1說明定義了BioAPI_Unit或生物特征識別應(yīng)用的加密算法和密鑰信息,這些信息用于加密/解密生物特征數(shù)據(jù)、生成/驗證BIR的MAC或者數(shù)字簽名;也提供了哈希算法的信息、關(guān)于MAC生成的信息,以及ACBio生成中使用的數(shù)字簽名的信息。當(dāng)此結(jié)構(gòu)作為BioAPI_QueryUnits的輸出參數(shù)用于UnitSchema接口時,結(jié)構(gòu)中的參數(shù)表示BioAPI_Unit支持的信息。更多信息見GB/T30267.1。6.12.2屬性匯總屬性匯總?cè)缦拢篏B/T41903.4—XXXX——vector<SecurityOptionsType>SupportedSecurityOptions;——vector<unsignedchar>ENCInfo;——vector<unsignedchar>MACInfo;——vector<unsignedchar>SIGNAlg:標(biāo)識BioAPI_Unit支持的數(shù)字簽名算法。該BioAPI類型應(yīng)是分配給數(shù)字簽名算法的ASN.1標(biāo)識符的XML值表示,見GB/T16262.1;——vector<BSPSchemaOptions>ACBioOption:一個掩碼,指示BioAPI_Unit支持或執(zhí)行MAC或數(shù)字簽名的那些安全選項;——vector<unsignedchar>HASHAlgForACBio;——vector<unsignedchar>MACInfoForACBio;——vector<unsignedchar>SIGNAlgForACBio:作為SIGNAlg,但用于生成ACBio實例。6.13UnitList類6.13.1說明用類別和ID標(biāo)識選擇的BioAPI_Unit列表。該類的對象每個類別最多只能有一個UnitListElement。對于某個具體類別,如果沒有UnitListElement,BSP應(yīng)適當(dāng)做出反應(yīng)(例如,如果沒有要求的可用單元,則拋出異常)。6.13.2屬性匯總Vector<UnitListElement>UnitListElement:選擇的單元列表。6.13.3方法匯總voidAdd(UnitListElementunitListElement)unitListElement:新單元的類型和unitID如果操作失敗,則拋出BioAPIExceptiintGetUnitID(UnitCategoryTypeunitCategoryType)獲取具有所選類別類型的單元的unitID。請求提供unitID的單元類別。與所提供類別類型對應(yīng)的unitID。6.14UnitListElement類6.14.1說明使用類別和ID標(biāo)識BioAPI_Unit。這些元素的列表用于建立在執(zhí)行聚合函數(shù)期間要考慮的單元。GB/T41903.4—XXXX6.14.2屬性匯總屬性匯總?cè)缦拢骸猆nitCategoryTypeUnitCategory:單元的類別;——intUnitID:分配給BioAPI_Unit的ID。6.15UnitSchema類6.15.1說明定義生物特征識別單元的屬性。沒有方法修改已存在的UnitSchema對象。6.15.2屬性匯總屬性匯總?cè)缦拢骸猆UIDBSPUUID:支持該BioAPI單元的BSP的UUID;——UUIDUnitManagerUUID:直接管理BioAPI_Unit(BSP本身或者BFP)的軟件組件的UUID;——intUnitID:BioAPI_Unit的ID。將由BSP唯一創(chuàng)建;——UnitCategoryTypeUnitCategory:定義BioAPI_Unit的類別;——UUIDUnitProperties:表示BioAPI_Unit的屬性集的UUID。屬性集可以由每個供應(yīng)商規(guī)定,也可以在相關(guān)標(biāo)準(zhǔn)中規(guī)定;——stringVendorInformation:包含供應(yīng)商專有信息;——vector<EventKind>SupportedEvents:指示硬件所支持的事件類型的掩碼;——UUIDUnitPropertyID:下列Unit屬性結(jié)構(gòu)格式的UUID;——vector<unsignedchar>UnitProperty:包含描述BioAPI_Unit的單元屬性的內(nèi)存緩存區(qū)的地址和長度。單元屬性的格式和內(nèi)容可以由供應(yīng)商規(guī)定,也可以在相關(guān)標(biāo)準(zhǔn)中規(guī)定;——stringHardwareVersion:一個包含硬件版本的以NULL結(jié)束的字符串。若無法獲得,則為空;——stringFirmwareVersion:一個包含固件版本的以NULL結(jié)束的字符串。若無法獲得,則為空;——stringSoftwareVersion:一個包含軟件版本的以NULL結(jié)束的字符串。若無法獲得,則為空;——stringHardwareSerialNumber:一個包含供應(yīng)商定義的硬件組件的唯一序列號的以NULL結(jié)束的字符串。若無法獲得,則為空;——boolAuthenticatedHardware:硬件組件是否經(jīng)過認(rèn)證的布爾值;——intMaxBSPDbSize:如果BioAPI_Unit為Archive單元,該單元支持的數(shù)據(jù)庫的最大容量。如果為零,則數(shù)據(jù)庫不存在;——intMaxIdentify:如果BioAPI_Unit為Comparison單元,為單元支持的最大辨識用戶集。如果沒有限制最大用戶集,則表示為:Unlimited=FFFFFFFF;——vector<SecurityProfileType>SecurityProfile:BioAPI_Unit的安全配置文件。7支持BioAPI_Unit的面向?qū)ο蟮慕涌?.1通用要求每個單元宜有一個實現(xiàn)的UnitSchema,供BFP和/或BSP使用。另外,每個單元宜實現(xiàn)一個ACBioInstance。如果該單元支持ACBio,那么該單元應(yīng)使用最新生成的ACBio實例更新此字段。如果不支持ACBio,則該字段應(yīng)被固定為NULL。比對單元宜實現(xiàn)以下由Verify方法內(nèi)部使用的字段:GB/T41903.4—XXXX——intFMRAchieved,表示比對過程獲得的FMR值;——BIRAdaptedBIR,若由VerifyResultOptions表示,一旦根據(jù)比對生成的結(jié)果進行了更新,則保存模板的最終BIR(例如用戶生物特征參考動態(tài)調(diào)整的情況);——vector<unsignedchar>AdditionalData,如果需要,則該字段保存先前調(diào)用的Verify方法生成的AdditionalData。同時,傳感器單元宜實現(xiàn)以下字段:——vector<unsignedchar>AuxiliaryData;——UnitIndicatorStatusIndicatorStatus。7.2IArchive接口7.2.1說明該接口表示生物特征識別應(yīng)用或BSP的存檔功能。存檔系統(tǒng)的具體實現(xiàn)取決于開發(fā)者(例如文件目錄或基于SQL的數(shù)據(jù)庫引擎等),只要接口遵循本文件的規(guī)定即可。應(yīng)用或框架不應(yīng)訪問該接口中的方法和屬性,因為該接口只包含在BSP或BFP中。7.2.2方法匯總voidCloseDatabase(intunitID)voidDeleteBIR(intunitID,UUIDkey)從數(shù)據(jù)庫中刪除BIR。如果數(shù)據(jù)庫已經(jīng)關(guān)閉,或者數(shù)據(jù)庫以只讀模式打開,或者出現(xiàn)任何其他類型的錯誤,則拋出vector<UUID>ListUUIDs(intunitID)GB/T41903.4—XXXX如果數(shù)據(jù)庫已經(jīng)關(guān)閉,或者數(shù)據(jù)庫以只寫模式打開,或者出現(xiàn)任何其他類型的錯誤,則拋出IdentifypopulationNewIdentifyPopulation(intunitID)),如果數(shù)據(jù)庫已經(jīng)關(guān)閉,或者數(shù)據(jù)庫以只寫模式打開,或者出現(xiàn)任何其他類型的錯誤,則拋出IdentifyPopulationNewIdentifyPopulation(intunitID,vector<UUID>UUIDList)將BSP或BFP使用的數(shù)據(jù)庫設(shè)置為辨識操作的數(shù)據(jù)源。這也可以用來獲取數(shù)據(jù)庫中包含的BIR),如果數(shù)據(jù)庫已經(jīng)關(guān)閉,或者數(shù)據(jù)庫以只寫模式打開,或者出現(xiàn)任何其他類型的錯誤,則拋出IdentifyPopulationNewIdentifyPopulation(intunitID,vector<unsignedchar>query)將BSP或BFP使用的數(shù)據(jù)庫設(shè)置為辨識操作的數(shù)據(jù)源。這也可被調(diào)用,來獲取數(shù)據(jù)庫中與指定),如果數(shù)據(jù)庫已經(jīng)關(guān)閉,或者數(shù)據(jù)庫以只寫模式打開,或者未找到記錄,或者出現(xiàn)任何其他類型voidOpenDatabase(intunitID,vector<unsignedchar>databaseID,BIRDatabaseAccessaccess)GB/T41903.4—XXXX——dastabaseID:指定要打開的數(shù)據(jù)庫的可選標(biāo)識符。當(dāng)不同的數(shù)據(jù)庫能夠與單個存檔單元一起使用時,所有數(shù)據(jù)庫應(yīng)與存檔單元的內(nèi)部規(guī)程兼——access:指定對打開的數(shù)據(jù)庫的訪問模如果數(shù)據(jù)庫已被打開,或者出現(xiàn)任何其他類型的錯誤,則拋出BioAPIException,見11.1。UUIDStoreBIR(intunitID,BIRbiometricReference)將指定的BIR添加到無UUID的數(shù)據(jù)庫,允許單元返回分配的UUID?!猙iometricReference:要如果數(shù)據(jù)庫已經(jīng)關(guān)閉,或者數(shù)據(jù)庫以只讀模式打開,或者出現(xiàn)任何其他類型的錯誤,則拋出0voidStoreBIR(intunitID,BIRbiometricReference,UUIDkey)將指定的BIR添加到數(shù)據(jù)庫,并為其分配提供的UUID。如果已經(jīng)分配了UUID,則拋出異常。如果程序想要更新現(xiàn)有的UUID,應(yīng)用程序宜首先刪除它,然后重新使用UUID。這樣做是為了如果數(shù)據(jù)庫已經(jīng)關(guān)閉,或者數(shù)據(jù)庫以只讀模式打開,或者UUID已經(jīng)在使用中,或者出1UUIDStoreBIR(intunitID,BIRbiometricReference,vector<unsignedchar>auxiliaryData)將指定的BIR添加到無UUID的數(shù)據(jù)庫,允許單元返回分配的UUID。在本文件規(guī)定)。例如,這些信息可以是與BiometricReference(生物特征參考)相關(guān)的人口——biometricReference:要——auxiliaryData:存儲到數(shù)據(jù)庫的,如果數(shù)據(jù)庫已經(jīng)關(guān)閉,或者數(shù)據(jù)庫以只讀模式打開,或者出現(xiàn)任何其他類型的錯誤,則拋出GB/T41903.4—XXXX2voidStoreBIR(intunitID,BIRbiometricReference,vector<unsignedchar>auxiliaryData,UUIDkey)將指定的BIR添加到數(shù)據(jù)庫,并為其分配提供的UUID。如果已經(jīng)分配了UUID,則拋出異常。如果程序想要更新現(xiàn)有的UUID,應(yīng)用程序宜首先刪除它,然后重新使用UUID。這樣做是為了在本文件中規(guī)定)。例如,這些信息可以是與BiometricReference(生物特征參考)相關(guān)的人——biometricReference:要如果數(shù)據(jù)庫已經(jīng)關(guān)閉,或者數(shù)據(jù)庫以只讀模式打開,或者UUID已經(jīng)在使用中,或者出現(xiàn)任何7.3IComparision接口7.3.1說明該接口包含執(zhí)行生物特征比對功能所需的所有屬性和方法。定義了一些屬性來返回Verify方法的結(jié)果,確保它們的值不允許公開修改。方法被重載以允許比對單個樣本,或者通過使用除了要比對的樣本BIR以外的BIR列表,在內(nèi)部適應(yīng)比對算法。在該單元中,使用了FMR術(shù)語。FMR將誤匹配率表示為一個32位的整數(shù)值(N),表示可能的誤匹配率為N/(231-1);值越大,結(jié)果越差。負(fù)值表示異常情況。目前唯一定義的負(fù)值是-1。出于安全原因,沒有提供修改現(xiàn)有FMR對象的方法。應(yīng)用或框架不應(yīng)訪問該接口中的方法和屬性,因為該接口只包含在BSP或BFP中。7.3.2方法匯總BIRGetAdaptedBIR(intunitID)如果由VerifyResultOptions指示,一旦被比對結(jié)果更新(例如用戶的生物特征參考動態(tài)調(diào)整的情況),則該方法返回該模板的最終BIR。更新的BIR。如果沒有更新的BIR,則返回NULL。intGetFMRAchieved(intunitID)GB/T41903.4—XXXXvector<Candidate>Identify(intunitID,intmaxFMRrequested,BIRprocessedBIR,boolbinning,intmaxResults,inttimeout)見。vector<Candidate>Identify(intunitID,intmaxFMRrequested,BIRprocessedBIR,vector<BIR>auxiliaryBIRs,boolbinning,intmaxResults,inttimeout)考BIR之間完成辨識(一對多)比對。輸入的是為本次辨識專門采集的經(jīng)過處理的BIR。與之進行比對的用戶集應(yīng)通過調(diào)用PresetIdent——maxFMRrequested:成功——binning:表明分箱是否運行的一個布爾值。分箱是BSP可以采用的最優(yōu)化搜索技術(shù)。能是,搜索了一個應(yīng)該包含但實際沒有包含可匹配的BIR的分箱的情況這個值可以是任何正數(shù)。“-1”表示要使用BSP默認(rèn)超時值。如果輸入的參數(shù)無效,或者由于錯誤導(dǎo)致操作失敗,則拋出BioAPIException,見11.1。voidPresetIdentifyPopulation(intunitID,Identifypopulationpopulation)保持有效,直到以不同的設(shè)置調(diào)用presetIdenti如果輸入的參數(shù)無效,或者由于錯誤導(dǎo)致操作失敗,則拋出BioAPIException,見11.1。boolVerify(intunitID,intmaxFMRrequested,BIRprocessedBIR,BIRreferenceTemplate,vector<ResultOptions>options)見。GB/T41903.4—XXXXboolVerify(intunitID,intmaxFMRrequested,BIRprocessedBIR,BIRreferenceTemplate,vector<BIR>auxiliaryBIRs,vector<ResultOptions>options)對現(xiàn)有的生物特征樣本進行生物特征驗證。該函數(shù)在兩個BIR(輸入BIR和生物特征參考)之間執(zhí)行驗證(一對一)比對。輸入BIR是專門為驗證而構(gòu)造的經(jīng)過處理的BIR。參考模板是在注AdditionalData)是否被更新。通過設(shè)置RequestAdaptedBir選項,應(yīng)用可以請求通過使用輸入的處理過的BIR更新參考模板來構(gòu)造BIR。最終得到的、經(jīng)過更新的BIR,宜被認(rèn)為是最佳注冊模板(使用還是或丟棄這些數(shù)據(jù)取決于應(yīng)如果additionalData與參考模板相關(guān),并且達到的FMR足夠嚴(yán)格,則在驗證成功后可返回如果輸入的參數(shù)無效,或者由于錯誤導(dǎo)致操作失敗,則拋出BioAPIException,見11.1。7.4IProcessing接口7.4.1說明表示使用處理類別的單元時,一組可用的生物特征識別操作。應(yīng)用或框架不應(yīng)訪問該接口中的方法和屬性,因為該接口只包含在BSP或BFP中。7.4.2方法匯總BIRCreateTemplate(intunitID,BIRcapturedBIR,BIRreferenceTemplate,RegistryIDoutputFormat,vector<unsignedchar>additionalData)見。BIRCreateTemplate(intunitID,vector<BIR>capturedBIRs,BIRreferenceTemplate,RegistryIDoutputFormat,vector<unsignedchar>additionalData)GB/T41903.4—XXXX——referenceTemplate:可選項——outputFormat:如果BSP支持多種格式,則指定返回的已處理過的BIR使用哪種BDB——additionalData:BSP將如果輸入的參數(shù)無效,格式不支持或者由于錯誤導(dǎo)致操作失敗,則拋出BioABIRProcess(intunitID,BIRcapturedBIR,RegistryIDoutputFormat)見。BIRProcess(intunitID,BIRcapturedBIR,vector<BIR>auxiliaryBIRs,RegistryIDoutputFormat)處理采集的生物特征樣本,以創(chuàng)建一個處理過的生物特征樣本,用于驗證或辨識。通過重載方如果輸入的參數(shù)無效,或者由于錯誤導(dǎo)致操作失敗,則拋出BioAPIException,見11.1。unsignedcharAnalyseQuality(intunitID,BIRcapturedBIR)質(zhì)量得分,可以是0(最低質(zhì)量)到100(最高質(zhì)量)之間的任何整數(shù),如果質(zhì)量算法未能提供評如果輸入的參數(shù)無效,或者由于錯誤導(dǎo)致操作失敗,則拋出BioAPIException,見11.1。GB/T41903.4—XXXX7.5.1說明表示在傳感器單元中一組可用的生物特征識別操作,用于獲取樣本。應(yīng)用或框架不應(yīng)訪問這個接口中的方法和屬性,因為該接口只包含在BSP或BFP中。7.5.2方法匯總?cè)绻斎氲膮?shù)無效,或者由于錯誤導(dǎo)致操作失敗,則拋出BioAPIException,見11.1。BIRCapture(intunitID,vector<Purpos為指定目的采集樣本,BSP返回中間類型的BIR或處理過的BIR。把目的記錄在采集BIR的數(shù)——subtype:表示獲取的生物特征樣本的子類型?!猼imeout:表示操作超時值的整數(shù)如果BioAPI_Unit支持,則該函數(shù)將所選的BioAPI_Unit設(shè)置為所請求的指示器狀態(tài)。GB/T41903.4—XXXX——indicatorStatus:設(shè)8BFP層8.1IBFP接口描述表示生物特征識別功能供方。該接口由BFP功能和BFP支持的BioAPI_Unit的集合組成。在同一個BFP中,應(yīng)只包含一個類別的BioAPI_Unit。它還可以為與BSP和組件注冊表的通信提供支持。8.2導(dǎo)入接口當(dāng)BSP支持相應(yīng)的BioAPI_Unit時,IBFP應(yīng)導(dǎo)入以下接口之一,其次數(shù)與BSP支持的BioAPI_Unit數(shù)量一樣多:——存檔單元接口;——傳感器單元接口;——處理單元接口;——比對單元接口。8.3屬性匯總屬性匯總?cè)缦拢骸狟FPSchemaBFPSchema;——vector<unsignedchar>ACBioInstance。8.4事件匯總有一個公共事件允許BFP在發(fā)生關(guān)注的事情時啟動相應(yīng)事件:——BFPEventCallbackBFPEvent事件;——BFPGUIProgressCallbackBFPGUICallback事件。8.5方法匯總8.5.1概述除了BSP所選的單元類別的方法(在7.2、7.3、7.4或7.5給出)外,IBFP還應(yīng)包括以下方法。8.5.2voidBFPLoad(BFPEventCallbackbfpNotifyCallback)初始化BFP。初始化包括為指定的BFP注冊BSP事件句柄并激活所有事件。BS一個事件句柄函數(shù)來接收事件通知。許多BSP可以獨立地、并發(fā)地加載相同的BFP,并且每個BSP可以建立自己的事件句柄。它們都將收到事件通知。如果一個BSP加載多個BFP,則可以對于給定的BFP,BSP可以通過一次或多次調(diào)用BFPLoad來為該BFP建立任意多的事件句柄。GB/T41903.4—XXXX事件通知可以在任何時候發(fā)生,無論是在BSP調(diào)用期間(與事件相關(guān)或無關(guān)),或在沒有執(zhí)行BSP調(diào)用時。無論BSP何時接收回調(diào),BSP開bfpNotifyCallback:定義一個回調(diào),用于向B如果任何參數(shù)無效或者初始化過程中出現(xiàn)任何其他錯誤,則拋出BioAPIException,見11.1。8.5.3voidBFPUnload()如果任何參數(shù)無效或者初始化過程中出現(xiàn)任何其他錯誤,則拋出BioAPIException,見11.1。8.5.4vector<unsignedchar>ControlUnit(intunitID,intcontrolCode,vector<unsignedchar>inputData)向BioAPI_Unit發(fā)送控制數(shù)據(jù)并從那里接收狀態(tài)或操作數(shù)據(jù)。參數(shù)和輸出的內(nèi)容將在注:該方法用于向來自引用的BioAPI_Unit相關(guān)的內(nèi)部方法發(fā)送詢問。由于互操作性僅在BSP層上需要,因此這些相關(guān)內(nèi)部方法調(diào)用的方式依賴于實現(xiàn),8.5.5vector<unsignedchar>GetAuxiliaryData(intunitID)執(zhí)行操作后,從引用的BioAPI_Unit(如傳感器)獲得任何可用的輔助數(shù)據(jù)。包含在前序函數(shù)運行結(jié)束后,從BioAPI_Unit接收到的輔助數(shù)據(jù)的數(shù)據(jù)緩存區(qū)。如果函數(shù)沒有8.5.6vector<UnitSchema>QueryUnits()見8.5.7。GB/T41903.4—XXXX8.5.7vector<UnitSchema>QueryUnits(vector<UnitCategoryType>unitCategories)該函數(shù)返回由給定的BFP管理的,并且當(dāng)前處于插入狀態(tài)應(yīng)只在為指定的BFP調(diào)用BFPLoad之后調(diào)用該函數(shù)。BFP中的所有單元應(yīng)有定義的UnitSchema。種轉(zhuǎn)換的目的是避免在BSP的范圍內(nèi)存在重復(fù)的單元ID。當(dāng)BSP使用兩),UnitSchema列表,其中每個元素描述當(dāng)8.5.8voidSetPowerMode(intunitID,UnitPowerModepowerMode)如果BioAPI_Unit支持,該函數(shù)將加載的BSP所引用的BioAPI_Unit設(shè)置為要求的電源模式。9BSP層9.1IBSP接口描述表示生物特征識別服務(wù)供方。它是提供生物特征識別操作訪問權(quán)限的會話對象工廠。該接口由BSP的功能和BSP支持的BioAPI_Unit的集合組成。它還可以支持與BFP和組件注冊表的通信。BSP開發(fā)人員可以決定不支持發(fā)布受支持的BioAPI_Units的某些功能,向外界提供這些方法的調(diào)用,但會啟動BioAPI異常,表明不支持此類方法。此外,通過繼承IBSPUnitSet接口添加與框架交互所需的方法和屬性。9.2導(dǎo)入接口當(dāng)BSP支持相應(yīng)的BioAPI_Unit時,IBSP應(yīng)導(dǎo)入以下接口:——存檔單元接口;——傳感器單元接口;——處理單元接口;——比對單元接口。9.3屬性匯總GB/T41903.4—XXXXBSP特性的公共只讀屬性如下:——BSPSchemaBSPSchema;——vector<unsignedchar>ACBioInstance。9.4事件匯總有一個公共事件允許BSP在發(fā)生關(guān)注的事情時啟動相應(yīng)事件:eventBSPEventCallbackBSPEvent。9.5方法匯總9.5.1概述除了在7.2、7.3、7.4和7.5中給出的所有BioAPI_Unit類別的方法,IBSP還應(yīng)包括下列方法,盡管開發(fā)者可決定不支持其中的某些方法,但當(dāng)相應(yīng)的BioAPIException調(diào)用時會返回這些方法。見11.1。9.5.2voidBSPLoad(BSPEventCallbackbspNotifyCallback)初始化BSP。如果沒有對BSPUnload()的相應(yīng)bspNotifyCallback:定義一個回調(diào),用如果任何參數(shù)無效,或初始化過程中出現(xiàn)任何其他錯誤,則拋出BioAPIException,見11.1。9.5.3voidBSPUnload()如果任何參數(shù)無效,或初始化過程中出現(xiàn)任何其他錯誤,則拋出BioAPIException,見11.1。9.5.4unsignedcharCheckQuality(BIRinputBIR,RegistryIDqualityAlgorithmID)該函數(shù)對包含在輸入BIR中的生物特征數(shù)據(jù)進行質(zhì)量評價。應(yīng)用的質(zhì)量算法。BSP可以通過調(diào)用BioAPI_EnumBSPs來確定支持哪些質(zhì)量算法。如果請求的是不支持的算法,則應(yīng)拋出BioAPIERR_UNSUPPORTED_ALGORITHMBioA——inputBIR:包含需要評價質(zhì)量的生物特征數(shù)據(jù)的BIR;9.5.5vector<unsignedchar>ControlUnit(intunitID,intcontrolCode,vector<unsignedchar>inputData)向BioAPI_Unit發(fā)送控制數(shù)據(jù)并從那里接收狀態(tài)或操作數(shù)據(jù)。參數(shù)和輸出的內(nèi)容將在注:該方法向來自引用的BioAPI_Unit相關(guān)的內(nèi)部方法發(fā)送詢問。由于互操作性僅在BSPGB/T41903.4—XXXX層上需要,因此這些相關(guān)內(nèi)部方法調(diào)用的方式依賴于實現(xiàn),這超9.5.6UUIDEnrol(UnitListunitList,BIRcapturedBIR,BIRreferenceTemplate,vector<Purpose>purpose,BiometricSubtypesubtype,RegistryIDoutputFormat,vector<unsignedchar>additionalData,vector<ResultOptions>options)見9.5.11。9.5.7UUIDEnrol(UnitListunitList,vector<BIR>capturedBIRs,BIRreferenceTemplate,vector<Purpose>purpose,BiometricSubtypesubtype,RegistryIDoutputFormat,vector<unsignedchar>additionalData,vector<ResultOptions>options)見9.5.11。9.5.8UUIDEnrol(UnitListunitList,intnumberOfPresentations,intnumberOfAttempts,BIRreferenceTemplate,vector<Purpose>purpose,BiometricSubtypesubtype,RegistryIDoutputFormat,vector<unsignedchar>additionalData,inttimeout,vector<ResultOptions>options)見9.5.11。9.5.9UUIDEnrol(UnitListunitList,BIRcapturedBIR,UUIDreferenceID,vector<Purpose>purpose,BiometricSubtypesubtype,RegistryIDoutputFormat,vector<unsignedchar>additionalData,vector<ResultOptions>options)見9.5.11。9.5.10UUIDEnrol(UnitListunitList,vector<BIR>capturedBIRs,UUIDreferenceID,vector<Purpose>purpose,BiometricSubtypesubtype,RegistryIDoutputFormat,vector<unsignedchar>additionalData,vector<ResultOptions>options)見9.5.11。9.5.11UUIDEnrol(UnitListunitList,intnumberOfPresentations,intnumberOfAttempts,UUIDreferenceID,vector<Purpose>purpose,BiometricSubtypesubtype,RegistryIDoutputFormat,vector<unsignedchar>additionalData,inttimeout,vector<ResultOptions>options)可以從初始注冊開始,或者更新先前的注冊。在第一種情況下,參數(shù)ReferenceTemplate或GB/T41903.4—XXXXReferenceID應(yīng)是NULL。在第二種情況下,可以通過BIR(使用Refe成功注冊的結(jié)果是:給創(chuàng)建的生物特征參考分配的UUID,以及該生物特征參考的BIR(可選它將位于BiometricReference屬性中。如果出BSP負(fù)責(zé)提供與注冊操作相關(guān)的默認(rèn)用戶接口。應(yīng)用可以通過BSP.SubscribeToGUIEvents()方法提供GUI回調(diào)來請求對GUI“外觀”的控制。因為Enrol()操作包括采集,所以感器設(shè)備的使用。如果有兩個或兩個以上應(yīng)用在爭用該設(shè)備,則失敗的應(yīng)用將等待操作完成或——capturedBIR:可選項,用于注冊的BIR格式的生物特征樣本,見6——numberOfAttempts:在返回一個注冊失?。‵TE)異常之前,該參數(shù)表示獲取一個呈現(xiàn)——referenceID:可選項,將被更新的生物特征——outputFormat:如果BSP支持多種格式,該參數(shù)規(guī)定返回的NewTemplate使用哪種BDB格——additionalData:BSP將——timeout:表示操作超時值的整數(shù)值(以毫秒為單位),如果達到此超時值,函數(shù)將返回一個錯誤,并且不返回任何結(jié)果。這個值可以是任何正數(shù)?!?1”表示將使用BSP默認(rèn)超時所存儲的生物特征參考的UUID。如果任何參數(shù)錯誤,或者在處理過程中出現(xiàn)其他錯誤(例如不能訪問數(shù)據(jù)庫),則拋出9.5.12vector<unsignedchar>GetAuxiliaryData(intunitID)執(zhí)行操作后,從引用的BioAPI_Unit(如傳感器)獲得任何可用的輔助數(shù)據(jù)。包含在前序函數(shù)運行結(jié)束之后,從BioAPI_Unit接收到的輔助數(shù)據(jù)的數(shù)據(jù)緩GB/T41903.4—XXXX9.5.13vector<Candidate>IdentifyAggregated(UnitListunitList,intmaxFMRrequested,BiometricSubtypesubtype,boolbinning,intmaxResults,inttimeout,vector<ResultOptions>options)見9.5.14。9.5.14vector<Candidate>IdentifyAggregated(UnitListunitList,BIRinputBIR,intmaxFMRrequested,BiometricSubtypesubtype,boolbinning,intmaxResults,inttimeout,vector<ResultOptions>options)該方法提供了聚合功能。它增加了IComparison(見6.3)中的Identify方法的功能。當(dāng)BSPBSP負(fù)責(zé)提供與注冊操作相關(guān)的默認(rèn)用戶接口。應(yīng)用可以通過BSP.SubscribeToGUIEvents()方法提供GUI回調(diào)來請求對GUI“外觀”的控制。因為這個操作包括采集,所以它序列化了傳——inputBIR:待辨識的原始的或處理過的BIR;),9.5.15vector<BFPListElement>QueryBFPs(vector<UnitCategoryType>unitCategories)返回當(dāng)前會話中BSP支持的可用的BFP的標(biāo)識。unitCategories:可選項,請求枚舉的單元模式9.5.16vector<UnitSchema>QueryUnits()見9.5.17。GB/T41903.4—XXXX9.5.17vector<UnitSchema>QueryUnits(vector<UnitCategoryType>unitCategories)BSP中的所有單元應(yīng)有一個定義的UnitSchema。unitCategories:可選項,請求枚舉的單元模式9.5.18boolVerifyAggregated(UnitListunitList,intmaxFMRrequested,BIRreferenceTemplate,BiometricSubtypesubtype,inttimeout,vector<ResultOptions>options)見9.5.21。9.5.19boolVerifyAggregated(UnitListunitList,intmaxFMRrequested,BIRinputBIR,BIRreferenceTemplate,BiometricSubtypesubtype,inttimeout,vector<ResultOptions>options)見9.5.21。9.5.20boolVerifyAggregated(UnitListunitList,intmaxFMRrequested,UUIDreferenceKey,BiometricSubtypesubtype,inttimeout,vector<ResultOptions>options)見9.5.21。9.5.21boolVerifyAggregated(UnitListunitList,intmaxFMRrequested,BIRinputBIR,UUIDreferenceKey,BiometricSubtypesubtype,inttimeout,vector<ResultOptions>options)法提供GUI回調(diào)來請求對GUI“外觀”的控制。因為這個操作包括采集,所以它序列化了傳感時過期。這種序列化發(fā)生在所有采集數(shù)據(jù)的函數(shù)中。BSP負(fù)責(zé)序列化。它可以通過拋出異常來——inputBIR:待驗證的原始的或——referenceKey:用于驗證的生物特——referenceTemplate:與用于驗證的生物特征參GB/T41903.4—XXXX這個值可以是任何正數(shù)?!?1”表示將使用BSP默認(rèn)超時值;如果出現(xiàn)任何Capture異常(7.5)或者Verify異常(7.3),則拋出BioAPIException,見9.5.22voidSetPowerMode(intunitID,UnitPowerModepowerMode)9.5.23voidSubscribeToGUIEvents(GUISelectEventCallbackguiSelectEventCallback,GUIStateEventCallbackguiStateEventCallback,GUIProgressEventCallbackguiProgressEventCallback)如果該方法是用先前已經(jīng)分配回調(diào)函數(shù)的確定事件調(diào)用,則該方法只需簡單的用當(dāng)前調(diào)用中提——guiStateEventCall——guiProgressEventCallback9.5.24voidUnsubscribeFromGUIEvents()該方法清除之前訂閱的回調(diào)地址。調(diào)用該函數(shù)后,BSP應(yīng)停止向框架或應(yīng)用通知GUI事件。10框架層10.1IComponentRegistry接口10.1.1說明表示組件注冊表的接口。安裝程序在框架管理的組件注冊表中添加、刪除和修改BSP及BFP的記錄。由于組件是由所提供的方法管理的,因此組件注冊表的實現(xiàn)方式取決于開發(fā)人員。有關(guān)組件注冊表內(nèi)部應(yīng)包含的信息(例如框架、BSP、單元模式)的更多內(nèi)容,見GB/T30267.1的“組件注冊表接口”章節(jié)。10.1.2方法匯總GB/T41903.4—XXXXvoidInstallBFP(BFPSchemabfpSchema,boolupdate)——update:如果為真,則執(zhí)行現(xiàn)有BFP的更新(即,如果尚未安裝此類BFP,則返回ERR_COMPONENT_NOT_REGISTEREDBioAPIException)。如果為假,則安裝一個新BFP。如果已經(jīng)安裝了BFP,則拋出ERR_COMPONENT_ALREADY_REGISTEREDvoidInstallBSP(BSPSchemabspSchema,boolupdate)在組件注冊表中安裝或更新對BSP的引用。該函數(shù)在BioAPI框架內(nèi)部處理,不傳遞給BSP?!猽pdate:如果為真,則執(zhí)行現(xiàn)有BSP的更新(即,如果尚未安裝此類BSP,則返回ERR_COMPONENT_NOT_REGISTEREDBioAPIExcept已經(jīng)安裝了BSP,則拋出ERR_COMPONENT_ALREADY_REGISTEREDBivoidUninstallBFP(UUIDbfpUUID)該函數(shù)在BioAPI框架內(nèi)部處理,不傳遞給BFP。voidUninstallBSP(UUIDbspUUID)該函數(shù)在BioAPI框架內(nèi)部處理,不傳遞給BSP。10.2IFramework接口10.2.1說明表示生物特征識別系統(tǒng)。生物特征識別系統(tǒng)是一個層次結(jié)構(gòu)系統(tǒng),其根節(jié)點是框架組件??蚣芸刂艬SP。BSP使用BFP模塊向框架提供必要的服務(wù),這些BFP模塊是實現(xiàn)生物特征識別算法的庫,以及管理傳感器硬件的代碼。除了BSP,框架的另一部分是組件注冊表,它存儲關(guān)于BSP和BFP的信息。10.2.2繼承接口IFramework繼承了IComponentRegistry,用于維護組件注冊表,并能夠安裝、卸載組件,以及訪問其內(nèi)部信息,以允許方法的執(zhí)行,如enumBFPs、queryUnits等方法。GB/T41903.4—XXXX10.2.3屬性匯總有一個公共只讀屬性用于說明BSP特性:FrameworkSchemaFrameworkSchema。10.2.4方法匯總voidBSPLoad(UUIDbspID,BFPEventCallbacknotifyCallback,BFPEnumerationCallbackbfpEnumeration,stringcontext)初始化BSP。初始化包括激活所有事件,在最近一次調(diào)用Enabl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論