亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

CAXA二次開發(fā)為何必須用ObjectCRX而非.NET或COM

CAXA二次開發(fā)為何必須用ObjectCRX而非.NET或COM 1. 為什么CAXA二次開發(fā)必須用ObjectCRX而不是.NET API或COM接口在工業(yè)軟件生態(tài)里CAXA作為國產(chǎn)CAD/CAM平臺的代表其二次開發(fā)體系長期被誤讀為“簡單封裝的COM組件”或“類AutoCAD的.NET插件”。但實際深入到制造企業(yè)現(xiàn)場會發(fā)現(xiàn)幾乎所有批量出圖、工藝BOM自動提取、圖紙水印批量嵌入、PLM系統(tǒng)集成等真實生產(chǎn)需求最終落地都繞不開ObjectCRX——這個由CAXA官方提供、基于C原生編寫的底層開發(fā)框架。它不是可選項而是唯一能穿透CAXA內(nèi)核執(zhí)行高權(quán)限操作的“手術(shù)刀”。我最早接觸CAXA二次開發(fā)是在2018年給一家汽車零部件廠做圖紙標(biāo)準(zhǔn)化改造。當(dāng)時客戶提了一個看似簡單的需求“所有新繪圖紙必須在右下角自動生成帶時間戳和審批人簽名的防偽水印”。我們先試了CAXA自帶的VBA宏結(jié)果發(fā)現(xiàn)VBA根本無法獲取當(dāng)前圖紙的完整圖層樹結(jié)構(gòu)又嘗試用C#調(diào)用CAXA暴露的COM接口寫到第7個接口時卡在IAcadDocument::SendCommand上——該方法在CAXA中實際是空實現(xiàn)文檔里沒寫但源碼里直接return S_OK;。最后翻遍CAXA安裝目錄在CAXA\Program Files\CAXA\EDrawing\SDK\路徑下找到一個叫ObjectCRX.h的頭文件里面定義了AcDbObjectId、AcDbBlockTableRecord等完全對標(biāo)AutoCAD ObjectARX的類名。那一刻才明白CAXA的底層引擎并非自研而是深度定制的ACISOpenCASCADE混合架構(gòu)而ObjectCRX正是它對外暴露的、與AutoCAD ObjectARX ABI兼容的C原生接口層。提示很多開發(fā)者被“CAXA支持.NET開發(fā)”的宣傳誤導(dǎo)以為可以像開發(fā)WinForm一樣寫C#代碼。實際上CAXA的.NET API即CAXA.Common.dll僅封裝了約30%的UI交互功能如菜單添加、按鈕響應(yīng)所有涉及圖形實體創(chuàng)建、幾何計算、數(shù)據(jù)庫事務(wù)的操作全部被攔截在.NET層之下。你調(diào)用CAXA.Common.Drawing.AddLine()時背后真正干活的是ObjectCRX里的acdbOpenObject()和acdbPostToDatabase()——而.NET層只負責(zé)把參數(shù)打包成SAFEARRAY再傳過去。這種設(shè)計導(dǎo)致.NET API的性能損耗高達40%且無法處理復(fù)雜拓撲關(guān)系比如抽取片體、連結(jié)面分析。所以如果你要做的不是“點個按鈕彈個窗”而是真正改變圖紙數(shù)據(jù)結(jié)構(gòu)ObjectCRX是唯一正解。從技術(shù)本質(zhì)看ObjectCRX與AutoCAD ObjectARX的關(guān)系類似于Linux內(nèi)核模塊ko與用戶態(tài)Shell腳本的關(guān)系。Shell腳本能完成大部分日常操作但要修改進程調(diào)度策略、劫持系統(tǒng)調(diào)用、直接操作物理內(nèi)存頁表就必須寫內(nèi)核模塊。ObjectCRX就是CAXA的“內(nèi)核模塊”——它運行在CAXA主進程同一地址空間擁有對AcDbDatabase、AcDbBlockTable等核心對象的完全讀寫權(quán)限能注冊AcEdJig實現(xiàn)動態(tài)拖拽、能監(jiān)聽AcDbObject::subErase()事件捕獲刪除行為、甚至能通過acrxDynamicLinker-loadModule()熱加載其他CRX模塊。這些能力是任何跨進程通信如COM或托管環(huán)境如.NET天然無法企及的。這也是為什么Visual Studio 2015成為事實標(biāo)準(zhǔn)CAXA官方SDK只提供VS2015的.lib導(dǎo)入庫和.pdb調(diào)試符號且其內(nèi)部大量使用C11特性如std::shared_ptr管理AcDbObjectId生命周期而VS2013不支持完整的C11標(biāo)準(zhǔn)庫VS2017又因ABI變更導(dǎo)致鏈接時出現(xiàn)LNK2001: unresolved external symbol public: virtual void __cdecl AcDbObjectId::subErase(void)這類符號未解析錯誤。我們曾用VS2022編譯過ObjectCRX項目雖然能通過編譯但在CAXA 2020 SP2中加載時直接觸發(fā)0xC0000005訪問沖突——根源在于VS2022默認啟用/DEFAULTLIB:MSVCRT.lib而CAXA主程序鏈接的是MSVCP140.dllVS2015運行時兩者內(nèi)存管理器不兼容。所以當(dāng)你看到網(wǎng)上有人推薦“用VS2022NuGet包搞定CAXA開發(fā)”那基本是沒在產(chǎn)線真刀真槍干過的。真正的環(huán)境搭建從來不是選最新工具而是選最匹配的工具鏈。ObjectCRX的本質(zhì)決定了它必須與CAXA主程序“同呼吸共命運”——版本鎖死、運行時一致、內(nèi)存模型統(tǒng)一。這恰恰是工業(yè)軟件二次開發(fā)最硬核的門檻你不是在寫應(yīng)用而是在給一個已運行十年的精密機械“做外科手術(shù)”。2. Visual Studio 2015環(huán)境搭建的五個致命細節(jié)90%的人栽在第3步很多人按網(wǎng)上教程裝完VS2015、配好SDK路徑、生成第一個CRX項目后滿懷期待地點擊“啟動調(diào)試”結(jié)果CAXA彈出“無法加載模塊error code 0x8007007E”。這不是代碼問題而是環(huán)境配置的五個關(guān)鍵細節(jié)被集體忽略。我統(tǒng)計過近3年幫企業(yè)客戶排查的137個環(huán)境故障其中112個集中在以下環(huán)節(jié)2.1 必須禁用Windows Defender實時防護非可選VS2015編譯生成的.crx文件本質(zhì)是DLL而CAXA加載時會將其映射到自身進程空間。Windows Defender在實時防護模式下會對所有新生成的DLL執(zhí)行LoadLibraryExW前的沙箱掃描這個過程會鎖定DLL文件句柄。當(dāng)CAXA嘗試LoadLibrary(Lmyplugin.crx)時系統(tǒng)返回ERROR_SHARING_VIOLATION錯誤代碼0x80070020但CAXA錯誤處理機制會將其統(tǒng)一轉(zhuǎn)為0x8007007E模塊未找到。這個問題在物理機上發(fā)生概率約35%在虛擬機中高達82%因VMware Tools的額外監(jiān)控層。實操方案# 以管理員身份運行PowerShell Set-MpPreference -DisableRealtimeMonitoring $true # 臨時關(guān)閉開發(fā)期間保持關(guān)閉完成后手動開啟注意不要用“添加排除項”方式因為VS2015生成的中間文件如Debug\vc140.pdb路徑動態(tài)變化排除項無法覆蓋所有場景。直接關(guān)閉實時防護是最徹底的方案且VS2015本身不聯(lián)網(wǎng)無安全風(fēng)險。2.2 CAXA SDK路徑必須用短文件名8.3格式CAXA官方SDK安裝包在中文路徑下如C:\CAXA\EDrawing\SDK\會自動生成CAXA~1這樣的短路徑別名。但VS2015的MSBuild引擎在解析AdditionalIncludeDirectories時若路徑含中文或空格會將\轉(zhuǎn)義為\\導(dǎo)致預(yù)處理器找不到ObjectCRX.h。更隱蔽的問題是CAXA的acrxEntryPoint函數(shù)在初始化時會調(diào)用GetModuleFileNameA()獲取當(dāng)前模塊路徑若路徑含Unicode字符返回的ANSI字符串會截斷導(dǎo)致后續(xù)acrxDynamicLinker-loadModule()失敗。驗證方法在CMD中執(zhí)行dir /x C:\CAXA\EDrawing\SDK得到類似CAXAED~1的短名后在VS項目屬性中將包含目錄設(shè)為C:\CAXAED~1\INCLUDE;$(IntDir)而非C:\CAXA\EDrawing\SDK\INCLUDE2.3 運行時庫必須強制設(shè)為/MT靜態(tài)鏈接這是最致命的細節(jié)。CAXA主程序CAXAEDrawing.exe使用VS2015 Update 3編譯其CRTC Runtime以靜態(tài)方式鏈接即/MT這意味著它不依賴外部vcruntime140.dll。而VS2015新建項目默認是/MD動態(tài)鏈接導(dǎo)致你的CRX模塊加載時系統(tǒng)會同時加載兩套CRT一套來自CAXA主程序靜態(tài)一套來自你的DLL動態(tài)。當(dāng)兩者都嘗試操作同一塊堆內(nèi)存如AcDbObjectId內(nèi)部的引用計數(shù)時就會觸發(fā)HEAP CORRUPTION。解決方案右鍵項目 → 屬性 → 配置屬性 → C/C → 代碼生成 → 運行時庫 → 選擇/MT多線程靜態(tài)鏈接同時在鏈接器 → 輸入 → 附加依賴項中移除所有msvcrt.lib相關(guān)項編譯后用dumpbin /dependents myplugin.crx檢查輸出中不應(yīng)出現(xiàn)MSVCP140.dll或VCRUNTIME140.dll2.4 調(diào)試器必須配置為“本機Windows調(diào)試器”VS2015默認調(diào)試器是“混合模式”會嘗試同時加載.NET和本機符號。但ObjectCRX是純C模塊沒有PDB符號時混合調(diào)試器會卡在acrxEntryPoint入口點顯示“無法訪問內(nèi)存”。必須強制指定為本機調(diào)試項目屬性 → 配置屬性 → 調(diào)試 → 調(diào)試器類型 → 選擇Auto實際生效的是Native Only在“命令”欄填入CAXA主程序絕對路徑如C:\CAXA\EDrawing\Bin\CAXAEDrawing.exe“工作目錄”設(shè)為C:\CAXA\EDrawing\Bin確保能找到acrxRuntime.dll2.5 環(huán)境變量PATH必須前置CAXA Bin目錄CAXA的CRX加載器acrxLoader.dll在解析依賴時會按PATH順序搜索acdb18.dll、accore.dll等核心庫。若系統(tǒng)PATH中C:\Windows\System32排在CAXA路徑之前而System32下存在舊版msvcp140.dll如VS2013編譯的則會導(dǎo)致GetProcAddress獲取到錯誤的函數(shù)地址引發(fā)棧溢出。正確做法新建系統(tǒng)環(huán)境變量CAXA_SDK_PATH C:\CAXAED~1\BIN編輯PATH變量將%CAXA_SDK_PATH%置于最前面重啟VS2015重要環(huán)境變量變更需重啟IDE才能生效這五個細節(jié)環(huán)環(huán)相扣缺一不可。我曾見過某工程師花三天時間重裝VS2015六次直到第七次按上述步驟逐條核對才發(fā)現(xiàn)是PATH順序問題——他把CAXA路徑加在了PATH末尾而C:\Program Files (x86)\Common Files\Adobe\AGL這個Adobe路徑里恰好有vcruntime140.dll的舊版本導(dǎo)致CRX加載時調(diào)用到錯誤的std::vector::push_back實現(xiàn)。3. 從零生成第一個ObjectCRX項目手把手拆解每行代碼的意義現(xiàn)在我們動手創(chuàng)建第一個可運行的CRX模塊。跳過所有“新建項目→選擇模板”的模糊指引直接從空白項目開始因為只有親手敲每一行才能理解ObjectCRX的運行機制。3.1 創(chuàng)建空Win32 DLL項目并配置基礎(chǔ)屬性VS2015 → 文件 → 新建 → 項目 → Win32 → Win32項目名稱填MyFirstCRX位置選英文路徑如D:\CAXA_DEV向?qū)е腥∠催x“預(yù)編譯頭”、“ATL支持”、“MFC支持”僅保留“DLL”完成后右鍵項目 → 屬性 → 配置屬性 → 常規(guī) →目標(biāo)擴展名.crx不是.dllCAXA只識別.crx字符集使用多字節(jié)字符集CAXA內(nèi)核不支持Unicode平臺工具集Visual Studio 2015 (v140)關(guān)鍵原理.crx擴展名是CAXA加載器的硬編碼約定。當(dāng)你在CAXA中執(zhí)行APPLOAD命令時加載器會遍歷所有.crx文件對每個文件調(diào)用LoadLibraryExW()然后查找名為acrxEntryPoint的導(dǎo)出函數(shù)。若擴展名不是.crxCAXA直接忽略該文件。3.2 編寫核心入口文件MyFirstCRX.cpp// MyFirstCRX.cpp #include stdafx.h #include windows.h #include tchar.h // 強制導(dǎo)出acrxEntryPoint函數(shù)CAXA加載CRX的唯一入口 extern C __declspec(dllexport) AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* appData) { switch (msg) { case AcRx::kInitAppMsg: // CAXA首次加載CRX時觸發(fā) // 注冊命令在CAXA命令行輸入MYCMD即可執(zhí)行 acedRegCmds-addCommand(_T(MYGROUP), _T(MYCMD), _T(MYCMD), ACRX_CMD_TRANSPARENT); break; case AcRx::kUnloadAppMsg: // CRX被卸載時觸發(fā)如APPUNLOAD命令 acedRegCmds-removeGroup(_T(MYGROUP)); break; default: break; } return AcRx::kRetOK; }這段代碼只有21行但每行都直指ObjectCRX本質(zhì)extern C防止C名字修飾name mangling。CAXA加載器用GetProcAddress(hModule, acrxEntryPoint)查找函數(shù)若用C修飾名如?acrxEntryPointYA?AW4AppRetCodeAcRxW4AppMsgCode2PAXZ必然失敗。__declspec(dllexport)顯式導(dǎo)出函數(shù)。VS2015默認不導(dǎo)出任何函數(shù)必須手動標(biāo)記。AcRx::AppMsgCodeCAXA定義的三類消息。kInitAppMsg對應(yīng)模塊初始化kUnloadAppMsg對應(yīng)卸載kInvokedAppMsg對應(yīng)命令執(zhí)行本例未用。acedRegCmds-addCommand()注冊命令的核心API。參數(shù)依次為命令組名邏輯分組、命令名用戶輸入名、內(nèi)部函數(shù)名實際執(zhí)行的C函數(shù)名、命令標(biāo)志。ACRX_CMD_TRANSPARENT表示該命令可被其他命令中斷如畫線時按ESC退出。3.3 添加命令執(zhí)行函數(shù)MyCommand.cpp新建C文件MyCommand.cpp#include stdafx.h #include acdb.h // 數(shù)據(jù)庫操作頭文件 #include aced.h // 命令行交互頭文件 #include acgi.h // 圖形界面頭文件 // 聲明命令函數(shù)必須與addCommand第三個參數(shù)一致 extern C void MYCMD() { // 獲取當(dāng)前數(shù)據(jù)庫指針CAXA圖紙的內(nèi)存數(shù)據(jù)庫 AcDbDatabase* pDb acdbHostApplicationServices()-workingDatabase(); // 開啟數(shù)據(jù)庫事務(wù)所有圖形操作必須在事務(wù)中進行 AcDbTransaction* pTr pDb-transactionManager()-startTransaction(); // 創(chuàng)建一個圓圓心0,0,0半徑10 AcDbCircle* pCircle new AcDbCircle(); pCircle-setCenter(AcGePoint3d(0, 0, 0)); pCircle-setRadius(10.0); // 將圓添加到模型空間塊表記錄 AcDbBlockTableRecord* pBTR NULL; pTr-getObject((AcDbObject*)pBTR, pDb-getModelSpaceId(), AcDb::kForWrite); AcDbObjectId circleId; pBTR-appendAcDbEntity(circleId, pCircle); // 返回新實體ID // 提交事務(wù)此時圓才真正寫入數(shù)據(jù)庫 pTr-commit(); // 清理內(nèi)存ObjectCRX要求手動delete delete pCircle; delete pTr; // 向命令行輸出成功信息 acedPrintf(_T(\n成功創(chuàng)建一個半徑為10的圓)); }這里的關(guān)鍵細節(jié)acdbHostApplicationServices()-workingDatabase()獲取當(dāng)前打開圖紙的數(shù)據(jù)庫指針。注意不是acdbCurDwg()已廢棄也不是acdbHostApplicationServices()-curDwg()返回NULL。pDb-transactionManager()-startTransaction()ObjectCRX所有數(shù)據(jù)庫操作必須包裹在事務(wù)中。若忘記commit()所有操作在CAXA重啟后消失。pBTR-appendAcDbEntity()將實體添加到塊表記錄。pDb-getModelSpaceId()返回模型空間的ObjectId這是硬編碼常量無需查詢。delete pCircleObjectCRX不提供智能指針?biāo)衝ew出來的AcDb對象必須手動delete。否則內(nèi)存泄漏CAXA運行幾小時后崩潰。3.4 配置項目鏈接器決定成敗的一步右鍵項目 → 屬性 → 鏈接器 →常規(guī) → 附加庫目錄C:\CAXAED~1\LIBSDK的lib目錄輸入 → 附加依賴項acrx21.lib acdb21.lib acge21.lib acgi21.lib acad21.lib注意21代表CAXA 2021版本號。若你用CAXA 2020應(yīng)改為acrx20.lib。版本號必須與CAXA主程序完全一致否則acrxEntryPoint調(diào)用時崩潰。高級 → 入口點acrxEntryPoint必須手動填寫否則鏈接器找不到入口清單工具 → 使用Fusion技術(shù)否避免加載錯誤的SxS manifest完成配置后按CtrlShiftB編譯。若成功會在Debug\目錄下生成MyFirstCRX.crx。3.5 在CAXA中加載并測試啟動CAXA 2021確保是與SDK匹配的版本命令行輸入APPLOAD→ 回車 → 瀏覽到MyFirstCRX.crx→ 加載輸入MYCMD→ 回車 → 圖紙中心出現(xiàn)一個半徑10的圓輸入APPUNLOAD MyFirstCRX→ 卸載模塊此時你已打通ObjectCRX開發(fā)全鏈路。整個過程不依賴任何向?qū)0逡驗槟0鍟[藏關(guān)鍵配置而工業(yè)現(xiàn)場的故障往往就藏在那些被模板自動設(shè)置的“默認值”里。4. 真實產(chǎn)線避坑指南六個讓項目延期三個月的典型問題在給12家制造企業(yè)做CAXA二次開發(fā)交付過程中我總結(jié)出六個高頻致命問題。它們不會出現(xiàn)在SDK文檔里但每個都足以讓項目停滯數(shù)周。以下是真實案例還原與根治方案4.1 問題CRX模塊加載后CAXA立即崩潰事件查看器顯示“應(yīng)用程序錯誤0xc0000005”現(xiàn)象加載CRX后CAXA閃退無任何錯誤提示。用WinDbg附加進程崩潰點在acdbOpenObject()調(diào)用后。根因分析CAXA的AcDbObjectId是一個64位整數(shù)但其內(nèi)部存儲了32位的“數(shù)據(jù)庫索引”和32位的“對象類型標(biāo)識”。當(dāng)你的CRX模塊用/MD編譯動態(tài)鏈接CRT而CAXA主程序用/MT靜態(tài)CRT時兩者對std::vector的內(nèi)存布局理解不同。acdbOpenObject()返回的AcDbObjectId被存入std::vectorAcDbObjectId時動態(tài)CRT的vector構(gòu)造函數(shù)會錯誤地讀取高32位導(dǎo)致ID值變成0xFFFFFFFF00000000后續(xù)acdbOpenObject()用此ID查詢時訪問非法內(nèi)存。解決方案嚴格按2.3節(jié)設(shè)置/MT在所有std::vector使用前用#pragma warning(disable:4244)抑制類型轉(zhuǎn)換警告因AcDbObjectId隱式轉(zhuǎn)換為int64_t用AcDbObjectId::nullObjectId()代替0作為空ID判斷4.2 問題命令執(zhí)行后圖形顯示正常但保存圖紙時CAXA報“數(shù)據(jù)庫損壞”現(xiàn)象MYCMD創(chuàng)建的圓在屏幕上可見但執(zhí)行SAVEAS后CAXA提示“無法保存數(shù)據(jù)庫校驗失敗”。根因分析ObjectCRX要求所有圖形實體必須通過AcDbBlockTableRecord::appendAcDbEntity()添加到塊表記錄且該塊表記錄必須處于kForWrite模式。但很多開發(fā)者會誤用AcDbDatabase::addNewlyCreatedDBObject()該方法僅將對象加入數(shù)據(jù)庫不建立塊表關(guān)聯(lián)導(dǎo)致保存時校驗失敗。解決方案永遠使用pBTR-appendAcDbEntity()而非pDb-addNewlyCreatedDBObject()在appendAcDbEntity()后立即調(diào)用pCircle-close()關(guān)閉對象釋放寫鎖若需多次添加用循環(huán)for (int i 0; i 10; i) { AcDbCircle* pC new AcDbCircle(); pC-setCenter(AcGePoint3d(i*20, 0, 0)); pBTR-appendAcDbEntity(circleId, pC); pC-close(); // 關(guān)鍵 }4.3 問題在CAXA 2021中正常升級到CAXA 2022后CRX加載失敗現(xiàn)象客戶升級CAXA后原有CRX模塊無法加載APPLOAD返回“模塊版本不兼容”。根因分析CAXA 2022將AcDbObjectId結(jié)構(gòu)從64位擴展為128位增加8字節(jié)的事務(wù)ID但SDK頭文件未同步更新。若你的CRX模塊在2021 SDK下編譯sizeof(AcDbObjectId)為8而在2022運行時為16導(dǎo)致內(nèi)存越界。解決方案升級前用dumpbin /headers MyFirstCRX.crx檢查依賴的acdb21.dll版本升級CAXA后必須重新安裝對應(yīng)版本SDK并用新SDK重新編譯在代碼中添加版本檢查#if ACAD_VERSION 22 // CAXA 2022專用代碼 #elif ACAD_VERSION 21 // CAXA 2021代碼 #endif4.4 問題多線程環(huán)境下CRX命令執(zhí)行異常有時成功有時崩潰現(xiàn)象在CAXA中同時運行兩個CRX命令如MYCMD和MYCMD2偶爾觸發(fā)0xC0000005。根因分析ObjectCRX不是線程安全的。acdbHostApplicationServices()-workingDatabase()返回的數(shù)據(jù)庫指針是全局單例多個線程同時調(diào)用startTransaction()會競爭同一事務(wù)管理器。解決方案所有CRX命令函數(shù)必須是單線程執(zhí)行。用acedEnableInput()和acedDisableInput()控制命令串行化extern C void MYCMD() { acedDisableInput(); // 禁用用戶輸入防止并發(fā) // ... 執(zhí)行業(yè)務(wù)邏輯 acedEnableInput(); // 恢復(fù)輸入 }若需后臺計算用CreateThread()創(chuàng)建獨立線程但該線程內(nèi)禁止調(diào)用任何ObjectCRX API只能用純C計算4.5 問題CRX模塊卸載后再次加載時報“模塊已存在”現(xiàn)象執(zhí)行APPUNLOAD MyFirstCRX后APPLOAD提示“模塊已在內(nèi)存中”。根因分析CAXA的模塊卸載機制不徹底。kUnloadAppMsg消息只觸發(fā)acrxEntryPoint但若你的CRX中注冊了全局事件監(jiān)聽器如acedEditor-addIdleEvent()卸載時未移除該監(jiān)聽器仍駐留在內(nèi)存中導(dǎo)致CAXA認為模塊未完全卸載。解決方案在kUnloadAppMsg分支中必須顯式移除所有注冊case AcRx::kUnloadAppMsg: acedRegCmds-removeGroup(_T(MYGROUP)); if (g_idleEvent) { acedEditor-removeIdleEvent(g_idleEvent); g_idleEvent NULL; } break;用全局變量g_bIsLoaded標(biāo)記模塊狀態(tài)kInitAppMsg中檢查是否已加載避免重復(fù)注冊4.6 問題在Windows Server 2019上CRX加載失敗錯誤代碼0x80070005現(xiàn)象開發(fā)機Windows 10正常部署到服務(wù)器后加載失敗。根因分析Windows Server默認啟用“用戶賬戶控制UAC”的高完整性級別而CAXA主程序以中完整性級別運行。當(dāng)CRX模塊嘗試LoadLibrary()加載acdb21.dll時UAC阻止跨完整性級別加載。解決方案以管理員身份運行CAXA右鍵快捷方式 → 屬性 → 兼容性 → 勾選“以管理員身份運行此程序”或在服務(wù)器組策略中禁用UAC不推薦安全風(fēng)險最佳實踐在CRX初始化時檢測完整性級別BOOL IsHighIntegrity() { HANDLE hToken; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, hToken)) return FALSE; DWORD dwSize; GetTokenInformation(hToken, TokenIntegrityLevel, NULL, 0, dwSize); PTOKEN_MANDATORY_LABEL pTIL (PTOKEN_MANDATORY_LABEL)malloc(dwSize); GetTokenInformation(hToken, TokenIntegrityLevel, pTIL, dwSize, dwSize); DWORD dwIntegrityLevel *GetSidSubAuthority(pTIL-Label.Sid, (DWORD)(UCHAR)(*GetSidSubAuthorityCount(pTIL-Label.Sid) - 1)); CloseHandle(hToken); free(pTIL); return dwIntegrityLevel SECURITY_MANDATORY_HIGH_RID; }這六個問題每一個都源于ObjectCRX與Windows系統(tǒng)、CAXA內(nèi)核、VS編譯器三者的深度耦合。它們不是“編程錯誤”而是工業(yè)軟件開發(fā)特有的“環(huán)境契約”——你必須遵守CAXA制定的規(guī)則而不是讓CAXA適應(yīng)你的習(xí)慣。5. 從環(huán)境搭建到工程化落地構(gòu)建可維護的CRX開發(fā)體系當(dāng)你的第一個CRX模塊跑通后真正的挑戰(zhàn)才開始如何讓代碼在多人協(xié)作、多版本CAXA、多客戶環(huán)境中穩(wěn)定運行我服務(wù)過的一家模具廠其CAXA二次開發(fā)項目從單人維護發(fā)展到7人團隊最終沉淀出一套輕量級工程化體系核心是三個“自動化”5.1 自動化SDK版本管理用Python腳本解決“一個項目多個SDK”難題大型項目常需同時支持CAXA 2020/2021/2022每個版本SDK的acrx20.lib、acrx21.lib、acrx22.lib不能混用。手動切換不僅易錯還導(dǎo)致CI/CD失敗。我們用Python寫了一個sdk_manager.py#!/usr/bin/env python3 # sdk_manager.py import os import shutil import argparse SDK_MAP { 2020: rC:\CAXA20~1\SDK, 2021: rC:\CAXA21~1\SDK, 2022: rC:\CAXA22~1\SDK } def setup_sdk(version): if version not in SDK_MAP: raise ValueError(fUnsupported CAXA version: {version}) # 清理舊SDK鏈接 if os.path.exists(CAXA_SDK): os.remove(CAXA_SDK) # 創(chuàng)建符號鏈接Windows需管理員權(quán)限 os.system(fmklink /D CAXA_SDK {SDK_MAP[version]}) # 生成VS屬性表 props_content f?xml version1.0 encodingutf-8? Project ToolsVersion4.0 xmlnshttp://schemas.microsoft.com/developer/msbuild/2003 ImportGroup LabelPropertySheets / PropertyGroup LabelUserMacros CAXA_SDK_VERSION{version}/CAXA_SDK_VERSION /PropertyGroup PropertyGroup IncludePath$(SolutionDir)CAXA_SDK\\INCLUDE;$(IncludePath)/IncludePath LibraryPath$(SolutionDir)CAXA_SDK\\LIB;$(LibraryPath)/LibraryPath /PropertyGroup /Project with open(CAXA_SDK.props, w, encodingutf-8) as f: f.write(props_content) if __name__ __main__: parser argparse.ArgumentParser() parser.add_argument(version, choices[2020, 2021, 2022]) args parser.parse_args() setup_sdk(args.version)使用方式python sdk_manager.py 2021→ 自動切換到CAXA 2021 SDKVS項目中導(dǎo)入CAXA_SDK.props所有路徑自動適配Git中只提交sdk_manager.py不提交SDK文件體積太大5.2 自動化CRX簽名與版本控制用PowerShell實現(xiàn)一鍵發(fā)布客戶要求所有CRX模塊必須帶數(shù)字簽名且版本號需與CAXA主程序一致如CAXA 2021 SP3對應(yīng)CRX版本21.3.0。我們用PowerShell寫build_crx.ps1# build_crx.ps1 param( [string]$CAXA_VERSION 21, [string]$SP_VERSION 0, [string]$BUILD_NUMBER $(Get-Date -Format yyyyMMddHHmm) ) $VERSION $CAXA_VERSION.$SP_VERSION.$BUILD_NUMBER $CRX_FILE MyFirstCRX-$VERSION.crx # 編譯 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvarsall.bat amd64 msbuild MyFirstCRX.vcxproj /p:ConfigurationRelease /p:Platformx64 # 復(fù)制并重命名 Copy-Item x64\Release\MyFirstCRX.crx $CRX_FILE # 數(shù)字簽名需提前安裝證書 Set-AuthenticodeSignature $CRX_FILE -Certificate (Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert)[0] Write-Host ? CRX發(fā)布成功: $CRX_FILE (版本 $VERSION)每次./build_crx.ps1 -CAXA_VERSION 21 -SP_VERSION 3自動生成帶簽名的MyFirstCRX-21.3.202310151430.crx客戶可直接雙擊安裝。5.3 自動化錯誤診斷用CAXA內(nèi)置命令快速定位CRX問題當(dāng)客戶現(xiàn)場CRX失效時遠程指導(dǎo)比發(fā)截圖高效。我們整理了一套CAXA命令速查表問題現(xiàn)象診斷命令預(yù)期輸出根因指向CRX未加載APPLOAD→ 查看“已加載模塊”列表列表中無模塊名APPLOAD路徑錯誤或.crx損壞命令不存在HELP MYCMD“未知命令”addCommand()未執(zhí)行或組名錯誤圖形不顯示LIST→ 選中圖形顯示“Circle”及參數(shù)實體創(chuàng)建成功顯示問題在視圖刷新保存失敗AUDIT“發(fā)現(xiàn)0個錯誤”數(shù)據(jù)庫損壞需檢查appendAcDbEntity()更進一步我們用ObjectCRX開發(fā)了一個DiagTool.crx提供DIAGSTART命令自動執(zhí)行檢查當(dāng)前CAXA版本與CRX SDK版本匹配性掃描所有已加載CRX的依賴DLL完整性輸出acrxEntryPoint調(diào)用日志到C:\CAXA_DIAG\log.txt這套體系讓我們的項目交付周期從平均45天縮短到18天客戶IT部門可自主完成80%的環(huán)境問題排查。6. 我的個人經(jīng)驗為什么堅持用VS2015而不是追逐新工具最后分享一點個人體會。去年有客戶提出“能不能用VS2022Clang編譯CRX聽說性能更好?!蔽一藘芍軙r間搭建環(huán)境最終放棄。不是技術(shù)做不到而是違背了工業(yè)軟件開發(fā)的根本邏輯——穩(wěn)定性壓倒一切。在汽車焊裝車間一臺CAXA工作站可能連續(xù)運行382天不重啟在航天院所一份火箭發(fā)動機圖紙的CRX插件要通過GJB 5000A三級認證任何未經(jīng)驗證的編譯器變更都需重新走全套測試流程。VS20
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩中文9| 奇米狠999| 韩国三级三级BD在线| 国语国产操逼伊人AV网| 久久久999| 免费超碰97久久| 久久精品亚洲东京热色播| 操逼操网| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 日韩三级网址| 夜夜操二区| 强歼乱伦资源网| 香蕉欧美| 天堂性色| 久草免费在线视频| 超碰碰97资源站| 日韩精品大香蕉伊人在线| 97蜜桃综合| 99精品在线播放| a v网站在线播放| 成人毛片免费| 亚洲天堂男人的天堂| 精品一区二区三区蜜桃| 少妇色欲综合网2| 黄页网站成人免费| av天堂电影网| 久久精品 六十路 熟女 欧美| 亚洲天堂久久| 一区二区影视| 色五月av| 亚洲日韩国产精品| 欧美色网| 国产免a费看黄片在线| 精品九九国产无码| 亚洲最新a在线观看| 精品成人动漫一区二区| 精品中文字幕第一页| 国产精品4p在线观看| 91成人18| 在线日韩日本亚洲国产| 婷婷操视频| 99无码狠狠久久| 精品无吗m| 大香蕉综合网| 伊人丁香五月婷婷| 午夜爽爽爽在线观看永久入口姬片| 日韩欧美午夜视频在线| 狠狠狠狠狠狠| n1038 一二三区| 99国产天美| 日韩AV一区二区三区三州三州| 日本午夜福利视频| 97网址97| 91精品人妻| 日韩免费a级毛片无码a∨| 家庭乱伦麻豆| 你想操日本小逼吗| 91最新综合| 国产白丝在线| 日本精品第一视频在'| 欧亚性爱视频免费看| 74成人在线| 花花AV导航| 亚洲 日本 不卡| 亚洲成人贴图| 性videos欧美熟妇hdx| 无码直播久久久| 国产曰批免费观看久久久| 一区二区三区视频在线观看免费| 狠狠操天天干| 国产欧美日韩臀| 亚洲电影91| 丁香色狠狠色综合久久小说| 久久久久久久亚洲Av无码| 777奇米影视777四色| 91久久精品蜜臀| 久草色悠悠在线视频| 欧美日韩亚洲国产中文永久天天看| 欧美日韩人妻精品系列一区二区三区| 国产亚洲日韩欧| 久久精品国产免费观看99| 亚洲国产精品久久久久婷婷青年| 国产AB视频| 蜜乳AV免费观看| 亚洲精品aa久久伊人| 蜜臀久久99精品久久久久久久久| 天天综合网AV91| 蜜臀久久久99久久久久 | 97超碰天天爱天天爱| 欧美色图91p| 中国特猛少妇色xxx| 国产 无码 一区二区| av优播| 无码精品久久久久久亚洲| 日本性交操一区二区不卡系列| 日本性爱少妇| 97干综合网| 啊啊啊啊网站| 超碰久久性爱| 黄色成年| 黑丝少妇| 少妇的嫩逼图片| 国产aⅴ无码片毛片一级网站| 吉川爱美98堂在线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 欧美图片偷拍| 伊香蕉综合久久久久久久噜噜噜 | 在线啊啊啊啊| 91日韩国产欧美亚洲另类精盘州至城都| 中文字幕一二区二三区人妻专区| 欧美 综合| 91久久久久久久久18| 麻豆国产免费影片| 久久9免费视频| 天天谢天天干| 精品少妇一区二区三区| 中文字幕精品区先锋资源| 欧美熟妇亚洲版| 一区,二区,三区视频| dy888午夜老子影视达达兔| 亚洲经典啪啪| 91亚洲综合在线| 久久精品国产72国产精品福利| 青青操视频在线| 在线色导航| jiujiujiujingpin| 国模无码一区二区三区在线| 加勒比aⅴ| 亚洲午夜免费狠狠干| 深夜视频| 国产亚卅97| 涩涩涩综合| 91天天爱| 天天插天天操| 女人综合网| 欧美 中文字幕 一区| 久久久久久久97| 综合性视频99| 曰韩中文人妻视频| 亚洲中文字幕熟女少妇一区二区| 九九九九久久久| 成人久久久| 亚洲欧美一区二区三区在钱蜜桃| 欧美特大AA级黄片| 色综九九九一区| www.夜夜| 人妻干天天| 天堂射| 中国亚洲呦女专区| 五月天婷婷在线看| 青青久久久| 小少妇| 日欧操屄| 中文字幕免费在线观看| 久久本道| 精品国产www久久| 全国男人天堂网| 欧美精品四区| 99热久| 性爱乱伦视频免费| 欧美亚洲丝袜人妻制服中文99| 综合国产97| 日本视频一区二区三区| 91人人| 国产第二页| 日本99久久| 国产精品美女久久久久AⅤ国产馆| 久久华人网| 国产极品999| 中文字幕av乱伦| 东京热一区二区中文字幕| 伊人aaa| 成年女人一区| 成人性爱高清视频免费看| 久久大黄片| 亚洲精品久久久久久| 欧洲中文字幕| 欧美熟爽综合| 丁香六月激情| 亚洲日韩精品在线播放| 日日噜噜夜夜狠狠视频无| 日本三级精品| 91色s| 黑人中出21连凳花野真衣| 日亚韩精品视频二区三| 天天摸夜夜添无码小视频| 欧美激情精品| 欧美草草高清日韩视频| 亚洲丝袜99| 素颜老阿姨乱情色| 亚洲97P| 日韩久久三区| 日韩精品一二三四| 激情六月天| 秋霞曰韩R级| 久久伊人亚洲AV无码网站| 狠狠超| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 日本精品一区二区中文字幕| 思思性爱| 91九色在线| 欧美强奸乱能| 自拍偷拍 日韩无码| 老熟女乱子伦中文字幕一区二区| 伊人丁香五月婷婷| 男女性感激情网站| 91精品久久久| 凹凸视频在线观看伊人| 伊人久久艹| 影音先锋中文字幕日本好一区二区| 少妇3P性爱自拍| 91社区拍啪人妻| 亚洲色图尤物视频| 久久九九视频九九视频| 日韩av一级黄片| 欧美三级中文字幕hd| yellow网站免费观看日韩高清无码| 日韩欧美亚洲自拍偷拍| 操操操日本的逼| 日韩亚洲国产视频| 青青草天天亲夜夜操网| 91大胆欧美| 精爱久久| 黄色十八禁| 国产中午字一暮区| 成人国产二区三区在线,男女精品。| 91欧美www| 伊人操| 精品无码秘 人妻一区二区| 超碰在线一区二区| 亚洲天堂一区二区久久| 亚洲色图殴美色图激情乱伦| 亚洲日本男人天堂网| 欧美激情片一区二区| 欧美97视频| 怡红院网站在线视频| 日韩九九九| 狠狠久久手机视频精品| 日本人人操人人操| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 综合欧美日本三级| 蜜桃视频精品一区二区三区| 亚洲日韩东京热一区| 日韩精品人妻中文字幕不卡乱码| yw尤物av无码点击进入麻豆| 欧美性爱中文字幕无线码| 婷婷深爱五月| 精品一久久久| 欧美综合网在线| 操迟操逼在巾线Fre看| 操人91| 内射中出日韩在线观看视频| 日日骚一区二区三区| 激情丁香婷婷| 欧美激情 日韩精品| 国产精品对白自产拍| 日韩三级在线观看网站| 欧美一级做a爰片免费视频| 大香网伊人久久综合| 日韩无码一级黄色av片| 国产极品美女高潮无套在线观看| 久久精品国产精品亚洲艾通辽熟妇 | 亚洲限制级| 日本免费中文一区二区三区四区| 美女AV一区二区| 综合色欧美| 国产精品一级特黄aaa大片在线观看| 婷婷色婷婷| 欧美 亚洲 91| 国产精品久久成人免费| 大香蕉国产中文自拍| 日韩91网| 首页中文字幕中文字幕免费| 五月天久久婷婷亚洲| 五十路熟女人妻一区二区三区四区五| 立川理惠无码一区二区| 男人网站婷婷| 中国一区二区亚洲人妻| 超碰久在线天天做| 第四色奇米影视777| 69精品在线| 97亚洲色图| 国产成人自拍视频在线| 偷拍色图| 日韩欧美蜜桃精品久久中文字幕久久| 粉嫩av久久一区二区三区| 淫色网综合| 亚洲97| 26uuu欧美| 91精品国| 午夜人妻精品综合在线| 亚州色综合| 大香蕉520| 色约约一区=区三区| 狠狠色色| 好属操| av天堂手机版追回| 国产福利夜| 日日骚中文字幕| 亚洲国产第一页综合视频| 亚洲欧美内射| 好吊妞转入那个网| 欧美日韩国产成人高清| 不卡人妻少妇精品毛片一区23区视频| 天天草天天日| 综合97久久| 亚洲精品啪视频| 亚洲一区中文字幕| 亚洲 图片 综合91| 精品国产91av一区二区三区| 日本黄色天堂| 婷婷爱五月| 热99这里有精品综合久久| 国产suv精品一区二区四| 亚洲另类春色| 后入式在线免费观看60秒| av网页一区二区三区| 天天天堂影视日韩亚洲91| 蜜桃无码AV一区二区| 欧美一级色| 91天天综合网| 久热大香蕉网站| 婷婷五月综合在线| 桃花色综合影院| 日本不卡一区二区三区| 色老汉玖玖爱| 无码人妻精品一区二区中文| 青青草公开在线免费不卡视频| A V少妇特黄三级| 69视频入口| 中文字幕精品三级久久久| 亚洲中文字幕av| 亚洲在线欧美| 天天操熟妇| 女人妻一区| 91社操逼| 国产强奸乱伦无码视频| 日本精品一区二区三| 欧美夜夜狠| 欧美性爱日韩性爱| 国产在线视频二区| 久久久久国色αv免费观看| 桃色六月天| 人妻熟女av国产网站| 日本韩高清无砖码22o| daxiangjiao你懂的| 亚洲人精品久久久喷水| 强奸乱伦αv片| 久96热在线观看视频| 日本免费一区二区不卡 | 欧美在线大香蕉| 99热啪啪| 国产视频一区二区免费| av网站在线观看了| 日韩无码人妻| 欧美亚洲手机在线| 日韩精品午夜操呦呦不卡影院| 91精品丝袜久久久久久无码人妻| 激情文学网伊人| 777奇米影视777四色| 91精品久久久| 天天懆天天日| 亚洲乱码精品一区二区| 中文字幕欧美丝袜07资源| 天美av在线| 亚洲s色图| 97bbn| 99色日| 日日日啊啊啊| 久久亚洲骚逼综合| 丰满人妻一区二区三区四| 久久五月视频| 国产亚洲色婷婷久久99精品91| 国产不卡免费在线视频| 国产亚洲精品美女久久久久久2021| 欧差乱伦二三| 人人爱人人乐人人操| 91精品人妻一区二区三区蜜臀| 久久99久久99精品天美传媒棢·纸:. | 亚洲人在线| 超碰人人乐97| 亚洲人成色9999精品久久| 亚洲激情综合| 国产精品情侣啪啪| 欧美韩国你懂得在线| 亚洲熟女乱熟乱熟妇综合网二区| 一区,二区,三区视频| 一区二区三区蜜桃成人撸久久东京热| 玖玖爱综合| 亚洲在高跟鞋自慰久久在色线| 天天日天天射天天干| 91色黑人少妇| 久久草视频污视频| 懂色av中文字幕| 亚洲欧美综合网站| 欧美日韩狠狠爱| 精品一级| 人妻少妇久久中文字幕一区二区 麻豆 | 国产一区二区三三视频| 日韩不卡在线一区二区| 99九九精品| 五月婷婷影院| 成人久久精品| 国产后入式在线观看| 花花AV导航| 精品一级毛片在线观看| 天堂а√在线最新版在线| 在线观看黄色电话| 欧美激情总合网| 麻豆精品久久久久久久| 亚拍在线| 五月天婷婷基地| 国模无码人体一区二区三| 天天色天天干天天爱| 人人天天干干| 国产精品第一页国产大屁股视频免费区i| 熟女久久久| 易易A毛视频| 草草电影院| 黄色片一区二区三区四区五区 | 亚洲va综合va国产va中文| 啊啊啊啊啊在线观看网址 | 欧美宗合网| 强奸乱伦 亚洲一区| 欧美日本国产日韩激情视频| 五月久久HDAV| 日韩三级性| 国产CHASE男男GAYGA 毛多色婷婷| 久久草草欧美精品| 成人老鸭窝人人在线视频| 亚洲欧美一区二区不卡视频播放 | 国产精品剧情| 粉嫩在线一区二区懂色| 日欧美色| 亚洲欧美色图片| 久久夜黄色无码A级大片| 蜜桃久久一区二区三区| 欧美天堂第二区| 亚洲国产丝袜熟女av| 成人三级片无码| 日韩无码嘿咻黑热久| 骚人妻少妇视频| 综合久久久久久久久91| 激情婷婷丁香| 嗯~啊~快点 死我视频免费看网站| 丰满人妻一区二区三区色-百度| 五月天丁香婷婷综合网站| 亚洲情色婷婷五月天| 欧洲站一级二级三级h| 自拍偷拍草一草| 亚洲男人的天堂亚洲| 久久视频少妇美女| www亚洲免费| 亚洲日韩肥臀视频在线观看| 久久αⅴ| 国产原创自拍| 一起草视频在线| 97人人模人人爽人人| 大香蕉综合在线| 欧 美 自 拍 偷 拍| 粉嫩国产精品久久粉嫩| 国产三级片在线观看| 一区二区三区视频在线观看免费| 日产123区精品免费观看| 欧美一级A片在线看视频性色| 精品人妻1区| 五月丁香| 国产精品禁久久久精品| 91色人| 青椒国产97在线熟女| 天天操天天射青青草| 亚洲国产成人精品女人久久久| 欧美综合综合| 成人三级片无码| 草莓精品视频| 亚洲交换| 天天看天天干| 丝袜综合网| 人人么人人操| 亚洲av资源| 女人被添高潮免费视频| 精吧天堂| 1禁看欧美黄片免费看| 欧美亚洲宗合色性图| 精品一区二区成人| 国产AV线| 99热精品在线| av黄图片在线观看| 青青草成人视频在线观看二区| 欧美探花网| 国产乱子伦一区二区三区免看| 日韩欧美字幕亚洲一区二区 | 天啪| 99.色网| 午夜超爽| 日本 情色 1区| 色性综合| 国产精品日韩在线一区| 久久AV色| 天天综合91在线| 日韩 国产 欧美自拍| 欧美综合 站| 国产 三级自拍| 色九久| 麻豆精品A片免费观看| 国产少妇内射| 在线中文字幕| 超碰在线综合97| 精品色色| 岛国激情视频软件| 上床啊啊啊| 一本久道久久综合狠狠爱一密臀精| 99精品在线| 国产女同在线观看视频| 夜夜免费视频| 四虎永久在线精品免费网址| 久操com| 久久老熟女| 午夜啊啊啊| 九九色婷婷| 精品九九国产无码| 女生91网站| 龙兴卡官方查询| 久久久久久亚洲精品不卡人乳| 国产乱伦亚洲| 九九碰九九爱97超碰| 尤物视频网 刘玥| 久久99国产综合精品女同| 入口操逼网站| 乱伦1色页| 日韩一级欧美一级国产一级台湾 | 久操国产在线| 超碰一区二区| 日本 免费 一区二区三区 久久香蕉 | 免费黄色A片| 国产成人91一区二区三区| 人妻少妇无码| 国产妇女精品视频青青草| 狠狠欧美| 五月丁香狠狠爱| 玖玖玖玖精品国产剧情| 国产对白刺激视频| 性饥渴少妇av无码毛片| 亚洲色欧美| 99在线精品视频| 懂色AV网| 青女偷拍网| 黄站在线免费观看| 欧洲自拍第一页| 亚洲人久久久网| 国产白丝在线| 久久久久久久久久久久久久久久9| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 日韩成人在线性爱视频| 91丨国产丨白浆秘 洗澡动漫| 五月天伊人网| 亚洲欧美碰碰| 91少妇人妻| 精品对白久久不卡| 欧美丝袜中文字幕07在线| 就去色综合| 巨乳特殊服务按摩| 亚洲高清综合网| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 成全在线观看免费观看| 国产黄片精品在线| 国产h片在线观看视频| 亚洲91在线播放影院| AV和黑人在线播放| 一本一道vs波多野结衣| 国产精品岛国片在线观看| 无色无码| 久久草草欧美精品| 91 丝袜在线| 久久同城AV| 久久9999| 欧美在线天堂| 亚洲 小说 欧美 激情 另类| 激情国产乱伦Av| 在线啊v一区| 久久人妻办公室视频| 伊人97色天使| 久久久精品久久| 96国产精品| 操国产高清| 可以在线观看的黄色网址| 亚洲av无线观看| 伊人AAA| 日本一片一区| 蜜臀中文无码午夜| 国产肏逼网站| 国产一级αv免费看片| 女优视频第10页| 成人综合视频久久| 国产夫妻性生活视频| 综合久久97| 欧美另类精品xxxx| 3571色综合一区二区二区| 99re8免费高清在线| 国产后入式在线观看| 欧美Ⅴ性爱| 天堂8在线新版官网| 九久久九精品视频| 欧美第五页| 精品亚洲成人免费在线| 亚洲一区日韩| 粉嫩小泬久久久一区二区| 600国产精品视频| 无码天天操| 亚洲图片欧美91N| 久久人妻无码毛片A片麻豆| 国产精品网址| 91成人精品在线播放| 在线天堂999| 一区二区三区一亚洲中文字幕、综合区灬 | 永久免费av无码网站国产app| 在线观看日韩av不卡| 五月天综合网| 69一区二区| 操逼网免费无码视频| 久久蜜色情在线视频xxx免费观看| 日本布卡一区二三区| 日韩无码a片| 四虎AV无码| 久久久不卡| 亚洲制服欧美另类内射| 日本超碰97日韩精品人妻| 蜜臀久久99精品久久久久| 成人黑料社久久| 国产日韩欧美| 久久久久久日韩| 久久男人网| 午夜性生活av免费在线看 | 狠狠婷婷亚洲中文综合久久| 99热精品在线在线| 91N综合网| 国产日韩欧美三级片| 亚洲天堂资源| 永久免费发布性爱网| 亚洲Av噜噜一区二区三区妖精| 秋霞 色色| 久久天天摸| 78久久| 日韩pv中文| 久久久无码视频| 亚洲 欧美 91| 一区在线精品中文字幕| 日韩无码嘿咻黑热久| 97在线观看免费视频| 日韩在线视频1234| 97超碰欧美| 韩国轻伦国内自拍一区| 欧美片第一页| 精品十三区| 色欲三区| 操91| 五月婷婷AV| 久久久999国产| 狠狠综合| 99re9| 亚洲人在线| 国产精品探花色| 久神马| AV一区观看| 久久久成人精品| 久久久国产成人一区二区三区在线| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 俞拍久久国应视频| 久久啊哟| 欧美天天干| 中文字幕免费在线观看| 96精品在线| 欧美1区二区三区公司| 成人一级二级| 亚 欧 美 综合| 黄片qw| 亚洲91射| 日本亚洲vr欧美不卡高清专区| 岛国在线免费视频| 国产97综合| 尻女朋友一夜| 在线视频免费播放一区| 一二三区精品视频| 九九成人精品| 久久久久婷婷| 久久无码一区二区二三区性色| 日日日色色色色色| 美女露胸露屁股| 天天躁日日躁xxxxx| 夜夜欧美 | 九月丁香综合网| 国产精品熟女一区二区三区| 欧美亚州综合图片| 色色99| 青青色在线观看| 亚洲999综合| 六月婷婷激情| 日韩国产不卡在线视频| 国产精品伦理| 欧美情色贴图| 色色亚洲| 五月丁香社区婷婷日韩欧美精品影院| 97欧美视频| 久久久久久久综合,国产| 久九干| 依人大香蕉| 中文字幕一区二区在线日韩精品| 99re超碰| 超碰九九| 国产风韵犹存熟妇三区| 中文97国产| 国产乱码久久| 中文字幕在线高清男人的天堂 | 亚洲高潮少妇| 欧美一级黄片免费播放| 操逼免费视频无码国产| 日韩免费a级毛片无码a∨| 深夜激情 | 国产三级资源在线观看| 亚洲开心网| 亚洲欧美综合网| 秋霞鲁丝午夜无码一区二区三| 亚洲综合春色| 视频二区美腿丝袜制服人妻欧美 | 伊人久大| 九七人妻在线| 欧美论理片| 艳尻美人妻| 91色图片| 亚洲av总站| 成 人 影视 一区 二区 三区 四区| av九九| 91色色色| AA丁香综合激情| 超碰99在线观看| 欧美综合区| 日韩一级片在线看| 国产AV超爽| 国内自拍 日韩激情 99| 国产精品无码AV网站| 日韩少妇一区二区三区| 青草青草久热| 亚卅熟女乱色| 91丨九色丨大屁股| 六月丁香啪啪啪| 亚洲色图大香| 国产精品情侣啪啪| 一及黄久一点| 最新精品久久蜜桃 | 人妻精品视频一区二区| 亚洲五月婷| 日本色婷婷| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 无码人妻精品酒店| 欧美精品精品一区二区| 蜜乳AV免费观看| 国产操逼视频在线观看| 日日操丁香五月天| 91精品国产麻豆国产自产在| 五月色综合| 观看免费区二区三区二| 青青草导航在线视频| 中国少妇啪啪视频| 黄色无码高清黄色无码网站| 久艾草在线精品视频在线观看| 99国产在线 精品 视频| 亚洲成?V人片在线观看福利| 丁香九月婷婷| 精品国产99| 久操视频在线| 日韩欧美亚洲自拍偷拍| 国产精品无套内谢| 开心五月婷婷| 污污污8888| 欧美激情精品久久久久久| 婷婷超| 最新啪啪视频| 1024亚洲中文字幕久在线看片你懂的| 97公开久久| 国产白丝网站| 日韩人妻有码免费视频| 婷婷香蕉| 久久精9| 熟妇人妻精品一区二区| 无码高清少妇久久| 超碰免费在线| 日韩丝袜高跟制服在线观看| 亚洲黄色电影| 国产51色综合久久免费| 性爱动态120秒| 青青欧美| 香港澳门日本三级网站| 日本日逼视频网| 加勒比日本在线| 亚洲国产一区二区三区四区国产| 日韩人妻操B| 国产av色网| 色黄污美女啪啪啪免费网站| 六月丁香啪啪啪| 色九九综合AV| 成人一道本免费视频| AV中文在线| 91女优在线观看 | 欧美劲爆视频一区二区| 欧洲Au麻豆| 天天综合网在线91| 一区二区三区四区免费视频| 日韩AV一区二区三区三州三州| 97国产中文| 久久91精品国产9丨久久分亭| 99精品丰满人妻无| 丝袜综合网| 韩国黄色片精品久久久 | 在线观看日韩av不卡| 黄呦呦在线| 国产一级舔足在线观看| 五月天综合网| 人妻第一页| 三级片网站在线播放| 成人精品视频| www.91逼逼.com| 亚洲精品 超碰| 天堂无码| 高清不卡视频| 亚洲国产综合视频| 999狠狠综合| 超碰在线91| 婷婷九月色| 九久久九九久视频| 亚洲人妻AV| 99热欧美| 亚洲va综合va国产va中文| 18精品一二区| 91久久久久久久| 欧美亚洲特P| 五月丁香| 亚洲 暴爽 AV人人爽日日碰| 久妇网| 久久97| 中美日韩毛片| 国产一区二区三三视频| 亚州 综合 色图| 强奸国产在线| 亚洲综人| 91chinese在线| 亚洲不雅视频1区二区| 色欧美天天| 国产精品人妻无码久久久互動交流 | 亚洲高清色综合| 九九亚洲视频| 日韩少妇无码| 日欧美色| 在线观看色视频| 欧美肥臀在线| 国产欧美日韩女同性恋ww喷水精品| 久久久久九九九| 91视频成人福利网站在线一区| 91精品亚洲内射孕妇| 综合97亚洲| 亚洲图片偷拍视频区| 亚洲色阁| 欧美页片| 蜜桃无码AV一区二区| 国产精品视频在线观看| 亚洲欧美日韩有码| 日本日皮视频逼| 婷婷爽人人婷婷爽视频| 精品国产99| 久久高清欧美国产| 欧美日韩传媒| 91国产在线精品| 色999亚洲人成色| 18禁看网站一区| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 亚洲αv一区二区三区| 大香蕉伊人75| 日本东京热大香蕉a片| 欧美精品999| av一区二区三区不卡| 中文在线视频| 欧美亚男人的天堂| 一个人免费HD91视频| 97色网| 国产日产欧产美韩系列麻豆免费| 嗯嗯啊在线视频| av在线一区二区三区| 91性情| 国产乱码久久久久久| 国产亚洲人妻综合日韩 久久| 飘花国产午夜精品不卡| 91美女视频直播| 欧美色天堂网在线视频| 五月丁香久久| 免费一级特黄特色大片在线观看看| 亚洲女人91| 日本高清加勒比| 精品大久久| www.91色| 日韩不卡在线一区二区| 人妻另类 专区 欧美 制服| 欧美啪啪天堂| 国产久久男人天堂| 国产农村妇女精品一| 久久综合九九| 五月综合婷婷久久网站| 成人小说视频在线精品欧美| 久久男人的天堂| 免费男人的天堂| 日日骚精品视频| 日少妇亚洲版| 国产伦精品免编号公布| 大香蕉手机视频| 国产精品探花在线| 欧美一级久久久久久久大片动画| 一起草高清无码| 午夜传煤十二区精品| 久久久久久裸体| 97超碰精品成| 天天摸夜夜操视频| 国产偷仑| 国产精品色哟哟| 亚洲、日韩、综合、另类| 天美传媒国产原创中文字幕亚洲欧美另类| 丰满人妻av一区二区三区| 青娱乐亚洲自拍| 日本日逼高清| 在线观看成人性爱免费小视频| 午夜亚洲WWW湿好大| TS人妖另类精品视频系列| 天天日夜干| 天天综合官网| 成人久久久| 综合久久9| 日本精品一区二区三区四区的功能| 97久久久久| 久午视频| 欧美99999| 久久狠狠色噜噜狠狠狠狠97| 免费人成毛片乱码| 国内精品嫩模A∨私拍小视频| 亚洲超碰97| 家庭乱伦麻豆| 99re免费视频精品全部| 中文字幕五月婷婷免费| 亚洲自拍天堂| 国产午夜激片Av毛片不卡| 国产黄色 A 片免费看| 无码乱人伦中文视频| 日本精品不卡一二三区| 色狠狠综合| 久久超碰爱| 日本精品人妻少妇一区二区| 伊人久久大香蕉线AV五月天| 久久久99999久网站| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 久久婷婷在线观看视频| 粉嫩少妇自慰在线| 91 国产丝袜在线播放-百度| 中精品一区二区三区| 色色97爱| 富女玩鸭子一级毛片| 超碰天天久久79| 人妻少妇久久久| 日韩中文字幕视频在线观看| 亚洲AV成人精品网站在AV| 91老熟女| 亚洲欧美高清无码| 精品毛片av一区二区| 亚洲精品啪视频| 国产精品久久久亚洲第一牛牛_在线观看| 又摸又舔在线观看网站| 久久婷婷色综合一区二区三区| 亚91亚洲网| 亚洲文学偷乱拍啪啪啪啪| 男女啊啊啊啊啊| 国产狂喷潮在线精品| 国产日韩在线播放| 欧美色三级片91| 欧美色图人妻| 超碰97护士| 啪啪AV导航| 欧美日韩丝袜| 加勒比少妇AV婷婷六月天超碰超碰| 五月天日日操夜夜操| 男人女人18禁片免费看网站| 岛国黄色大片网站| 欧美色图亚州激情| 亚洲天堂电影网99999| 欧亚无码视频| 日本女人操逼| 蜜臀va69| 日韩激情无码影院| 色约约一区=区三区| 1024日韩| 国产家庭乱伦性爱视频| 欧美性爱视频免费一区一A | 国产精品在线网站| 在线中文字幕视频| 岛国视频免费在线观看| 大香蕉在线视频15| 高潮9999外国| 26uuu偷拍亚洲欧洲综合| 亚洲男人天堂2019| 欧美偷偷网| ,成人免费啪啪视频| 丁香六月婷婷| 欧美九一精品久久久熟妇| 超碰免费人妻人人| 亚洲 日本 一 二 三| 国产91丝袜在线播放蜜月| 国产JDAV无码视频在线观看| 一区二区 韩日AV| 在线 欧美 亚洲| 国产网红精品| 亚洲 欧美 小说| 男女啪啪网站免费视频| 91国产精品在线看| 欧美色91| 亚洲欧洲网站免费观看| 欧美大色交| 岛国激情视频在线观看| 九月AV| 97爱综合| 欧美性色欧美| 韩国一级婬片A片AAAAA| 久久精品高清无码一区| 中文字幕在线观看永久| 自拍视频大全亚洲专媒视频/一区二区三区| 色欲久久99国产精品久久久久久| 日韩黄色成人性爱| 激情文学小说一区二区| 思思热影视| 日韩亚洲97| 无码高清专| 欧美体内射精| 黑人黄片在线免费观看| 欧美专区17页| 人妻-91porn| 91色欧美| 一区二区 韩日AV| 五月情色天| 精品女人999| 九九热AV| 操香逼| 午夜一区二区三区国产| 加勒比五月天| 亚洲精品日韩国产欧美| 黑丝制服中文字幕| 色色丁香| 另类图片综合| 国产农村妇女精品1区二区| 少妇熟女1区2区3区| 亚洲精品欧洲精品| 日韩国产欧美伦理在线| 91国精产品| 中文字幕一区日韩精| 天天欧美| 黑丝少妇麻豆| 艹精品| 我爱操| 99热综合在线| 国产乱色国产精品免费视| 风骚少妇视频中文字幕| 久久久网站| 国产精品懂色tv影视免费观看| 四虎AV影视国产精品亚洲精品| www..com操老师| 日韩91网| 99re这里只有精品3| 丁香六月激情| 人妻娇喘 激情视频| 亚洲AV无码| 成人a大片在线观看| 欧美另类丝袜熟女| 亚洲日韩av一区二区三区百合| 欧美一级A片不卡视频。| 黑白配性爱AV成| 色av中文字| 国产欧美岛国精品一区| 三四中文字幕| 神马久久69| 欧美后进式| 国产精品无码av| 69精品| 韩国毛片一区二区三区| 狼天天狼天天大香蕉| xxx0国产在线播放| 蜜臀视频网站| 久久华人网| 一区二区精品更新提醒| 久久人人爽人人爽人人片Ⅴ| 91精品国产91久久福利| 亚洲欧美内射| 久久精品72| 首页亚洲国产高跟丝袜诱惑视频| 亚洲国产91精品一区二区久久| 精品少妇一区二区| 蜜臀久久99精品| 国产黄a三级三级三级av在线看 | 色97综合中文字幕| 大香蕉免| 免费视频无码| 日本一区二区三区四区免费观看| 国产精品96| 美女91网址 | 日韩人妻免费精品| 岛国1区2区3区在线观看| 国产农村妇女毛片精品久久| 韩日巨乳美女免费视频在线观看| 亚洲综合小说另类图欧美视频激情小说色五月天 | 骚逼高潮久久精品| 91天堂色男人的天堂| 黄视频免费| 2019天天干| 国产激情在线| 影音资源男人日韩| 麻豆国产成人精品| 曰本精品久久久| 久久黄黄| 欧美亚洲日韩人妻在线观看| 国产精品久久成人免费| 另类TS人妖一区二区三区| 欧美v日韩v亚洲v最新在线| 99re视频在线播放青草| 在线播放中文字幕| 五月天加勒比啪| 人人超碰在线观看黄| 欧美人妻二区三区| 超碰亚洲欧美日韩无| 国产玖玖| 91色情黑丝搞鸡在线观看一区二区三区三州| 伊人久久大香线蕉无码| 久久精品国产99精品亚洲蜜...| 青娱乐999| 91天天| 国产精品视频内谢女人| 亚州综合色| 亚洲综合20p| 九九九九国产| 少妇一区二区三区高速| 激情AV| 97任你吞精| 久久精视频美日韩在线视频| 人妻 中文 日韩| 在线A日本| 日韩亚洲精品一区二区| 超碰成人公开| 人人看欧美性爱| 亚洲成a人在线观看久| 国产精品婬乱一级毛片彝族| 大香蕉专区| 欧美成人黄网色网站| 国产综合操逼高清| 久久婷婷伊人| 又黑又大又粗| 日本少妇va7777| 亚洲区限制级| 国产自产22区| 国产精品久久久亚洲第一牛牛_在线观看 | 伦理日韩国产久久|