
โครงการนี้มีแอสเซมบลี. NET ต่างๆที่มีฟังก์ชั่น p/เรียกใช้อินเตอร์เฟส enums และโครงสร้างจากไลบรารี Windows แต่ละแอสเซมบลีเกี่ยวข้องกับห้องสมุดที่เกี่ยวข้องอย่างแน่นหนาหนึ่งหรือไม่กี่ ตัวอย่างเช่น shlwapi.dll มีฟังก์ชั่นที่ส่งออกทั้งหมดจาก shlwapi.lib; Kernel32.dll มีทั้งเคอร์เนล 32.lib และ kernelbase.lib
แอสเซมบลีทั้งหมดมีให้ผ่าน NUGET และจัดเตรียมการสร้างกับ. NET 4.5, 4.8, 5.0, 6.0, 7.0, 8.0, .NET Standard 2.0, Core 3.1 และ Support Sourcelink ส่วนขยายมีให้สำหรับโครงการ Winforms, WPF และ UWP หากคุณต้องการการสนับสนุนสำหรับรุ่น. NET อื่น ๆ ให้ดูรุ่น 3.3.15 และก่อนหน้านี้
โครงการนี้เปิดตัวเวอร์ชันใหม่ทุกสองสามสัปดาห์หลังจากการทดสอบที่เพียงพอ รีลีสใหม่จะถูกจัดทำรายการพร้อมกับบันทึกย่อการเปิดตัวในส่วนการเปิดตัวและแพ็คเกจ NuGet ทั้งหมดจะเผยแพร่ไปยัง nuget.org GitHub Push แต่ละครั้งจะสร้างการสร้าง Appveyor เจ้าของขอบคุณพวกเขาสำหรับบัญชีโอเพนซอร์ซฟรี! สถานะของการสร้างนั้นอยู่ในส่วนหัวของหน้านี้ แพ็คเกจ NUGET จากงานสร้างเหล่านั้นมีให้เพื่อการทดสอบในแหล่งข้อมูลโครงการ NUGET ของ AppVeyor ที่ https://ci.appveyor.com/nuget/vanara-perelease
var bret = Vanara.PInvoke.Kernel32.GetComputerName(sb, ref sbSz); using static Vanara.PInvoke.Kernel32;
var bret = GetComputerName(sb, ref sbSz);
Vanara.PInvoke.Gdi32.dll เป็นเจ้าภาพการทำงานทั้งหมดและสนับสนุนการแจกแจงค่าคงที่และโครงสร้างที่ส่งออกจาก gdi32.dll ในไดเรกทอรีระบบ)Vanara.Core หรือ Vanara.PInvoke.SharedHIWORD และ SIZE โครงสร้างทั้งใน Vanara.PInvoke.Shared และคลาสเพื่อลดความซับซ้อนของการโทรระหว่างกันและการจัดการหน่วยความจำดั้งเดิมอยู่ใน Vanara.Core )Vanara.PInvoke.Kernel32 คุณจะพบไฟล์ fileapi.cs, winbase.cs และไฟล์ winnt.cs ที่เป็นตัวแทนของ fileapi.h, winbase.h และ winnt.h ตามลำดับ)IDisposableSafeHandle ที่ตั้งชื่อตาม Windows API Handle หากมือจับเหล่านั้นต้องการการเรียกใช้ฟังก์ชั่นเพื่อปลด/ปิด/ทำลายจะมี SafeHANDLE ที่ได้รับมาซึ่งมีการใช้งานฟังก์ชั่นนั้นในการกำจัดHTOKEN ถูกกำหนด SafeHTOKEN สร้างขึ้นบนด้ามจับนั้นด้วยการเรียกใช้งานการโทร CloseHandle อัตโนมัติVanara.PInvokein ซึ่งจะส่งผ่านโครงสร้างโดยการอ้างอิงโดยไม่ต้องใช้คำหลัก refBOOL MapDialogRect(HWND hDlg, LPRECT lpRect)bool MapDialogRect(HWND hDlg, in RECT lpRect);Vanara แล้วตามด้วยชื่อเชิงตรรกะสำหรับฟังก์ชันการทำงาน วันนี้นั่นคือหลัก, ความปลอดภัย, Systemservices, Windows.forms และ Windows.shell | ห้องสมุด/DLL | การประกอบ | ความครอบคลุม | ลิงค์ NuGet |
|---|---|---|---|
| aclui.dll | vanara.pinvoke.aclui | ||
| actives.dll | vanara.pinvoke.activeds | ||
| advapi32.dll, secur32.dll, authz.dll, sspicli.dll, schannel.dll, tdh.dll | vanara.pinvoke.Security | ||
| amsi.dll | vanara.pinvoke.amsi | ||
| avicap32.dll, avifil32.dll, msacm32.dll, msvfw32.dll, winmm.dll | vanara.pinvoke.multimedia | ||
| avrt.dll | vanara.pinvoke.avrt | ||
| cabinet.dll | vanara.pinvoke.cabinet | ||
| cfgmgr32.dll | vanara.pinvoke.cfgmgr32 | ||
| cimfs.dll | vanara.pinvoke.cimfs | ||
| cldapi.dll | vanara.pinvoke.cldapi | ||
| clfsw32.dll | vanara.pinvoke.clfsw32 | ||
| comctl32.dll | vanara.pinvoke.comctl32 | ||
| comdlg32.dll | vanara.pinvoke.comdlg32 | ||
| credui.dll | vanara.pinvoke.credui | ||
| crypt32.dll, bcrypt.dll, ncrypt.dll, tokenbinding.dll, cryptui.dll, cryptnet.dll, cryptdlg.dll | vanara.pinvoke.cryptography | ||
| d2d1.dll | vanara.pinvoke.direct2d | ||
| d3d11.dll, d3dcsx.dll, d3d11sdklayers.dll | vanara.pinvoke.direct3d11 | ||
| d3d12.dll | vanara.pinvoke.direct3d12 | ||
| d3dcompiler_47.dll | vanara.pinvoke.d3dcompiler | ||
| davclnt.dll | vanara.pinvoke.davclnt | ||
| dbghelp.dll, imagehlp.dll | vanara.pinvoke.dbghelp | ||
| dhcpcsvc6.dll, dhcpcsvc.dll | vanara.pinvoke.dhcp | ||
| dnsapi.dll | vanara.pinvoke.dnsapi | ||
| dosvc.dll | vanara.pinvoke.dosvc | ||
| drt.dll, drtprov.dll, drttransport.dll | vanara.pinvoke.drt | ||
| dstorage.dll | vanara.pinvoke.dstorage | ||
| dwmapi.dll | vanara.pinvoke.dwmapi | ||
| dwrite.dll | vanara.pinvoke.dwrite | ||
| dxcore.dll | vanara.pinvoke.dxcore | ||
| dxgi.dll | vanara.pinvoke.dxgi | ||
| ehstorapi.dll | vanara.pinvoke.enhancedstorage | ||
| elscore.dll | vanara.pinvoke.elscore | ||
| fhsvcctl.dll | vanara.pinvoke.fhsvcctl | ||
| Firewallapi.dll | vanara.pinvoke.firewallapi | ||
| fundisc.dll | vanara.pinvoke.fundisc | ||
| fwpuclnt.dll | vanara.pinvoke.fwpuclnt | ||
| gdi32.dll | vanara.pinvoke.gdi32 | ||
| httpapi.dll | vanara.pinvoke.httpapi | ||
| iMapi2.dll, iMapi2fs.dll | vanara.pinvoke.imapi | ||
| IMM32.dll | vanara.pinvoke.imm32 | ||
| iphlpapi.dll | vanara.pinvoke.iphlpapi | ||
| iScsidsc.dll | vanara.pinvoke.iscsidsc | ||
| Kernel32.dll, kernelbase.dll, normaliz.dll, vertdll.dll | vanara.pinvoke.kernel32 | ||
| ktmw32.dll | vanara.pinvoke.ktmw32 | ||
| lz32.dll | vanara.pinvoke.lz32 | ||
| กำลังขยาย | vanara.pinvoke.magnification | ||
| mmdevapi.dll | vanara.pinvoke.coreaudio | ||
| mpr.dll | vanara.pinvoke.mpr | ||
| msctf.dll, input.dll, msimtf.dll | vanara.pinvoke.textservicesframework | ||
| msftedit.dll, riched20.dll | vanara.pinvoke.msftedit | ||
| msi.dll | vanara.pinvoke.msi | ||
| msrdc.dll | vanara.pinvoke.msrdc | ||
| ndfapi.dll | vanara.pinvoke.ndfapi | ||
| netapi32.dll | vanara.pinvoke.netapi32 | ||
| netprofm.dll | vanara.pinvoke.netlistmgr | ||
| newdev.dll | vanara.pinvoke.newdev | ||
| ntdll.dll | vanara.pinvoke.ntdll | ||
| ntdsapi.dll | vanara.pinvoke.ntdsapi | ||
| ODBC32.dll | vanara.pinvoke.odbc32 | ||
| ole32.dll, oleaut32.dll, propsys.dll | vanara.pinvoke.ole | ||
| oleacc.dll | vanara.pinvoke.Accessibility | ||
| OLEDB.DLL | vanara.pinvoke.oledb | ||
| oledlg.dll | vanara.pinvoke.oledlg | ||
| opcservices.dll | vanara.pinvoke.opc | ||
| p2p.dll | vanara.pinvoke.p2p | ||
| pdh.dll | vanara.pinvoke.pdh | ||
| peerdist.dll | vanara.pinvoke.peerdist | ||
| photoacq.dll | vanara.pinvoke.photoacquire | ||
| portabledeviceapi.dll, portabledeviceConnectapi.dll, portabledevicetypes.dll | vanara.pinvoke.portabledeviceapi | ||
| powrprof.dll | vanara.pinvoke.powrprof | ||
| Projectedfslib.dll | vanara.pinvoke.projectedfslib | ||
| qmgr.dll | vanara.pinvoke.bits | ||
| qwave.dll, traffic.dll | vanara.pinvoke.qos | ||
| rpcrt4.dll | vanara.pinvoke.rpc | ||
| rstrtmgr.dll | vanara.pinvoke.rstrtmgr | ||
| การค้นหา | vanara.pinvoke.searchapi | ||
| sensorsapi.dll | vanara.pinvoke.sensorsapi | ||
| setupapi.dll | vanara.pinvoke.setupapi | ||
| shcore.dll | vanara.pinvoke.shcore | ||
| shell32.dll, url.dll | vanara.pinvoke.shell32 | ||
| shlwapi.dll | vanara.pinvoke.shlwapi | ||
| taskschd.dll, mstask.dll | vanara.pinvoke.taskschd | ||
| uianimation.dll | vanara.pinvoke.uianimation | ||
| uiautomationcore.dll | vanara.pinvoke.uiautomation | ||
| urlmon.dll | vanara.pinvoke.urlmon | ||
| user32.dll | vanara.pinvoke.user32 | ||
| userenv.dll | vanara.pinvoke.userenv | ||
| usp10.dll | vanara.pinvoke.usp10 | ||
| uxtheme.dll | vanara.pinvoke.uxtheme | ||
| version.dll | vanara.pinvoke.version | ||
| virtdisk.dll | vanara.pinvoke.virtdisk | ||
| vssapi.dll | vanara.pinvoke.vssapi | ||
| wcmapi.dll | vanara.pinvoke.wcmapi | ||
| wcnapi.dll | vanara.pinvoke.wcnapi | ||
| websocket.dll | vanara.pinvoke.websocket | ||
| wer.dll | vanara.pinvoke.wer | ||
| winbio.dll | vanara.pinvoke.winbio | ||
| winhttp.dll | vanara.pinvoke.winhttp | ||
| wininet.dll | vanara.pinvoke.wininet | ||
| winscard.dll | vanara.pinvoke.winscard | ||
| winspool.drv, prntvpt.dll | vanara.pinvoke.printing | ||
| wintrust.dll | vanara.pinvoke.wintrust | ||
| wlanapi.dll, wlanui.dll | vanara.pinvoke.wlanapi | ||
| ws2_32.dll | vanara.pinvoke.ws2_32 | ||
| wscapi.dll | vanara.pinvoke.wscapi | ||
| wslapi.dll | vanara.pinvoke.wslapi | ||
| wsmsvc.dll | vanara.pinvoke.wsmsvc | ||
| wtsapi32.dll | vanara.pinvoke.wtsapi32 | ||
| wuapi.dll | vanara.pinvoke.wuapi |
| การประกอบ | ลิงค์ NuGet | คำอธิบาย |
|---|---|---|
| vanara.bits | เสร็จสมบูรณ์ ให้การเข้าถึงฟังก์ชั่นไลบรารีทั้งหมดผ่าน Windows 11 และล้มเหลวอย่างสง่างามเมื่อไม่มีคุณสมบัติใหม่ในเวอร์ชัน OS รุ่นเก่า | |
| vanara.core | ห้องสมุดนี้มีวิธีการที่ใช้ร่วมกันโครงสร้างและค่าคงที่สำหรับการใช้งานตลอดทั้งชุดประกอบวารา คิดว่ามันเป็น windows.h ที่มีส่วนขยายที่มีประโยชน์ มันรวมถึง:
| |
| vanara.directoryservices | คลาส wrapper รอบ ๆ วิธีการโฆษณาและอินเตอร์เฟสของ Win32 เพื่อให้การเข้าถึง Active Directory และการเรียกใช้บริการไดเรกทอรีอื่น ๆ | |
| Vanara.Management | ส่วนขยายและคลาสผู้ช่วยสำหรับระบบการจัดการ | |
| vanara.net | คลาสที่เป็นนามธรรมเกี่ยวกับฟังก์ชั่นเครือข่าย Win32 เพื่อให้การเข้าถึงความสามารถในการเชื่อมต่อเครือข่ายที่ง่ายและมุ่งเน้นวัตถุเช่น DNS, DHCP, การกรอง, การเข้าถึงและการค้นพบ | |
| vanara.pinvoke.directx | Pinvoke API (วิธีการอินเทอร์เฟซโครงสร้างและค่าคงที่) นำเข้าจาก DirectX | |
| vanara.pinvoke.shared | วิธีการที่ใช้ร่วมกันโครงสร้างและค่าคงที่สำหรับการใช้งานตลอดทั้งชุดประกอบ Vanara.pinvoke รวมถึง:
| |
| vanara.pinvoke.spellcheckingapi | Pinvoke API (วิธีการโครงสร้างและค่าคงที่) นำเข้าจากการตรวจสอบการสะกดคำ Windows API | |
| vanara.security | คลาสสำหรับรายการที่เกี่ยวข้องกับความปลอดภัยที่ได้จากห้องสมุด Vanara Pinvoke รวมถึงวิธีการขยายสำหรับคลาส Active Directory และ Access Control, วิธีการทำงานกับบัญชี, UAC, สิทธิ์, การเข้าถึงระบบ, การแอบอ้างและ SIDS และ Wrapper LSA เต็มรูปแบบ | |
| Vanara.SystemServices | คลาสสำหรับรายการที่เกี่ยวข้องกับระบบที่ได้จากห้องสมุด Vanara Pinvoke รวมถึงส่วนขยายสำหรับกระบวนการ (สิทธิพิเศษและ elavation), fileInfo (ข้อมูลการบีบอัด), ไดรฟ์เครือข่ายและอุปกรณ์ที่ใช้ร่วมกันและ ServiceController (SetStartType) ที่ดึงข้อมูลเพิ่มเติมผ่านการโทร API ดั้งเดิม | |
| vanara.virtualdisk | .NET คลาสเพื่อจัดการ Windows Virtual Storage (VHD และ VHDX) โดยใช้ฟังก์ชั่น p/revoke จาก virtdisk.dll | |
| vanara.windows.extensions | วิธีการขยายและการแปลงจาก Vanara P/เรียกใช้ประเภทและวิธีการไปยังประเภทและวิธีการแบบฟอร์ม Windows | |
| vanara.windows.forms | คลาสสำหรับรายการที่เกี่ยวข้องกับอินเทอร์เฟซผู้ใช้ที่ได้มาจากไลบรารี Vanara Pinvoke รวมถึงส่วนขยายสำหรับการควบคุมทั่วไปเกือบทั้งหมดเพื่อให้ความสามารถในการโพสต์ Vista, การควบคุม winforms (พาเนล, CommandLink, กล่องคอมโบที่ปรับปรุงแล้ว, iPaddress, ปุ่มแยก, แทร็กบาร์และการควบคุมธีม), การควบคุม/รีสตาร์ท/ล็อค, การทาสีบัฟเฟอร์, ไฟล์ทรัพยากร | |
| vanara.windows.shell.Common | คลาสทั่วไปสำหรับรายการเชลล์ Windows ที่ได้มาจากห้องสมุด Vanara Pinvoke รวมรายการเชลล์ไฟล์ไอคอนลิงค์และรายการแถบงาน | |
| vanara.windows.shell | คลาสสำหรับรายการเชลล์ Windows ที่ได้จากห้องสมุด Vanara Pinvoke รวมรายการเชลล์ไฟล์ไอคอนลิงค์และรายการแถบงาน | |
| vanara.winui.extensions | วิธีการขยายและการแปลงจากประเภทและวิธีการเรียกใช้ Vanara p/revoke ไปยังประเภทและวิธีการของ UWP และ Winui | |
| vanara.wpf.extensions | วิธีการขยายและการแปลงจาก Vanara P/เรียกใช้ประเภทและวิธีการเป็นประเภทและวิธีการของ WPF |
มีตัวอย่างมากมายในโฟลเดอร์ Unittest และในโครงการ Winclassicsicsamplescs ที่สร้างตัวอย่าง Windows ใน C# โดยใช้ Vanara