
Этот проект содержит различные сборки .NET, которые содержат функции P/Invoke, интерфейсы, перечисления и структуры из библиотек Windows. Каждая сборка связана с одной или несколькими тесно связанными библиотеками. Например, shlwapi.dll имеет все экспортируемые функции от shlwapi.lib; Kernel32.dll имеет все для kernel32.lib и kernelbase.lib.
Все сборки доступны через Nuget и обеспечивают сборки против .NET 4.5, 4.8, 5.0, 6.0, 7.0, 8.0, .net Standard 2.0, Core 3.1 и поддержка Siscelink. Расширения доступны для проектов Winforms, WPF и UWP. Если вам нужна поддержка других версий .NET, посмотрите на версии 3.3.15 и раньше.
Этот проект выпускает новые версии каждые несколько недель после достаточного тестирования. Новые выпуски каталогизируются, наряду с заметками в выпуске, в разделе «Выпуск», и все пакеты Nuget опубликованы на nuget.org. Каждый толчок GitHub запускает сборку приложения. Владельцы благодарят их за бесплатную учетную запись с открытым исходным кодом! Статус этой сборки находится в заголовке этой страницы. Пакеты Nuget из этих сборки доступны для тестовых целей на источнике Project Nuget's 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.Shared .HIWORD и SIZE структуры находится в Vanara.PInvoke.Shared и классах, чтобы упростить вызовы взаимодействия, а управление нативными памятью находится в Vanara.Core .)Vanara.PInvoke.Kernel32 вы найдете файл fileapi.cs, winbase.cs и файл winnt.cs, представляющий fileapi.h, winbase.h и winnt.h соответственно.)IDisposable .SafeHandle , названные в честь рукоятки API Windows. Если эти ручки требуют вызова функции для освобождения/закрытия/уничтожения, существует производная SafeHANDLE , которая выполняет эту функцию в утилизации.HTOKEN определяется. SafeHTOKEN опирается на эту ручку с автоматизированным выпуском CloseHandle .Vanara.PInvoke .in , который будет передавать структуру ссылкой, не требуя ключевого слова ref .BOOL MapDialogRect(HWND hDlg, LPRECT lpRect)bool MapDialogRect(HWND hDlg, in RECT lpRect);Vanara , а затем следует логическое название для функциональности. Сегодня это ядро, безопасность, системные сервисы, Windows.forms и Windows.shell. | Библиотека/DLL | Сборка | Покрытие | NUGET LINK |
|---|---|---|---|
| aclui.dll | Vanara.pinvoke.aclui | ||
| Activeds.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 | ||
| шкаф | 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.cendhanceStorage | ||
| 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.cernel32 | ||
| KTMW32.dll | Vanara.pinvoke.ktmw32 | ||
| LZ32.dll | Vanara.pinvoke.lz32 | ||
| увеличение.dll | 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.cessupability | ||
| 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 | ||
| Проект | Vanara.pinvoke.projectedfslib | ||
| qmgr.dll | Vanara.pinvoke.bits | ||
| qwave.dll, трафик.dll | Vanara.pinvoke.qos | ||
| RPCRT4.dll | Vanara.pinvoke.rpc | ||
| Rstrtmgr.dll | Vanara.pinvoke.rstrtmgr | ||
| Searchapi | 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 | ||
| Версия.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 LINK | Описание |
|---|---|---|
| Vanara.bits | Полное покрытие .NET FUNALATIONAL INFUFALITION FOUNALITION FOUNALITION FOURINAL SERVICE SERVICE SERVICE) Windows BITS (фоновая интеллектуальная передача. Обеспечивает доступ ко всем библиотечным функциям через Windows 11 и изящно проходит, когда новые функции не доступны в старых версиях ОС. | |
| Vanara.core | Эта библиотека включает в себя общие методы, структуры и константы для использования на всем собраниях Ванара. Думайте об этом как Windows.h с некоторыми полезными расширениями. Он включает в себя:
| |
| Vanara.directoryservices | Классы обертки вокруг Win32 Ads Methods and Interfaces для обеспечения упрощенного и объектно-ориентированного доступа к Active Directory и другим звонкам службы каталогов. | |
| Ванара. Управление | Расширения и вспомогательные классы для системы. Управление. | |
| Vanara.net | Аннотация классы вокруг сетевых функций Win32 для обеспечения упрощенного и объектно-ориентированного доступа к ключевым сетевым возможностям, таким как DNS, DHCP, фильтрация, доступ и обнаружение. | |
| Vanara.pinvoke.directx | Pinvoke API (методы, интерфейсы, структуры и константы), импортируемые из DirectX. | |
| Vanara.pinvoke.shared | Общие методы, структуры и константы для использования по всей сборочной площадке Vanara.pinvoke. Включает в себя:
| |
| Vanara.pinvoke.spellcheckingapi | Pinvoke API (методы, структуры и константы), импортируемые из API проверки заклинаний Windows. | |
| Vanara.security | Занятия для предметов, связанных с безопасностью, полученными из библиотек Pinvoke Vanara. Включает в себя методы расширения для классов Active Directory и контроля доступа, методы работы с учетными записями, UAC, привилегией, доступа к систему, подражания и СВДС, а также полной обертки LSA. | |
| Vanara.systemservices | Классы для системных элементов, полученных из библиотек Pinvoke Vanara. Включает расширения для процесса (привилегии и элавация), FileInfo (информация о сжатии), общие сетевые диски и устройства, а также ServiceController (setStartType), которые получают расширенную информацию через нативные вызовы API. | |
| Vanara.virtualdisk | .NET классы для управления Windows Virtual Storage (VHD и VHDX) с использованием функций P/invoke от virtdisk.dll. | |
| Vanara.windows.extensions | Методы расширения и преобразования из типов и методов VANARA P/Invoke в типы и методы Windows. | |
| Vanara.windows.forms | Классы для элементов, связанных с пользовательским интерфейсом, полученными из библиотек Pinvoke Vanara. Включает расширения для почти всех общих элементов управления для предоставления возможностей Post Vista, элементов управления Winforms (панель, Commandlink, улучшенные комбо -коробки, iPaddress, кнопку Split, Trackbar и тематические элементы управления), управление Shutdown/Restart/Lock, буферизованная живопись, файлы ресурсов, редактор управления доступом, упрощенные проектные основы для Windows.forms. | |
| Vanara.windows.shell.common | Общие классы для предметов оболочки Windows, полученные из библиотек Pinvoke Vanara. Включает элементы оболочки, файлы, значки, ссылки и списки панелей задач. | |
| Vanara.windows.shell | Занятия для предметов оболочки Windows, полученные из библиотек Pinvoke Vanara. Включает элементы оболочки, файлы, значки, ссылки и списки панелей задач. | |
| Vanara.winui.extensions | Методы расширения и преобразования от типов и методов Vanara P/вызов в типы и методы UWP и Winui. | |
| Vanara.wpf.extensions | Методы расширения и конверсии от типов и методов Vanara P/вызов в типы и методы WPF. |
В папке Unittest есть многочисленные примеры и в проекте WinclassicsAmplescs, который воссоздает образцы Windows в C# с использованием vanara.