環(huán)球微資訊!基于DWC2的USB驅(qū)動(dòng)開發(fā)-IAD描述符詳解
基于DWC2的USB驅(qū)動(dòng)開發(fā)-IAD描述符詳解 (qq.com)
一.前言IAD描述符用于一個(gè)設(shè)備功能關(guān)聯(lián)多個(gè)接口,可以用于實(shí)現(xiàn)組合設(shè)備。
(資料圖片)
二.參考文檔參考《iadclasscode_r10.pdf》
USBInterface Association DescriptorDevice Class Code and use Model Revision 1.0 July 23,2003
直接在https://www.usb.org/documents下搜索”USB Interface Association Descriptor Device Class Code”下載
參考《InterfaceAssociationDescriptor_ecn.pdf》
下載地址https://www.usb.org/sites/default/files/iadclasscode_r10.pdf
三.概述從(USB規(guī)范的)第一天起,關(guān)于是否應(yīng)允許多功能設(shè)備每個(gè)邏輯功能使用一個(gè)以上接口,一直存在歧義。核心規(guī)范沒有為每個(gè)功能含多個(gè)接口的情況提供任何特定的框架支持,但幾個(gè)設(shè)備工作組(DWG)使用它們定義了設(shè)備類,并使用不同的方法來確定接口應(yīng)如何組織在一起。DWG Common Class組在定義標(biāo)準(zhǔn)方法方面做了大量工作,但定義較晚,從未被采用,最終被停用
最近的USB 2.0 ECN接口關(guān)聯(lián)描述符(IAD)通過在USB設(shè)備框架中定義一種標(biāo)準(zhǔn)方法來解決這個(gè)問題,該方法用于描述應(yīng)該綁定到設(shè)備驅(qū)動(dòng)程序的同一實(shí)例的接口(及其金額選設(shè)置)的關(guān)聯(lián)。參考《InterfaceAssociationDescriptor_ecn.pdf》。
當(dāng)連接到USB軟件不理解IAD的系統(tǒng)時(shí),使用IAD的新設(shè)備存在遺留問題(意味著與設(shè)備驅(qū)動(dòng)程序的接口級(jí)綁定,而不是設(shè)備級(jí)綁定)。盡管IAD會(huì)被忽略,但由于USB系統(tǒng)軟件無法將接口與驅(qū)動(dòng)程序正確綁定,設(shè)備可能無法按預(yù)期工作。
USB核心團(tuán)隊(duì)已經(jīng)分配了一個(gè)設(shè)備級(jí)類代碼,該代碼必須包含在使用IAD的設(shè)備實(shí)現(xiàn)中。
這提供了在設(shè)備枚舉期間對(duì)啟用IAD的設(shè)備的最簡單檢測(cè),這將允許安裝具有正確解析配置和為使能IAD的設(shè)備定位適當(dāng)?shù)尿?qū)動(dòng)程序能力的專用功能驅(qū)動(dòng)程序。
3.1 IAD的來源背景ECN即USB Engineering Change Notice,USB的工程變更通知。
《InterfaceAssociationDescriptor_ecn.pdf》此ECN定義了一個(gè)新的標(biāo)準(zhǔn)描述符和接口編號(hào)規(guī)則,允許設(shè)備描述哪一個(gè)接口和同一個(gè)設(shè)備功能關(guān)聯(lián)。這允許操作系統(tǒng)將所有適當(dāng)?shù)慕涌诮壎ǖ酵或?qū)動(dòng)程序?qū)嵗?即多個(gè)接口對(duì)應(yīng)一個(gè)設(shè)備功能。
核心USB框架假設(shè)的基本配置模型是,設(shè)備上的接口和功能之間始終存在1:1的關(guān)聯(lián),即一個(gè)接口對(duì)應(yīng)一個(gè)設(shè)備功能。系統(tǒng)軟件是按照核心規(guī)范的意圖設(shè)計(jì)的,并假設(shè)每個(gè)功能(和一個(gè)接口)有一個(gè)驅(qū)動(dòng)程序(見下圖)
一些設(shè)備類規(guī)范已經(jīng)超過了核心USB規(guī)范框架,并定義了使用多個(gè)接口(即多個(gè)接口描述符)的設(shè)備功能。支持這一點(diǎn)的模型仍然只需要每個(gè)功能一個(gè)功能驅(qū)動(dòng)程序,但也需要多個(gè)接口綁定到同一個(gè)驅(qū)動(dòng)程序?qū)嵗ㄒ娤聢D)。不幸的是,沒有標(biāo)準(zhǔn)方法允許設(shè)備通過設(shè)備框架來描述配置中的哪些接口應(yīng)該與相同的功能相關(guān)聯(lián)。
此更改通知定義了設(shè)備框架的必要擴(kuò)展,允許設(shè)備注釋哪些接口與同一功能相關(guān)。這種設(shè)備框架擴(kuò)展最終將被用于所有每個(gè)設(shè)備功能使用多個(gè)接口的設(shè)備。
3.2對(duì)軟件的影響對(duì)現(xiàn)有操作系統(tǒng)版本和現(xiàn)有設(shè)備類沒有影響。系統(tǒng)軟件會(huì)忽略新的描述符。他們描述的接口不會(huì)改變。使用多個(gè)接口來管理單個(gè)設(shè)備功能的設(shè)備的未來實(shí)現(xiàn)必須支持此功能。
操作系統(tǒng)當(dāng)前不支持的設(shè)備類會(huì)對(duì)未來/新的設(shè)備實(shí)現(xiàn)產(chǎn)生影響。具體來說,如果一個(gè)設(shè)備實(shí)現(xiàn)包括多個(gè)功能單元(每個(gè)單元有多個(gè)接口),那么該設(shè)備將僅在支持此新描述符的操作系統(tǒng)實(shí)現(xiàn)上正確枚舉
為了更容易地增強(qiáng)現(xiàn)有的操作系統(tǒng)實(shí)現(xiàn),使其能夠處理使用該描述符的設(shè)備,將分配設(shè)備類代碼,目的是所有使用接口關(guān)聯(lián)描述符的設(shè)備都將在其設(shè)備描述符中使用該類代碼。這將允許輕松安裝一個(gè)新的驅(qū)動(dòng)程序,該驅(qū)動(dòng)程序知道如何解析和枚舉包括接口關(guān)聯(lián)描述符的配置。IAD的分類代碼將記錄在usb.org網(wǎng)站上。
現(xiàn)有設(shè)備類工作組負(fù)責(zé)確定是否需要修改其單獨(dú)的規(guī)范以使用或利用此新的框架擴(kuò)展。
3.3合規(guī)性測(cè)試影響最終必須更新標(biāo)準(zhǔn)合規(guī)工具集(USBCV),以檢查這些新描述符的格式(和使用)。
此外,必須為合規(guī)工具建立一些規(guī)則,以確定哪個(gè)設(shè)備應(yīng)該使用這些描述符,并因未使用這些描述符而使其失敗。
四.IAD描述符4.1描述符類型添加了新的IAD描述符類型11。
以下建議與以前的操作系統(tǒng)向后兼容。它保留了當(dāng)前的接口定義,并添加了一個(gè)新的描述符類型。對(duì)于舊的操作系統(tǒng)版本,新的描述符將被忽略,舊的機(jī)制將占上風(fēng)。對(duì)于新的操作系統(tǒng)版本,新的描述符將生效。
將以下內(nèi)容添加到USB規(guī)格書2.0表9-6中(注意,核心規(guī)范目前定義的值為1-8。自發(fā)布以來,值9和10的分配如下所述)。
Descriptor Types | Value |
DEVICE | 1 |
CONFIGURATION | 2 |
STRING | 3 |
INTERFACE | 4 |
ENDPOINT | 5 |
DEVICE_QUALIFIER | 6 |
OTHER_SPEED_CONFIGURATION | 7 |
INTERFACE_POWER | 8 |
OTG | 9 |
DEBUG | 10 |
INTERFACE_ASSOCIATION | 11 |
USB規(guī)格書2.0中P251中內(nèi)容如下,即添加了類型11的IAD描述符類型。
Table 9-5. Descriptor Types
Descriptor Types | Value |
DEVICE | 1 |
CONFIGURATION | 2 |
STRING | 3 |
INTERFACE | 4 |
ENDPOINT | 5 |
DEVICE_QUALIFIER | 6 |
OTHER_SPEED_CONFIGURATION | 7 |
INTERFACE_POWER1 | 8 |
以下是接口關(guān)聯(lián)描述符的定義。在下一次規(guī)范修訂更新時(shí),應(yīng)將其作為新的第9.6.6節(jié)(將當(dāng)前第9.6.6章移至第9.6.7章,依此類推)。
接口關(guān)聯(lián)描述符用于描述兩個(gè)或多個(gè)接口與同一功能相關(guān)聯(lián)?!瓣P(guān)聯(lián)”包括兩個(gè)或多個(gè)接口及其所有可選設(shè)置接口。
對(duì)于需要多個(gè)接口的每個(gè)設(shè)備功能,設(shè)備必須使用接口關(guān)聯(lián)描述符。
接口關(guān)聯(lián)描述符總是作為GetDescriptor(configuration)請(qǐng)求返回的配置信息的一部分返回。無法使用GetDescriptor()或SetDescriptor()請(qǐng)求直接訪問接口關(guān)聯(lián)描述符。
接口關(guān)聯(lián)描述符必須位于與其關(guān)聯(lián)的接口的接口描述符集(包括所有可選設(shè)置)之前。
關(guān)聯(lián)接口集中的所有接口編號(hào)必須是連續(xù)的。
表9-Z顯示了標(biāo)準(zhǔn)接口關(guān)聯(lián)描述符。
接口關(guān)聯(lián)描述符包括函數(shù)類、子類和協(xié)議字段。這些字段中的值可以與任何一個(gè)相關(guān)接口的接口類、子類和協(xié)議值相同。
對(duì)于現(xiàn)有的設(shè)備類,優(yōu)選的實(shí)現(xiàn)是使用關(guān)聯(lián)接口列表中第一個(gè)接口的接口類、子類和協(xié)議字段值。
注意:由于此特定功能未包含在早期版本的USB規(guī)范中,因此現(xiàn)有的USB操作系統(tǒng)實(shí)現(xiàn)將如何支持使用此描述符的設(shè)備存在問題。強(qiáng)烈建議使用接口關(guān)聯(lián)描述符的設(shè)備實(shí)現(xiàn)使用設(shè)備描述符中的多接口功能類代碼。這允許簡單而容易地識(shí)別這些設(shè)備,并允許在某些操作系統(tǒng)上安裝升級(jí)驅(qū)動(dòng)程序,該驅(qū)動(dòng)程序可以解析和枚舉包括接口關(guān)聯(lián)描述符的配置。多接口函數(shù)類代碼記錄在http://www.usb.org/developers/docs網(wǎng)站
Table 9–Z. Standard Interface Association Descriptor
偏移 | 區(qū)域 | 大小 | 值 | 描述 |
0 | bLength | 1 | Number | 描述符字節(jié)數(shù). |
1 | bDescriptorType | 1 | Constant | INTERFACE ASSOCIATION 描述符即11. |
2 | bFirstInterface | 1 | Number | 和該功能關(guān)聯(lián)的第一個(gè)接口序號(hào) |
3 | bInterfaceCount | 1 | Number | 和該功能關(guān)聯(lián)的接口個(gè)數(shù) |
4 | bFunctionClass | 1 | Class | USB-IF分配的類編碼.不能寫00xFF表示廠商自定義其他值由USB-IF分配. |
5 | bFunctionSubClass | 1 | SubClass | USB-IF分配的子類編碼.bFunctionClass 不為FFH 則所有值都由USBIF分配. |
6 | bFunctionProtocol | 1 | Protocol | USB-IF分配的協(xié)議編碼. 這些代碼由bFunctionClass和bFunctionSubClass字段的值限定。 |
7 | iFunction | 1 | Index | 描述該功能的字符串描述符索引 |
其中bFunctionClass ,bFunctionSubClass,bFunctionProtocol 的值需要根據(jù)具體的設(shè)備類文檔確定
比如UVC參考《UVC 1.5 Class specification.pdf》Universal Serial Bus Device Class Definition for Video Devices Revision 1.5 August 9, 2012 P60
Table 3-1 Standard Video Interface Collection IAD
Offset | Field | Size | Value | Description |
0 | bLength | 1 | Number | Size of this descriptor, in bytes: 8 |
1 | bDescriptorType | 1 | Constant | INTERFACE ASSOCIATIONDescriptor. |
2 | bFirstInterface | 1 | Number | Interface number of the firstVideoControl interface that isassociated with this function. |
3 | bInterfaceCount | 1 | Number | Number of contiguous VideoStreaminginterfaces that are associated with thisfunction. The count includes the firstVideoControl interface and all itsassociated VideoStreaming interfaces. |
4 | bFunctionClass | 1 | Class | CC_VIDEO. Video Interface Classcode (assigned by the USB). Seesection A.1, "Video Interface ClassCode". |
5 | bFunctionSubClass | 1 | SubClass | SC_VIDEO_INTERFACE_COLLECTION. Video Interface Subclass code.Assigned by this specification. Seesection A.2, "Video Interface SubclassCodes". |
6 | bFunctionProtocol | 1 | Protocol | Not used. Must be set toPC_PROTOCOL_UNDEFINED. |
7 | iFunction | 1 | Index | Index of a string descriptor thatdescribes this interface. This must beused for the device (function) name andbe implemented in US English(LANGID = 0x0409) at the minimum. |
1. -------------------IADDescriptor--------------------
2.bLength:0x08(8bytes)
3.bDescriptorType:0x0B(InterfaceAssociationDescriptor)
4.bFirstInterface:0x02(Interface2)
5.bInterfaceCount:0x02(2Interfaces)
6.bFunctionClass:0x01(Audio)
7.bFunctionSubClass:0x02(AudioStreaming)
8.bFunctionProtocol:0x00
9.iFunction:0x08(StringDescriptor8)
10.Language0x0409:"usb-audio"
11.Data(HexDump) :080B020201020008 ........
4.4UVC的IAD實(shí)例1. -------------------IADDescriptor--------------------
2.bLength:0x08(8bytes)
3.bDescriptorType:0x0B(InterfaceAssociationDescriptor)
4.bFirstInterface:0x00(Interface0)
5.bInterfaceCount:0x02(2Interfaces)
6.bFunctionClass:0x0E(Video)
7.bFunctionSubClass:0x03(VideoInterfaceCollection)
8.bFunctionProtocol:0x00(PC_PROTOCOL_UNDEFINED)
9.iFunction:0x05(StringDescriptor5)
10.Language0x0409:"usb-webcam"
11.Data(HexDump) :080B00020E030005 ........
4.5CDC的IAD實(shí)例1. -------------------IADDescriptor--------------------
2.bLength:0x08(8bytes)
3.bDescriptorType:0x0B(InterfaceAssociationDescriptor)
4.bFirstInterface:0x04(Interface4)
5.bInterfaceCount:0x02(2Interfaces)
6.bFunctionClass:0x02(CommunicationsandCDCControl)
7.bFunctionSubClass:0x02
8.bFunctionProtocol:0x01
9.iFunction:0x0A(StringDescriptor10)
10.Language0x0409:"usb-com"
11.Data(HexDump) :080B04020202010A ........
五.使用IAD時(shí)的設(shè)備描述符5.1使用IAD時(shí)的設(shè)備描述符使用IAD的設(shè)備必須使用下表中所示的示例設(shè)備描述符中定義的設(shè)備類bDeviceClass、子類bDeviceSubClass和協(xié)議代碼bDeviceProtocol其他的參考USB2.0的規(guī)格書usb_20.pdf的Table 9-8. Standard Device Descriptor。這組類代碼被定義為多接口功能設(shè)備類代碼。
偏移 | 區(qū)域 | 大小 | 值 | 描述 |
0 | bLength | 1 | Number | 描述字節(jié)數(shù) |
1 | bDescriptorType | 1 | Constant | 見usb_20.pdf的Table 9-8. Standard Device Descriptor |
2 | bcdUSB | 2 | BCD | |
4 | bDeviceClass | 1 | EFH | Miscellaneous Device Class |
5 | bDeviceSubClass | 1 | 02H | Common Class |
6 | bDeviceProtocol | 1 | 01H | Interface Association Descriptor |
7 | bMaxPacketSize0 | 1 | Number | 見usb_20.pdf的Table 9-8. Standard Device Descriptor |
8 | idVendor | 2 | ID | |
10 | idProduct | 2 | ID | |
12 | bcdDevice | 2 | BCD | |
14 | iManufacturer | 1 | Index | |
15 | iProduct | 1 | Index | |
16 | iSerialNumber | 1 | Index | |
17 | bNumConfigurations | 1 | Index |
使用IAD類代碼的示例設(shè)備描述符
5.2使用IAD的設(shè)備描述符實(shí)例1. ----------------------DeviceDescriptor----------------------
2.bLength:0x12(18bytes)
3.bDescriptorType:0x01(DeviceDescriptor)
4.bcdUSB:0x200(USBVersion2.0)
5.bDeviceClass:0xEF(Miscellaneous)
6.bDeviceSubClass:0x02
7.bDeviceProtocol:0x01(IAD-InterfaceAssociationDescriptor)
8.bMaxPacketSize0:0x40(64bytes)
9.idVendor:0x2BC5(Orbbec3DTech.Int"lInc.)
10.idProduct:0x0529
11.bcdDevice:0x0200
12.iManufacturer:0x01(StringDescriptor1)
13.Language0x0409:"webcamvendor"
14.iProduct:0x02(StringDescriptor2)
15.Language0x0409:"webcamproduct"
16.iSerialNumber:0x03(StringDescriptor3)
17.Language0x0409:"00000000"
18.bNumConfigurations:0x01(1Configuration)
19.Data(HexDump) :12010002EF020140C52B290500020102 .......@.+).....
20. 0301 ..
六.IAD使用模型下圖提供了一個(gè)示例,說明在典型的設(shè)備實(shí)現(xiàn)中如何使用IAD。
核心USB規(guī)范并沒有指定從GetDescriptor(Configuration)請(qǐng)求返回的描述符集,應(yīng)該如何構(gòu)造的組織(位置關(guān)系)要求。
下圖說明了如何組織這些描述符的推薦布局,以便主機(jī)軟件可以輕松地解析它們,并明確地知道,要向每個(gè)功能驅(qū)動(dòng)程序提供哪些描述符。
組織描述符集的一般方法是“按設(shè)備功能”對(duì)它們進(jìn)行分組。這基本上意味著特定設(shè)備功能的所有描述符應(yīng)始終位于“一起”(如圖所示)。
此外,圖中說明了描述符集應(yīng)如何綁定到設(shè)備驅(qū)動(dòng)程序。需要注意,對(duì)于類特定描述符應(yīng)如何與IAD關(guān)聯(lián)進(jìn)行分組,可能存在特定(附加)要求。這些將在特定的設(shè)備類文檔中指定,比如UVC參考《UVC 1.5 Class specification.pdf》Universal Serial Bus Device Class Definition for Video Devices Revision 1.5 August 9, 2012 P60。
(1)在示例框圖的頂部,多接口功能設(shè)備類(Multi-Interface Function Device Class)設(shè)備,其設(shè)備描述符包括設(shè)備類bDeviceClass、子類bDeviceSubClashh和協(xié)議代碼bDeviceProtocol,他們的值必須分別是0xEF(Misc),0x02(Common Class),0x01(IAD).
(2)接下來是配置描述符集。在高層次上,該特定配置包括三個(gè)設(shè)備功能。配置描述符和第一個(gè)接口或IAD描述符之間的任何描述符都應(yīng)被視為“全局”,并傳遞給每個(gè)功能設(shè)備驅(qū)動(dòng)程序(見示例)。
(3)第一個(gè)功能關(guān)聯(lián)包括兩個(gè)接口(包括所有類特定描述符和可選設(shè)置alternate settings)。第二設(shè)備功能是單個(gè)接口功能,并且不需要IAD。第三個(gè)設(shè)備功能與第一個(gè)類似。對(duì)于每個(gè)設(shè)備功能,系統(tǒng)軟件必須向設(shè)備驅(qū)動(dòng)程序提供“關(guān)聯(lián)”中的所有描述符以及上述“全局”描述符。
(4)bInterface Count字段中的值必須包括預(yù)期集合中的所有接口。例如,假設(shè)一個(gè)多接口功能的接口編號(hào)為N到M。bFirstInterface字段值為N,bInterface Count的值則為(M-N)+1(因?yàn)殛P(guān)聯(lián)中的所有接口都必須是數(shù)字連續(xù)的,所以算法(M-N)+1總是有效的)。注意,每個(gè)接口可以有零個(gè)或多個(gè)可選設(shè)置alternate settings,但可選設(shè)置不包括在bInterface Count的計(jì)算中。
(5)對(duì)于使用IAD的設(shè)備功能(如示例中的第一個(gè)和第三個(gè)功能),USB系統(tǒng)軟件應(yīng)構(gòu)建“硬件標(biāo)識(shí)符”,用于使用設(shè)備描述符中的idVendor和idProduct以及IAD中的bFirstInterface字段定位和加載設(shè)備驅(qū)動(dòng)程序。此外,系統(tǒng)軟件應(yīng)使用IAD中的類代碼字段(bFunctionClass、bFunctionSubClass、bFunctionProtocol)構(gòu)建“兼容性標(biāo)識(shí)符”。
使用接口關(guān)聯(lián)描述符的示例設(shè)備框圖
七.總結(jié)1.在一個(gè)設(shè)備功能需要關(guān)聯(lián)多個(gè)接口時(shí)需要使用IAD描述符,比如UVC,UAC, 而一個(gè)配置描述符下可以使用多個(gè)IAD即實(shí)現(xiàn)了組合設(shè)備,比如UVC+UAC_CDC, 使用IAD時(shí)此時(shí)設(shè)備描述符的設(shè)備類bDeviceClass、子類bDeviceSubClashh和協(xié)議代碼bDeviceProtocol,他們的值必須分別是0xEF(Misc),0x02(Common Class),0x01(IAD)。詳見前面的實(shí)例。
2.IAD描述的內(nèi)容參考前面的實(shí)例,bFunctionClass ,bFunctionSubClass,bFunctionProtocol 的值需要根據(jù)具體的設(shè)備類文檔確定,可以參考前面的實(shí)例。
審核編輯黃宇
關(guān)鍵詞:
您可能也感興趣:
今日熱點(diǎn)
為您推薦
朋友女兒高考成功祝福語 朋友女兒高考祝福語怎么寫_每日消息
異丙醇的成份有哪些_阻燃面料的成份和工藝有哪些 獨(dú)家焦點(diǎn)
環(huán)球最資訊丨Arculus加密冷藏錢包評(píng)測(cè)
更多
- 均勝電子入選2023全球汽車零部件供應(yīng)商百強(qiáng)榜
- 熱點(diǎn)在線丨4人團(tuán)伙販賣“K粉”14公斤 主犯被判無期徒刑
- 助力粵港澳大灣區(qū)建設(shè) 烏東德水電站累計(jì)發(fā)電量破1000億千瓦...
- 一臺(tái)幣等于多少人民幣(2023年6月26日)
- 徐長明:下半年車市回歸正常,新能源還有兩三年較快增長
- 世界觀點(diǎn):生肖牛:再忙也要看,七月十三后心想事成,富貴滿...
- 影視改編提速,現(xiàn)實(shí)題材網(wǎng)絡(luò)文學(xué)邁入“黃金時(shí)代”
- 臺(tái)幣對(duì)人民幣匯率(2023年6月26日)
排行
- 鷹派言論加劇衰退擔(dān)憂 歐洲股市創(chuàng)下2018年以來最長連跌記錄|...
- CBE中國美容博覽會(huì)開幕在即,諾斯貝爾攜新品彰顯“戰(zhàn)痘”實(shí)力
- 教育賽道未來可期,科大訊飛智慧教育助力孩子個(gè)性化發(fā)展
- 陸金所會(huì)員2.0襲來:多元化升級(jí)用戶權(quán)益,為美好生活賦能
- 明星主播唐笑應(yīng)邀參加首屆中國國際消費(fèi)品博覽會(huì)簽約儀式 助...
- 黃河旋風(fēng):超硬材料單晶產(chǎn)品支撐行業(yè)下游產(chǎn)業(yè)發(fā)展
- 重塑IP新場(chǎng)景!鄭州絨言絨語走進(jìn)鄂爾多斯金鼎亨深度探索
- 一家線上美妝店的反向成長之路:話梅的新零售
- 荷蘭佳貝艾特——進(jìn)口羊奶粉市場(chǎng)的風(fēng)向標(biāo),營養(yǎng)新選擇
- 滴滴出行上市,估值高達(dá)千億美金,竟因這個(gè)你沒聽過的業(yè)務(wù)!
最近更新
- 環(huán)球微資訊!基于DWC2的USB驅(qū)動(dòng)開發(fā)-IAD描述符詳解
- 當(dāng)前熱議!“棉花糖”天空上線!泉城顏值爆表
- [獨(dú)家]胡錫進(jìn)炒股首日賺104.78元,看老胡炒股獨(dú)家專欄就看新...
- 破折號(hào)的作用有什么?_破折號(hào)的作用
- “坤坤生下來的女兒叫什么名字”?老鄉(xiāng)雞玩梗玩出大事!為蔡...
- 熱點(diǎn)在線丨4人團(tuán)伙販賣“K粉”14公斤 主犯被判無期徒刑
- 全球最資訊丨王者怎么設(shè)置空白格_王者怎么設(shè)置空白名字
- 柴芍參苓散_關(guān)于柴芍參苓散概略 世界播報(bào)
- 河南食品產(chǎn)業(yè)高規(guī)格大會(huì)將啟,報(bào)名通道開啟(附通道)
- 焦點(diǎn)!“復(fù)旦本科生泳裝照簡歷”熱傳,涉事機(jī)主回應(yīng):應(yīng)是被...
- 汶川縣突發(fā)山洪泥石流致堰塞湖?阿壩州水文中心:現(xiàn)場(chǎng)可正常...
- 全球信息:人口紅利消失、奶粉內(nèi)卷加劇,母嬰業(yè)向營養(yǎng)品、零輔...
- 京津城際調(diào)圖后旅客量增加 天津站保質(zhì)保量做好客運(yùn)服務(wù) “...
- 【快播報(bào)】上半年教師資格認(rèn)定網(wǎng)上報(bào)名6月28日截止
- 柴胡達(dá)原飲_關(guān)于柴胡達(dá)原飲概略 每日?qǐng)?bào)道
- 浙江出臺(tái)首個(gè)共享法庭地方標(biāo)準(zhǔn) 為其在全國復(fù)制推廣提供浙江...
- 25個(gè)“紅十字”專項(xiàng)基金“為愛兜底”,持續(xù)擦亮“大愛青島”...
- 當(dāng)前播報(bào):中國移動(dòng)發(fā)布5G網(wǎng)絡(luò)、IPv6和自智網(wǎng)絡(luò) 三方面創(chuàng)新成果
- 最新消息:調(diào)查:50%的受訪者愿意付費(fèi)ChatGPT高階服務(wù)
- 殘障兒童助行器
- 達(dá)川區(qū)石橋鎮(zhèn)中心小學(xué)六年級(jí)舉行畢業(yè)典禮
- 如何報(bào)考心理咨詢師?-世界快播
- 沂蒙山煙價(jià)格表和圖片(沂蒙山煙)
- 拉薩市城關(guān)區(qū)日常急救技能培訓(xùn)走進(jìn)白林社區(qū)|世界新消息
- 民生銀行重慶分行:以金融之力護(hù)航專精特新企業(yè)高質(zhì)量發(fā)展 ...
- 闖關(guān)、探秘……成都高新新科學(xué)校這場(chǎng)考評(píng)很“冒險(xiǎn)”
- 父母打孩子可以報(bào)警嗎(父母打孩子)
- win7系統(tǒng)的鼠標(biāo)設(shè)置在哪里(win7怎么調(diào)鼠標(biāo)靈敏度)_訊息
- 異丙醇的成份有哪些_阻燃面料的成份和工藝有哪些 獨(dú)家焦點(diǎn)
- 阿斯利康:安達(dá)釋在華獲批用于治療成人2型糖尿病
今日要聞
- 梁山縣市場(chǎng)監(jiān)管局大力實(shí)施質(zhì)量強(qiáng)縣戰(zhàn)略 質(zhì)量提升工作水平穩(wěn)步提升 世界簡訊
- 巴西對(duì)華高碳鋼絲反傾銷日落復(fù)審終裁延長征稅-全球時(shí)訊
- 浙江民企與銀行糾紛,揭8年前債務(wù)重組舊傷 當(dāng)前關(guān)注
- Win11安卓子系統(tǒng)正在啟動(dòng)中解決辦法
- 環(huán)球微資訊!基于DWC2的USB驅(qū)動(dòng)開發(fā)-IAD描述符詳解
- 《消失的她》長沙路演,朱一龍一出場(chǎng)就沸騰了_環(huán)球要聞
- 今日觀點(diǎn)!“房門被鄰居封堵”事件最新進(jìn)展:房子被開發(fā)商買回,錢款已到位
- 富德生命聚財(cái)穩(wěn)盈年金保險(xiǎn)保什么?怎么樣?
- 座艙體驗(yàn)升級(jí)/行政版后排體驗(yàn)更佳 蔚來全新ES8靜態(tài)體驗(yàn) 快看點(diǎn)
- 是否與寧德時(shí)代有合作?特別是PET銅箔產(chǎn)品方面 雙星新材(002585.SZ):暫不能透露相關(guān)客戶信息 環(huán)球時(shí)快訊