




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
國家市場監(jiān)督管理總局中國國家標準化管理委員會GB/T37982—2019/ISO/IEC11002:2008 I 3術語、定義和縮略語 4文件約定 4 46常量和結構 8實現(xiàn)規(guī)則 附錄A(資料性附錄)設備名稱 附錄B(資料性附錄)合成目標端口組 附錄C(資料性附錄)傳輸層多路徑方法 附錄D(資料性附錄)編碼示例 附錄E(資料性附錄)接口庫/插件API I1ISO/IEC9899:1999程序設計語言C(ISO/IEC14165-133信息技術光纖信道第133部分:光纖信道交換機結構-3(FC-SW-3)[In-formationtechnology—Fibrechannmationtechnology-Fibrechannel—Part251:Framinga[Informationtechnology—SmallcomputerISO/IEC14776-150信息技術小型計算機系統(tǒng)接口(SCSI)第150部分:串行附加SCSIISO/IEC14776-413信息技術小型計算機系統(tǒng)接口(SCSI)第413部分:體系結構模型3(SAM-3)[Informationtechnology—SmallcompISO/IEC14776-453信息技術小型計算機系統(tǒng)接口(SCSI)第453部分:主要指令(SPC-3)[Informationtechnology—SmallRFC3720互聯(lián)網小型計算機系統(tǒng)接口(iSCSI)[InternetSmallComputerSystemsInterface2GB/T37982—2019/ISO/IEC11002:2008某些多路徑驅動程序所具有的重新使用由不可用狀態(tài)恢復為可用狀態(tài)的路徑的能力。自動探測auto-probing某些多路徑驅動程序所具有的查驗當前未使用的工作路徑的能力??捎寐窂絘vailablepaths一個邏輯單元的可用于選做I/O請求路線的路徑集合。設備文件devicefile便于與系統(tǒng)硬件和外圍設備通信的操作系統(tǒng)文件(如UNIX、Linux……等的實例)。設備標識VPD頁deviceidentificationVPDpage提供檢索SCSI設備、邏輯單元和SCSI端口的標識信息的方法的VPD頁。十六進制編碼二進制數據hexadecimal-encodedbinarydata用來表示二進制8位組字串的十六進制編碼的ASCII(對應于GB/T1988—1998)字符串。連接到存儲區(qū)域網(SAN)的計算節(jié)點。發(fā)起請求的SCSI設備,也稱為客戶端。邏輯單元logicalunitSCSI目標設備中的可尋址實體。多路徑邏輯單元multipathlogicalunit本標準中代表“虛擬的”邏輯單元的對象類型,它針對作為基礎的同一個設備邏輯單元將多個路徑邏輯單元合并在一起。在多路徑API中分配給任何對象的唯一標識符。發(fā)起者端口、目標端口和邏輯單元之間的關聯(lián)。見3.1.13。3GB/T37982—2019/ISO/路徑邏輯單元pathlogicalunit本標準中的通過一個發(fā)起者端口和一個設備端口提供對一個邏輯單元進行訪問的對象類型。持久性persistent數據的非易失特性。插件plugin為操作系統(tǒng)、HBA或者設備提供商開發(fā)的支持一個或多個多路徑驅動程序的軟件。特定型號的目標設備,該型號由標準SCSIINQUIRY命令的響應返回的供應商ID、產品ID和修訂版本ID標識。包含邏輯單元和接收SCSI發(fā)起者命令的SCSI目標端口的SCSI設備。任何時候都處于同一目標端口訪問狀態(tài)的目標端口的集合。唯一地標識(編號)字符的系統(tǒng),幾乎標識了任何語言中的任何字符。重要產品數據vitalproductdata;VPD為響應SCSIINQUIRY命令而使用EVPD位組[見ISO/IEC14776-453(SPC-3)]返回的供應商關于某設備的具體信息。3.2縮略語下列縮略語適用于本文件。API應用編程接口(ApplicationProgrammingInterface)DLL動態(tài)鏈接庫(DynamicLinkLibrary)HBA主機總線適配器(HostBusAdapter)LUN邏輯單元號(LogicalUnitNumber)OID對象標識符(ObjectIdentifier)4用一組類型和結構(見第6章)及后隨的一組功能定義(見第7章)來詳細說明API。本章討論在第6章和第7章中使用的格式及定義API時使用的約定。5存儲產品(特別是磁盤陣列)為了提供更好的可靠性和性能,添加了多路徑的這些驅動程序創(chuàng)建代表多路徑設備的特殊設備文件。諸如文件系統(tǒng)之類本標準著重于通過SCSI命令訪問的設備。SCSI命令由發(fā)起者發(fā)送給目標設備。目標設備可能由多個邏輯單元組成。例如,RAID陣列對外表示虛擬磁盤為若干單獨的邏輯單元。支持多個路徑和多能是訪問的首選端口(有時稱為緊密組)。ISO/IEC14776-453(SPC-3)引入目標端口組的概念可以應用到所有的設備,即使它們并未實際實現(xiàn)SCSI標準接口。本標準不要SCSI的設備標識VPD頁(即,page83h)和REPOR6——設備標識VPD頁返回一個標識符列表。識符是MP_TARGET_PORT_GROUP_PROPERTIES的tpgID屬性。——SCSI命令REPORTTARGETPORTGROUPS返回一個帶有目標端口組訪問狀態(tài)的目標SCSI命令SETTARGETPORTGROUP允許發(fā)起者設置目標端口訪問狀態(tài)——這將導致故障接管或故障恢復。本API提供MP_SetTPGAccess作為與SETTARGETPORTGROUP的接口。圖1是一個具體示例。圖1中描述了一個采用非對稱訪問且包含兩個控制器的一個RAID陣列。每個控制器包含始終具有相同訪問狀態(tài)的兩個端口。為該RAID陣列配置了四個邏輯單元。通過不同控制器上的端口以最佳狀態(tài)訪問每對邏輯單元。當其中的任何一個控制器失效的端口3端口4端口1端口2端口3端口4控制器B控制器控制器BBBCD表1總結了SCSIINQUIRY標識符和REPORTTARGETPORTGROUPS命令響應中針對此通過端口1或者端口2訪問通過端口3或者端口4訪問目標端口組ID/狀態(tài)目標端口組ID/狀態(tài)A1/活躍最佳2/備用B1/活躍最佳2/備用C1/備用D1/備用7在控制器A出現(xiàn)故障的情況下,從端口1或者端口2訪問所有邏輯單元將發(fā)現(xiàn)沒有響應或目標端口組狀態(tài)是不可用。通過端口3或者端口4,邏輯單元A和邏輯單元B將發(fā)現(xiàn)非最佳活躍訪問狀態(tài)。REPORTTARGETPORTGROUP命令的端口。此API中,將每個目標端口組ID和訪問狀態(tài)的組圖2是一個實例簡圖,它表現(xiàn)與上述非對稱陣列對應的此API實例。其中還包含相關的APIrelativePortID:1relativePorAccessState:最優(yōu)的切換的時候可能會有性能損失。對稱多路徑訪問設備不存在路徑切換的性能損失問此邏輯單元則不是最佳的。ISO/IEC14776-453(SPC-3)定義了發(fā)現(xiàn)和管理多路徑設備的標準接了允許目標設備描述若干目標端口組的接口。一個目標端口組中的所有端口同時處于同一個訪問狀8GB/T37982—2019/ISO/I一個邏輯單元可能經由部分而非全部目標端口執(zhí)行對稱多路徑訪問一個邏輯單元的目標端口組訪問狀態(tài)改變的時候,在這個邏輯單元組里響應可能包含一個邏輯單元組標識符(標識符類型為6h)。具有相同的邏輯單元組標識符的所有邏輯此API遵循同樣的方式,MP_MULTIPATH_LOGICAL_UNIT_PROPERTIES包含屬性logical-UnitGroupID。這個屬性的詳細信息(見6.26)明確指出了一個插件/驅動程序在目標設備不支持該此API沒有提供一種機制來創(chuàng)建一個邏輯單元組或者增加邏輯單元組成員。ISO/IEC中邏輯單元組遵循快照配置的RAID拓撲。由于和目標設備的其他能力重疊,此API中不對這些接口·當多條可用的路徑具有相同的訪問狀態(tài)時,每一個I/O請求只能向一條特定路徑發(fā)出。多路此API允許插件/驅動程序提供多個負載均衡算法,API客戶端可以把這些算法提供給管理員。幾種常見算法在MP_LOAD_BALANCE_TYPE中定義。插件/驅動程序可以用驅動程序特定算法擴戶端應用程序呈現(xiàn)供應商名稱和算法名稱的機制??蛻舳丝梢允褂眠@些名稱來填充負載均衡算法(包一些多路徑驅動程序具有針對某些設備類型的優(yōu)化的負載均衡算法。設備類型由SCSIInquiry數9據中返回的供應商ID和產品ID確定。插件/驅動程序可以使用MP_DEVICE_PRODUCT_PROPER-路徑權重是由指定優(yōu)先級的管理員分配給某路徑(或路徑邏輯單元)的一用具有最高權重的可用路徑(可用路徑的說明見下文)。這種方式允許管理員驅動程序支持的權重范圍(maximumWeight)作為插件/驅動程序屬性呈現(xiàn)給客重設置功能的驅動程序宜把這個屬性值設置為0。具有啟用/禁用路徑功能的驅動程序宜把這個屬性值設置為1。具有的權重不止0和1的插件/驅動程序可以把這個屬性值設置為適當的值。路徑權重其他API(MP_DisablePath,MP_EnablePath,MP_SetOverridePath,MP_SetTPGAccess)可能會影響I/O路由,但是都不改變路徑的實際權重值。這種方式允許管理員把使用路徑權插件/驅動程序可以為重載路徑提供一個接口(MP_SetOverridePath)。一個重載路徑是一個單一的路徑,管理員能夠指定所有的I/O都經由此路徑到某個邏輯單元。設置首選路徑將禁用負載平衡。為禁用某路徑,插件/驅動程序可以為禁用的路徑提供一個接口(MP_DisablePath)。此API的模型包含以下各類對象:GB/T37982—2019/ISO/IEC11002:2008●發(fā)起者端口——插件所在系統(tǒng)上的端口;·路徑邏輯單元—代表訪問某邏輯單元的一個發(fā)起者/目標端口的組合??梢詻]有相應的操作系統(tǒng)設備文件名;·多路徑邏輯單元——虛擬設備,它聚合代表相同邏輯單元的所有路徑(路徑邏輯單元);·目標端口組——具有共同訪問狀態(tài)的各目標端口的集合。圖3是一個顯示不同種類對象在多路徑模型中關系的UML略圖。發(fā)起端口圖3多路徑模型中各種對象之間的關系后續(xù)章條定義的結構和API允許客戶端通過這個模型發(fā)現(xiàn)和操作多路徑驅動程序和硬件。圖3中的每類對象都有一個包含屬性的結構(例如,MP_INITIATOR_PORT_PROPERTIES具有發(fā)起者端口的屬性)和獲取屬性的API(MP_GetInitiatorPortProperties)。其他API允許客戶端遵循圖3所示的各對象之間的關系。例如,最右邊的垂直線+菱形箭頭代表目標端口聚合到目標端口組;MP_Get-TargetPortOidList返回一個目標端口OID(有時OID和指針相似,見5.6.3)列表。其他的API通過設定特定屬性或者操作對象組來改變行為。圖4是一個UML實例略圖,圖中描述了OS/驅動程序視角下的配置,即,有四條路徑與同一個邏輯單元(比如一個RAID卷)連接。針對特定的邏輯單元,每個發(fā)起端口連接到分開的兩對目標端口,一對目標端口最佳,另一對非最佳。這個模型描述了典型的多路徑驅動程序行為,即,把多路徑邏輯單元看作非多路徑設備文件的聚合,而不是路徑的聚合。注意,這些對象類/結構實例不能在不同的插件/驅動程序間共享。但每個單獨的插件/驅動程序中的實例可能映射同一個實際對象。例如,多個插件/驅動程序可能表現(xiàn)同一個發(fā)起者(HBA)端口。客戶端可以通過比較不同的插件/驅動程序的端口實例的端口名(例如光纖端口的WWN)屬性來確定這些端口是否相同。多路徑驅動程序的安裝和配置是復雜和具有風險性的。在某些情況下,不同插件/驅動程序的配置重疊可能對客戶造成災難性的后果。此API不執(zhí)行“最佳實踐”。它假定客戶是以安全的方法安裝的多路徑驅動程序。此API僅報告和操作配置。GB/T37982—2019/ISO多路徑邏輯單元多路徑邏輯單元發(fā)起者端口路徑邏輯單元邏輯單元是多路徑驅動程序之下的四倍目標端口目標端口目標端口目標端口目標端口組目標端口組訪問狀態(tài):活躍最佳訪問狀態(tài):備用操作系統(tǒng)看到的每個路徑邏輯單元路徑邏輯單元路徑邏輯單元發(fā)起者端口圖4多路徑邏輯單元的驅動程序表示5.4可選行為的客戶端發(fā)現(xiàn)沒有多路徑驅動程序,通常是簡單的得到一個所有連接到系統(tǒng)的磁盤設備的列表;通常情況下,這僅僅是一個包含所有磁盤設備名稱的設備文件列表。但安裝多路徑驅動程序后,可能難以確定一個虛擬多路徑設備歸納了哪些設備文件。并且,多路徑驅動程序可能會增加額外的特殊的設備文件名到磁盤設備文件列表。本標準的主要目的是創(chuàng)建一個確定的方式,使管理軟件去發(fā)現(xiàn)連接到服務器的存儲資源。除了上述發(fā)現(xiàn)功能,本標準還提供了多路徑驅動程序的主動式管理功能,控制故障接管/故障恢復和負載平衡的功能。這些主動管理API是可選的。在一般情況下,支持可選的功能是通過插件/驅動程序(和其他對象)的屬性來顯示的。例如,MP_PLUGIN_PROPERTIES有一個canActivateTPG屬性,用來通知客戶端這個插件是否支持故障接管/故障恢復命令。5.4.2發(fā)現(xiàn)負載均衡行為此API內置了常見的負載均衡算法,也可以讓插件來描述專有算法。只是以不透明信息的方式簡單呈現(xiàn),客戶端可以顯示或者修改這些信息,此API不具體解釋這些信息??蛻舳丝梢酝ㄟ^查看MP_GetPluginPropertiesr返回的MP_PLUGIN_PROPERTIES的support-edLoadBanlanceTypes屬性來確定可用的負載均衡算法。如果supportLoadBalanceTypes中設置了MP_LOAD_BALANCE_TYPE_PRODUCT,那么客戶端宜使用MP_GetDeviceProduct_GetDeviceProductProperties去獲取該插件支持的目標產品類型列表。如果有一個MP_DEVICE_●輪轉調度算法(默認);●不支持算法AL1用于DEVXXX邏輯單元。2MP_LOAD_BALANCE_TYPE8MP_LOAD_BALANCE_TYPE_MP_LOAD_BALANCE_TYPE_PROPRhMP_LOAD_BALANCE_TYPE_PROPR該MP_PLUGIN_PROPERTIES實例的supportedLoadBalanceTypes的十六進制值為3001ah(這該MP_PLUGIN_PROPERTIES實例的defaultLoadBalanceType的值為MP_LOAD_BALANCE_對于65536和更高值標志的負載均衡算法類型,各有一個MP_PROPRIETARY_LOAD_131072,“YY2”,“YoyodyneCorp.”LOGICAL_UNIT的canActivateTPGs表示支持MP_ActivateTPGsAPI-此API提供手動故障接管用MP_PLUGIN_PROPERTIES的exposesPathDeviceFiles來檢測。如果exposesPathDevice置為非真,那么插件只對一個多路徑邏輯單元呈現(xiàn)一個設備文件名。如果MP_PLUGIN復。MP_AUTOFAILBACK_SUPPORT_PLUGIN表示所有設備都同樣執(zhí)行自動故障恢AUTOFAILBACK_SUPPORT_MPLU表示分別對每個多路徑邏輯單元設置自動故障恢復。M如果autoFailbackSupport是MP_AUTOFAILBACK_SUPPORT_PLUGIN或者MP_AUTO-pluginAutofailbackEnab如果autoFailbackSupport是MP_AUTOFAILBACK_SUPP為MP_TURE時表示管理員請求啟用此多路徑邏輯單元自動故障恢復。如果插件的autoFail-MP_PLUGIN_PROPERTIES.autoProbingSupport描述多路徑驅動程序是否支持自動探測。MP_AUTOPROBING_SUPPORT_PLUGIN表示所有設備都執(zhí)行同樣的自動探測。pluginAutoProbingEnabl_如果autoProbingSupport是MP_AUTOPROBING_探測功能,或未提供設置多路徑邏輯單元輪詢間隔的接口。如果該屬性值和插件的probingPoll-GROUP.supportsLuAssignment為真。表示MP_AssignLogicalUnitToTPGAPIGB/T37982—2019/ISO/此API支持兩類事件:●可見性變化-對象出現(xiàn)或消失;●屬性變化-對象的屬性變化。API允許客戶端注冊或注銷每一類事件。注冊表提供客戶端的回調功能的地址,以備事件發(fā)生時調用??蛻舳丝梢詾槭录付ㄒ粋€特定的對象類別(默認為所有對象類別)??蛻舳丝梢詾槭录付ㄒ粋€特定的插件(默認為所有插件)。多個調用支持注冊對象類型子集和插件子集??蛻舳诉€可以指定“調用者數據”,調用者可以此將其用于糾正源于注冊表的事件。插件保存調用者數據,并在返回事件時附加此數據。5.6API概念符合本標準的多路徑管理API實現(xiàn)應便于在配置由多家供應商提供和不同時間裝、卸的多路徑實現(xiàn)時采用通用管理方法。這種動態(tài)安裝和拆卸應按某種軟件結構來執(zhí)行;這種軟件結構可以是OS(操作系統(tǒng))特定的并且由OS供應商充分文件化的,也可以是按本標準中定義的與O顯示為強制性的、但與操作系統(tǒng)特定實現(xiàn)無關的功能,應返回MP_STATUS_SUCCESSDeregristerPlugin),應用程序不必編碼特定的基礎實現(xiàn)。多路徑管理API可以使用庫與插件的組合來實現(xiàn)。庫的一個功能是加載插件,并分發(fā)管理應用程序的請求到相應的插件。在操作系統(tǒng)無關的實現(xiàn)中,操作系統(tǒng)供應商,HBA卡供應商,或目標設備供應商提供插件管理一組目標設備。典型的情況是,插件得到庫提供的通用格式的請求,然后將該請求轉換成供應商特定格式,轉發(fā)給供應商的設備驅動程序。實際情況下插件可能使用DLL或共享庫與設備驅動程序交互。也可能同多個設備驅動程序交互。插件用于執(zhí)行其工作的方式完全取決于特定的供應商。盡管很少見,但兩個插件可能對同一個物理設備都有一個實例。這種情況可能發(fā)生在發(fā)起者端口,目標端口甚至邏輯單元上??蛻舳送ㄟ^檢測某些屬性來確定這種等價情況,這些屬性包含由硬件本身報告的名稱/ID(例如,用于FC端口的幾個端口WWN)。如果客戶端應用程序運行在多個主機上,此方法同樣適用于發(fā)現(xiàn)是否同一個邏輯單元目標端口連接在多個主機上。這樣做,有助于客戶端保留一個匯集了幾個插件的信息的實例。如果實例重疊,其結果之一是,幾個插件可能向客戶端報告同一個本架構對系統(tǒng)引導時間沒有要求。插件在安裝時注冊到通用庫。通常是在MP驅動程序(和/或客戶端管理軟件)安裝時完成。注冊信息長久保存在注冊表或配置文件中(見7.37)。多路徑管理API的一個核心元素是對象標識符(OID)。OID是一種“唯一地”標識對象的結構。唯一地這個詞加引號的原因是,同一個OID有可能被重復用于代表不同的對象,盡管很少見。OID包含3個字段:a)對象類型。標識該OID代表的對象的類型,例如,端口,邏輯單元等。b)對象所有者標識符。這是一個編號,用于唯一地標識對象的所有者。所有者可能是庫,或者是擁有對象的某個插件。c)對象序號。這是一個編號,對象所有者將它或可能是它與對象類型的組合用于標識某對象。使用庫的客戶端應將OID看做不透明的。客戶端只應使用文件化的API訪問該OID中的信息。任何時候只能有一個OID來代表它。不允許同時有多個OID代表同一個對象。遵循這個規(guī)則有時比例如,假設某HBA端口處于某系統(tǒng)中。該端口會有一個OID。如果該HBA卡在與之關聯(lián)的插件a)該HBA端口能保留原來的OID;b)該HBA端口對象得到新的OID,原來的OID不再使用。上例僅是同一個HBA的插拔。如果是在運行特定插件或庫實例時拔下某個HBA后安裝另外一個系統(tǒng)中以前沒有的HBA,那么,應給這個新安裝的HBA分配一個新的OID。插件和庫可以通過對象序號或對象類型與對象序號的組合,在自己的對象域對象序號的重用應謹慎,盡可能防止由于打因為不要求插件或庫保留對象序號,所以使用該庫的客戶端不應使用保留的自己的各個實例OID列表包含0個或多個OID。有一些API,例如MP_GetTargetPortOidList,它們返回OID列表。如果客戶端不再使用某OID列表,該類型定義為wchar_t(wchar_t是ISO/IEC9899:1999定義的C語言標準中的一部分),近期的C類型定義為字符,僅用于不支持寬字節(jié)字符的上下文中,如SCSI命令返回的文件名和ASCII值為1。值為FFFFFFFFh。MP_STATUS_INVALID_PARAMP_STATUS_INSUFFICIENTMP_STATUS_INVALID_OBJEMP_STATUS_OBJECT_NOMP_STATUS_ACCESS_STATE_MP_STATUS_PATH_NONOPER是11。014MP_PATH_STATE_TRANSIMP_PATH_STATE_OPERATIONAL6MP_PATH_STATE_INVALID7MP_PATH_STATE_OFFLINE89typedefMP_UINT32MP_PATH_STATE;MP_PATH_STATE_OPERATIONALMP_PATH_STATE_INVALIDMP_PATH_STATE_OFFLINE錯誤通常在I/O請求沒有正常完成時被檢測到。此狀態(tài)變化中涉及的I/O請求可能已經由多路徑插件/驅動程序或用戶程序發(fā)布了。本標準不要求插件/驅動程序輪詢錯誤狀typedefvoid(*MP_OBJECT_VISIBILITY_FN)(/*in*/MP_BOOLbecomingVisible,/*in*/MP_OID_MP_BO0L值,表示由pOidList規(guī)定的對象列表已經可見或者消失。MP_TRUE值表示這pOidList對象ID列表,其可見性處于變化中。引用的所有對象應是同一類型(不同類型可能有不同的pCallerData值)。引用的所有的對pCallerData傳遞給MP_RegisterForObjectVisibilityChange的pCallerData??捎烧{用者用來糾正源于注該類型用于聲明可以結合APIMP_RegisterForObjectVisibilityChanges和MP_DeregisterForOb-jectVisibilityChanges當客戶端功能結束功能使用pOidList引用的列表時,應通過調用MP_FreeOidList列表釋放typedefvoid(*MP_OBJECT_PROPERTY_FN)(/*in*/MP_OID_LIST*pOidList,pOidList同的pCallerData值)。pCallerData傳遞給MP_RegisterForObjectPropertyChanges的pCallerData??捎烧{用者用來糾正源于注冊表的事件。該類型通常用來聲明可以結合MP_RegisterForObjectPropertyChanges和MP_DeregisterForOb-功能當客戶端功能結束使用pOidList引用的列表時,應通過調用MP_FreeOidList列表釋放pOidList使用的內存。常量#defineMP_OBJECT_TYPE_UNKNOWN#defineMP_OBJECT_TYPE_PLUGIN#defineMP_OBJECT_TYPE_INITIATOR_PORT#defineMP_OBJECT_TYPE_TARGET_PORT#defineMP_OBJECT_TYPE_MULTIPATH_LU4#defineMP_OBJECT_TYPE_PATH_LU5#defineMP_OBJECT_TYPE_DEVICE_PRODUCT6#defineMP_OBJECT_TYPE_TARGET_PORT_GROUP7#defineMP_OBJECT_TYPE_PROPRIETARY_LOAD_BALANCE8typedefMP_UINT32MP_OBJECT_TYPE;MP_OBJECT_TYPE_INITIATMP_OBJECT_TYPE_TARGMP_OBJECT_TYPE_MULTIPMP_OBJECT_TYPE_DEVICE_MP_OBJECT_TYPE_TARGET_POMP_OBJECT_TYPE_PROPRIETARY_LOAtypedefstruct_MP_OID{指定對象類型。當對象ID作為參數提供給API時,庫使用此值來確保提供的對象類型適合于所調用的API。庫確定的編號,它用于唯一地標識一個對象的所有者。對象的所有象ID作為參數提供給API時,庫使用此值來確定它是否應處理調用本身或將調用指向一個API的客戶端應將此結構視為不透明的。應使用適當的API(例如MP_GetObjectType和MP_格式typedefstruct_MP_OID_LIST{oids陣列中OID的數量。OID的變長陣列。在此陣列中有oidCount個OID。此結構由多個API用于返回對象列表。由API返回的此結構的任何實例都應由客戶端使用MP_雖然oids被聲明為1個MP_OID結構的陣列,但它實際上可以包含#defineMP_PORT_TRANSPORT_TYPE_UNKNOWN#defineMP_PORT_TRANSPORT_TYPE_MPNODE1#defineMP_PORT_TRANSPORT_TYPE_FC2#defineMP_PORT_TRANSPORT_TYPE_SPI3#defineMP_PORT_TRANSPORT_TYPE_ISCSI45#defineMP_PORT_TRANSP5typedefMP_UINT32MP_PORT_TRANSPORT_TYPE;MP_PORT_TRANSPORT_TYPEMP_PORT_TRANSPORT_TYPMP_PORT_TRANSPORT_TMP_PORT_TRANSPORT_TMP_PORT_TRANSPORT_TYPMP_PORT_TRANSPORT_T#defineMP_ACCESS_STATE_A#defineMP_ACCESS_STATE_AC#defineMP_ACCESS_STATE_STANDBY#defineMP_ACCESS_STATE_UNAVAILABLE3h#defineMP_ACCESS_STATE_TRANSITIONINGFh#defineMP_ACCESS_STATE_ACTIVEtypedefMP_UINT32MP_ACCESS_STATE_TYPE;MP_ACCESS_STATE_ACTIVE_OMP_ACCESS_STATE_ACTIVE_NONOMP_ACCESS_STATE_UNAVMP_ACCESS_STATE_TRANSI當客戶端請求激活目標端口組(使用APIMP_SetTPGAccess)時,使用該狀態(tài)。但是并不關注這些端口組是否處在活躍且最佳化/活躍但非最佳化狀態(tài)。該值不在屬性中返回。該值未該枚舉類型提供了ISO/IEC14776-453(SPC-3)里面描述的目標端口(組#defineMP_LOAD_BALANCE_TYPE_UNKNOWN#defineMP_LOAD_BALANCE_TYPE_ROUNDROBIN1<<1,#defineMP_LOAD_BALANCE_TYPE_LEAS#defineMP_LOAD_BALANCE_TYPE_LEASTIO1<<3,#defineMP_LOAD_BA#defineMP_LOAD_BALANCE_TYPE_LBA_REGION#defineMP_LOAD_BALANCE_TYPE_FAILOVER_ONLY#defineMP_LOAD_BALANCE_#defineMP_LOAD_BALANCE_T//附加自有屬性類型typedefMP_UINT32MP_LOAD_BALANCE_TYPE;MP_LOAD_BALANCE_TYPE_MP_LOAD_BALANCE_TYPE_ROUMP_LOAD_BALANCE_TYPE_LEAMP_LOAD_BALANCE_TYPE_表示負載均衡對象類型以最少IO為準則選擇轉發(fā)請求的路徑的負載均衡算法。MP_LOAD_BALANCE_TYPE_DEVICE表示負載均衡算法對于該邏輯單元相關的MP_DEVICE_PRODUCT_PROPERTIES中指定MP_LOAD_BALANCE_TYPE_LBAMP_LOAD_BALANCE_TYPE_FAILO當插件/驅動程序確認設備支持SCSI2RESERVE/RELEASE時,在MP_DEVICE_PROD-UCT_PROPERTIES中設置該常量。由API客戶端用來表明SCSI2保留策略正在被使用,MP_LOAD_BALANCE_TYPE_PROP表示負載均衡算法是專有的。其中的位掩碼支持多達16種專有類型。插件對于設備類型的特定負載均衡類型的支持,通過MP_DEVICE_PRODUCT_PROPERTIES的實例表示。如果該屬性是MP_LOAD_BALANCE_TYPE_DEVICE_PRODUCT,那么邏輯單元的供該值設置為0。見MP_PROPRIETARY_LOAD_BALANCE_PROPERTIES。typedefstruct_MP_PROPRIETARY_PROPERTY{Name一個包含專有屬性的名字的空字符結尾的UCS字符串。一個包含關聯(lián)專有屬性的值的空字符結尾的UCS字符串。typedefstruct_MP_PROPRIETARY_LOAD_BALANCE_PROPERTIESMP_LOAD_BALANCE_TYPEtypeIndex;MP_UINT32proprietaryPropertyCount;MP_PROPRIETARY_PROPERTYproprietaryProperties[8];表示供應商特定的負載均衡算法的數值(大于或等于65536)。NameproprietaryPropertyCou所支持的專有屬性的數量(小于或等于8)。proprietaryProperti這個結構是可選的,并允許供應商在邏輯單元和插件屬性上使用的負載平見MP_LOAD_BALANCE_TYPE。#defineMP_LU_NAME_TYPE_UNKNOWN#defineMP_LU_NAME_TYPE_VPD83_TYPE1#defineMP_LU_NAME_TYPE_VPD83_TYPE22#defineMP_LU_NAME_TYPE_VPD83_TYPE3#defineMP_LU_NAME_TYPE_DEVICE_SPECIFICtypedefMP_UINT32MP_LOGICAL_UNIT_NAME_TYPE;MP_LOGICAL_UNIT_NAME_TYPE沒有邏輯單元名稱的解釋。不鼓勵使用此值,這樣的用法僅適用于名字不是來自SCSIMP_LU_NAME_TYPE_VPD83MP_LU_NAME_TYPE_VPD83MP_LU_NAME_TYPE_VPD83MP_LU_NAME_TYPE_DEVICE_Stypedefstruct_MP_LIBRARY_PROPERTIESMP_WCHARimplementationVersion[256];MP_WCHARbuildTime[2typedef0123MP_AUTOFAILBACK_SUPPORTMP_AUTOFAILBACK_SUPPOMP_AUTOFAILBACK_SUPPORT_PLUGINMP_UINT32MP_AUTOFAILBACK_SUPPORT;MP_AUTOFAILBACK_SUPPOMP_AUTOFAILBACK_SUPPORTMP_AUTOFAILBACK_SUPPOMP_AUTOFAILBACK_SUPPORT_PLUGIN該實現(xiàn)支持各個插件和多路徑邏輯單元級的自動故障恢復和API。動故障恢復,則它支持MP_SetFailbackPollingRateAPI,或者應將MP_PLUGIN_PROPERTIESbackPollingRateMax設置為0(表示不執(zhí)行輪詢或者輪詢速率不可調)。typedefMP_AUTOPROBING_SUPPORMP_AUTOPROBING_SUPPORTMP_AUTOPROBING_SUPPOMP_AUTOPROBING_SUPPORT_PLUGINMP_UINT32MP_AUTOPROBING_SUPPORT;0123MP_AUTOPROBING_SUPPORMP_AUTOPROBING_SUPPORT_MP_AUTOPROBING_SUPPOMP_AUTOPROBING_SUPPORT_PLUGINtypedefstruct_MP_PLUGIN_PROPERTIES{MP_WCHARimplementationVersion[256];MP_UINT32supportedLoadBalanceTypes;MP_BO0LcanOverrideMP_BOOLexposesPathDeviMP_CHARdeviceFileNamespace[256];MP_BO0LonlySupportsSpeMP_AUTOFAILBACK_SUPPORTautoFailbackSupport;MP_BO0LpluginAutoFailbackMP_UINT32currentFailMP_AUTOPROBING_SUPPORTautoProbingSupport;MP_BO0LpluginAutoProbingEnableMP_UINT32probingPollingRateMax;MP_UINT32currentProbingPollingRate;MP_LOAD_BALANCE_TYPEdefaultloadBMP_UINT32proprietaryPropertyCount;MP_PROPRIETARY_PROPERTYproprietaryProperties[8];GB/T37982—2019/ISO/IEC11002:2008驅動程序有更多的路徑權值設定能力,可以適當設置此屬性。一個枚舉類型,指出此實現(xiàn)是支持插件級的或多路徑邏輯單元級的自動故障恢復、或兩者皆支持或者均不支持。pluginAutoFailbackEnab一個布爾型的值,表示支持插件級的自動故障恢復。如果autoFailbackSupport為MP_AU-TOFAILBACK_SUPPORT_NONE或者MP_AUTOFAILB這個屬性是未定義的。_驅動程序支持的自動故障恢復的最大輪詢間率(單位為秒)。如果autofailbackSupport為MPAUTOFAILBACK_SUPPORT_NONE或者MP_AUTOFAILBACK_SUPPORT_MPLU,_那么這個屬性是未定義的。如果插件/驅動程序支持自動故障恢復但非通過輪詢也沒提供設置輪詢率,那么這個屬性設置為0。這個屬性值是插件設置的,用戶不能設置。當前的插件相關自動故障恢復輪詢率(單位為秒)。如果autofailbackSupport為MP_AUTO-FAILBACK_SUPPORT_NONE或者MP_AUTOFAILBACK_SUPPORT_MPLU,那么此屬性是未定義的。一個枚舉類型,表示此實現(xiàn)是支持插件級的或多路徑邏輯單元級的自動探測,或者兩者都支pluginAutoProbingEnabl一個布爾型的值,表示支持插件級的自動探測。如果autoProbingSupport為MP_AUTO-PROBING_SUPPORT_NONE或者MP_AUTOPROBING_SUPPORT_MPLU,那么這個屬性是未定義的。驅動程序支持的插件級探測最大輪詢率(單位為秒)。如果autoProbingSupport為MP_AU-TOPROBING_SUPPORT_NONE或者MP_AUTOPROBING_SUPPORT_MPLU,那么這個屬性為未定義的。如果插件/驅動程序支持非輪詢的探測或沒有提供設置探測輪詢率的方式,那么此屬性的值設置為0。這個值是插件設置的,用戶不能設置。當前插件自動探測率(單位為秒)。如果autoProbingSupport為MP_AUTOPROBING_SUP-PORT_NONE或者MP_AUTOPROBING_SUPPORT_MPLU,那么這個屬性為未定義。負載均衡類型,若非管理員強行指定則由設備驅動程序使用(沒有對應的MP_DEVICE_PRODUCT_PROPERITIES實例)。具有與MP_DEVICE_PRODUCT_PROPERTIES實例匹配的供應商、產品及修訂版本屬性的任何邏輯單元將默認一個設備特定的負載均衡類型。proprietaryPropertyCoun所支持的專有屬性的數量(小于或等于8)。proprietaryProperti專有屬性名稱/值對列表。typedefstruct_MP_DEVICE_PRODUCT_PROPE標識設備產品供應商的8字節(jié)ASCII數據。對應于SCSIINQUIRY響應中的VENDORI-product16字節(jié)ASCII數據。對應于SCSIINQUIRY響應中的PRODUCTIDENTIFICATION字4字節(jié)ASCII數據。對應于SCSIINQUIRY響應中的PRODUCTREVISIONLEVEL字見MP_LOAD_BALANCE_TYPE的備注(見6.17)。typedefstruct_MP_MULTIPATH_LOGICAL_UNIT_PROPERTIES{MP_CHARvendor[8];MP_CHARproduct[16];MP_CHARrevision[4];MP_LOGICAL_UNIT_NAME_TYPEMP_OIDoverridePatMP_LOAD_BALANCE_TYPEcurrenMP_UINT32currentFailMP_UINT32probingPollingRateMax;MP_UINT32currentProbingPollingRateMP_UINT32proprietaryPropertMP_PROPRIETARY_PROPERTYproprietaryProperti標識設備產品供應商的8字節(jié)ASCII數據,對應于SCSIINQUIRY響應中的VENDORI-product16字節(jié)ASCII數據。對應于SCSIINQUIRY響應中的PRODUCTIDENTIFICATION字4字節(jié)ASCII數據。對應于來自SCSIINQUIRY響應的PRODUCTREVISIONLEVEL字用字節(jié)0設置為空。邏輯單元組標識符,并且插件不具備該邏輯單元組的專有技術,那么此字段應設置為的autoFailbackSupport值為MP_AUTOFAILBAC性為MP_AUTOFAILBACK_SUPPORT_NONE或者MP_AUTOFAILBACK_SUPPORT_ProbingSupport值為MP_AUTOPROBING_SUPPORT_PLUGINANDMPLU,且MP_UN-沒有提供一個接口為多路徑邏輯單元設置輪詢率。如果這個屬性和插件的probingPoll-為MP_AUTOPROBING_SUPPORT_NONE或者MP_AUTOPROBING_SUPPORT_PLU-toProbingSupport屬性為MP_AUTOPROBING_SUPPORT_NONE或者MP_AUTO-proprietaryPropertyCoutypedefstruct_MP_PATH_LOGICAL_UNIT_PROPERTIESMP_CHARdeviceFileNameSCSI架構模型(SAM)定義的8字節(jié)SCSI邏輯busNumberportNumbertypedefstruct_MP_INITIATOR_PORT_PROPERTIES{MP_PORT_TRANSPORT_TYPEportType;MP_CHARosDeviceFile[256];portID端口名稱。此名稱宜為遵循傳輸層特定標準定義的全球唯一的名字;例如FC端口的WW-portType代表系統(tǒng)上的端口的OS中的設備文件名。見A.2。表2不同端口類型對PortID的實現(xiàn)要求端口類型MP_PORT_TRANSPORT_TYPE_MPNMP_PORT_TRANSPORT_TYPE和十六進制數字(例如*21000020372D3C73')MP_PORT_TRANSPORT_TYPE_決方案MP_PORT_TRANSPORT_TYPE_IS式按iSCSIRFC中描述的“iqn”,“eui”或“naa”MP_PORT_TRANSPORT_TYPE_typedefstruct_MP_TARGET_PORT_PROPERTIES{MP_CHARportID[256];MP_UINT32relativePortIDportID在ISO/IEC14776-453(SPC-3)被限制為16位并且0為保留值。如果目標設備不支持此接typedefstruct_MP_TARGET_PORT_GROUP_PROPERTIES{MP_ACCESS_STATE_TYPEaccessState;如果目標設備支持顯式命令設置目標端口組的訪問狀態(tài),則設為真(例如SCSISETtypedefstruct_MP_TPG_STATE_PAIR有很多API返回對象的屬性。這些API命名格式一般為Puget<object-type>Properties,MP_GetTargetPortProp一些API返回的是和其他對象相關的一些對象的ID。例如,MP_GetTargetPortOIDList含目標端口組的目標端口對象的ID列表。例如,返回包執(zhí)行多路徑任務的API包括MP_AssignLogicalUnitToTPG,MP_CancelOverridePath,MP_DisablDisableAutoProbing,MP_DisablePath,MP_EnableAutoFailback,MP_EnableAutoProablePath,MP_SetLogicalUnitLoadBalanceType,MP_SetOverridePath,MP_SetPPluginLoadBalanceType,MP_SetPollingRate和MP_SetTPGAccess。MP_CompareOids,MP_FreeOidList,MP_GetAssociatedPluginOid,MP_GetMP_DeregisterForObjectPropertyChanges,MP_DeregisterForVisibilityChanges,MPrObjectPropertyChanges,MP_RegisterForVisibilityC典型的客戶端任務首先是通過調用一系列API發(fā)現(xiàn)一個子集API。一旦這個子集被發(fā)現(xiàn),客戶端圖5幫助開發(fā)者理解在發(fā)現(xiàn)過程中會使用到哪些API。虛線旁包括功能名稱,客戶端將功能用以tOIDListtOIDList路徑邏輯單元多路徑邏輯單元多路徑插件目標端口組發(fā)起端口目標端口圖5與圖1中對象相關的API一個模型子集的發(fā)現(xiàn)過程通常開始于多路徑庫(左上),通過調用GetPluginOidList找到關聯(lián)的插件(沿著虛線),然后使用GetPluginProperties獲取插件的詳細信息。之后,客戶端根據具體的任務選擇通過哪類API來導航。如果任務需要發(fā)起者端口列表,沿著虛線到發(fā)起者端口(調用GetInitiator-PathOidList返回路徑列表??梢允褂猛瑯拥奶椒椒▉泶_定哪些API功能在發(fā)現(xiàn)該模型的各種子集MP_STATUSMP_AssignLogicalUnitToTPG(一個MP_TARGET_PORT_GROUP對象ID。管理員希望將邏輯單元分配給處于活躍訪問luOid一個MP_MULTIPATH_LOGICAL_UNIT對MP_STATUS_INVALID_OBJEMP_STATUS_INVALID_PARAMP_STATUS_OBJECT_NOMP_GetAssociatedTPGMP_TARGET_PORT_GROUP_PROPERTIES.supportsLuAMP_STATUSMP_CancelOverridePath(一個MP_MULTIPATH_LOGICAL_UNIT對象ID。MP_STATUS_INVALID_OBJEMP_STATUS_INVALID_PARA對象logicalUnitOid有除MP_MULTIPATH_LOGICAL_UNIT之外的類型子字段時返回MP_STATUS_OBJECT_NOT對象logicalUnitOid所有者ID或對象序列號無效時返回此值。僅在插件屬性中的canOverridePaths為真時才有效。需要對比的兩個對象ID。兩個對象ID的所有字段將會被逐一比對是否相等。1HMP_STATUSMP_DeregisterForObjectPropertyChanges(/*in*/MP_OBJECT_PROPERTY_FNpClien/*in*/MP_OIDplupClientFnpluginOidMP_STATUS_INVALID_OBJEMP_STATUS_INVALID_PARApluginOid不為0且有除MP_OBJECT_TYPE_PMP_STATUS_OBJECT_NOMP_RegisterForObjectPropertMP_STATUSMP_DeregisterForObjectCre/*in*/MP_OBJECT_VISIBILITY_FNpClientFn,/*in*/MP_OIDplupClientFnpluginOidMP_STATUS_INVALID_OBJEMP_STATUS_INVALID_PARAMP_STATUS_OBJECT_NOMP_RegisterForObjectVisibilipPluginIdMP_STATUS_INVALID_PARA該插件將不再由公共庫調用。此API不會從正在運行的庫實例動態(tài)刪除插件。而是阻止當前未MP_STATUSMP_DisableAutoFailback(oidMP_STATUS_INVALID_OBJE當oid未指向任何有效的對象類型時返回此值。通常發(fā)生在未初始化的對象ID傳遞給此接MP_STATUS_INVALID_PARA當oid的類型子字段不是MP_OBJECT_TYPE_PLUGIN或MP_OBJECT_TYPE_MUL-MP_STATUS_OBJECT_NOT當oid所有者ID或對象序列號無效時返回此值。不支持此API時返回此值。如果MP_PLUGIN_PROPERTIES.autoProbingSupported不是MP_AUTOPROBING_SUPPORT_MP_STATUSMP_DisableAuoidMP_STATUS_INVALID_OBJE當oid未指向任何有效的對象類型時返回此值。通常發(fā)生在將未初始化的對象ID傳遞給此APIMP_STATUS_INVALID_PARA當oid的類型子字段不是MP_OBJECT_TYPE_PLUGIN或MP_OBJECT_TYPE_MUL-MP_STATUS_OBJECT_NOT當oid所有者ID或對象序列號無效時返回此值。不支持此API時返回此值。如果MP_PLUGIN_PROPERTIES.autoProbingSuppoidMP_STATUS_INVALID_OBJEMP_STATUS_OBJECT_NOMP_STATUS_INVALID_PARA此API設置MP_PATH_LOGICMP_STATUSMP_EnableAoidMP_STATUS_INVALID_OBJEMP_STATUS_INVALID_PARA當oid的類型子字段不是MP_OBJECT_TYPE_PLUGIN和MP_OBJECT_TYPE_MUL-MP_STATUS_OBJECT_NOT當oid所有者ID或者對象序列號無效時返回此值。支持如果MP_PLUGIN_PROPERTIES.autofailbacksupported值不為MP_AUTOFAILBACK_SUP-7.12MP_EnableAutoProbingMP_STATUSMP_EnableAutoProbing(oid插件或多路邏輯單元的對象ID。MP_STATUS_INVALID_OBJE當oid未指向任何有效的對象類型時返回此值。通常發(fā)生在將未初始化的對象ID傳遞給此MP_STATUS_INVALID_PARA當oid的類型子字段不是MP_OBJECT_TYPE_PLUGIN和MP_OBJECT_TYPE_MUL-MP_STATUS_OBJECT_NOT當oid所有者ID或者對象序列號無效時返回此值。如果MP_PLUGIN_PROPERTIES.autofailbacksupported的值不為MP_AUTOFAILBACK_oidMP_STATUS_INVALID_OBJEMP_STATUS_INVALID_PARAMP_STATUS_OBJECT_NO此API設置MP_PATH_LOGICAL_UNIT_PROPERTIES.disabled的值為非pOidListMP_STATUS_INVALID_PARA客戶端應釋放由任何API使用此功能返回的所有MP_ODI_LIST結構。獲取與指定的多路徑邏輯單元、發(fā)起者端口或目標端口相關聯(lián)的所有路徑邏輯單元的對象ID的MP_STATUSMP_GetAssociatedPathOoidppList指向某個指向MP_OID_LIST結構的指針的指針。成功返回時,將包含指向MP_OID_LIST的指針。MP_OID_LIST包含與指定的(多路徑)邏輯單元、發(fā)起者端口發(fā)起者端口或目標端口oid相關聯(lián)的所有路徑的對象ID。MP_STATUS_INVALID_PARA當ppList為空或指定不可寫入數據的內存區(qū)域或oid有除MP_OBJECT_TYPE_MUL-TIPATH_LU,MP_OBJECT_TYPE_INITIATOR_PORT或MP_OBJECT_TYPE_MP_STATUS_INVALID_OBJE當oid未指向任何有效的對象類型時返回。通常發(fā)生在將未初始化的對象ID傳遞給此APIMP_STATUS_OBJECT_NOT當oid所有者ID或對象序列號無效時返回此值。MP_GetPathLogicalUnitPr7.16MP_GetAssociatedPlu獲取與指定對象ID關聯(lián)的插件的對象ID。MP_STATUSMP_GetAssociatedPluginOid(/*out*/MP_OID*pPluginOidoid從先前的API調用接收到的對象的對象ID。pPluginOid指向調用者分配的MP_OID結構的指針。成功返回時,將包含與由oid指定的對象關聯(lián)的插MP_STATUS_INVALID_OBJE當oid未指向任何有效的對象類型時返回此值。通常發(fā)生在將未初始化的對象ID傳遞給此MP_STATUS_INVALID_PARAMP_STATUS_OBJECT_NOT當oid所有者ID無效時返回。7.17MP_GetAssociate獲取包含與指定的多路徑邏輯單元關聯(lián)的目標端口組的對象ID的列表。MP_STATUSMP_GetAssociatedTPGOidList(參數oid多路徑邏輯單元的對象ID。ppListMP_STATUS_INVALID_OBJEMP_STATUS_INVALID_PARA當ppList為空或指向無法寫入數據的內存區(qū)域或oid的類型子字段不是MP_OBJECTMP_STATUS_OBJECT_NOMP_STATUS_INSUFFICIENTMP_GetTargetPortGroupProMP_STATUSMP_GetDeviceProductOidL/*out*/MP_OID_oidppListMP_STATUS_INVALID_OBJEMP_STATUS_INVALID_PARAMP_STATUS_OBJECT_NOMP_STATUS_INSUFFICIENTMP_GetDeviceProductPrMP_STATUSMP_GetDeviceProductProperties(/*out*/MP_DEVICE_PRODUCT_PROPERTIES*pPropsoidpPropsMP_STATUS_INVALID_OBJEMP_STATUS_OBJECT_NOMP_STATUS_INVALID_PARA當實現(xiàn)不支持該API時返回此值。MP_GetDeviceProduct獲取與該插件關聯(lián)的所有發(fā)起者端口的對象ID的列表。原型MP_STATUSMP_GetInitiatorPortOioid插件的對象ID。ppList指向某個指向MP_OID_LIST結構的指針的指針。成功返回時,將包含一個指向MP_OID_MP_STATUS_INVALID_OBJE當oid未指向有效對象類型時返回此值。通常發(fā)生在將未初始化的對象ID傳遞給此API的MP_STATUS_INVALID_PARA_MP_STATUS_OBJECT_NOT當oid所有者ID或對象序列號無效時返回此值。MP_STATUS_INSUFFICIENTMP_GetInitiatorPortProMP_STATUSMP_GetInitiatorPortProperties(/*out*/MP_INITIATOR_PORT_PROoidpPropsMP_STATUS_INVALID_PARAMP_STATUS_INVALID_OBJEMP_STATUS_OBJECT_NOMP_GetInitiatorPortMP_STATUSMP_GetLibraryProperties(pPropsMP_STATUS_INVALID_PARAExampleofGettingLibraryMP_STATUSMP_GetMPLuOidListFromTPG(/*in
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年五年級數學下冊 7 解決問題的策略第二課時 解決問題的策略(2)教學實錄 蘇教版
- 2025年高中物理:10類難題解題模板考試常見
- 2023一年級數學上冊 3 1-5的認識和加減法第7課時 0配套教學實錄 新人教版
- 2024-2025學年高中歷史 第一單元 第一次世界大戰(zhàn) 第2課 曠日持久的戰(zhàn)爭教學教學實錄 新人教版選修3
- 開場致辭與會議主旨演講回顧報告
- 8《音頻的獲取與加工》教學設計、教材分析與教學反思2024年滇人版初中信息技術七年級下冊
- 2023七年級英語下冊 Unit 4 Don't eat in class Section B 第4課時(2a-2c)教學實錄 (新版)人教新目標版
- 幼兒園親子游戲活動方案
- DB3715-T 23-2022 黨政機關綠色物業(yè)建設指南
- 26《手術臺就是陣地》教學設計-2024-2025學年統(tǒng)編版語文三年級上冊
- 污水處理廠改造拆除工程施工方案
- 小米公司招聘測試題目
- 人教版二年級數學下冊 3 圖形的運動(一)1.軸對稱圖形(教學課件)
- 心肌梗死的臨床護理
- 中國居民膳食指南(全)
- 多發(fā)性肌炎的基本知識
- 血細胞分析報告規(guī)范化指南解讀
- 橋梁與地下工程上崗資格考試題庫(濃縮500題)
- 《大學物理學》精美課件(全)
- 政府投資項目立項申請表-正面
- me實驗2 電位、電壓的測定及電路電位圖的繪制
評論
0/150
提交評論