
Este proyecto contiene varios ensamblados .NET que contienen funciones de P/Invoca, interfaces, enumines y estructuras de las bibliotecas de Windows. Cada ensamblaje está asociado con una o unas pocas bibliotecas estrechamente relacionadas. Por ejemplo, shlwapi.dll tiene todas las funciones exportadas de shlwapi.lib; Kernel32.dll tiene todo para kernel32.lib y kernelbase.lib.
Todos los ensamblajes están disponibles a través de NUGET y proporcionan compilaciones contra .NET 4.5, 4.8, 5.0, 6.0, 7.0, 8.0, .NET Standard 2.0, Core 3.1 y Soporte Sourcelink. Las extensiones están disponibles para proyectos WinForms, WPF y UWP. Si necesita soporte para otras versiones de .NET, busque las versiones 3.3.15 y anteriores.
Este proyecto publica nuevas versiones cada pocas semanas después de suficientes pruebas. Se catalogan las nuevas versiones, junto con las notas de lanzamiento, en la sección de versiones y todos los paquetes Nuget se publican en Nuget.org. Cada empuje de GitHub desencadena una compilación de Appveyor. ¡Los propietarios les agradecen por la cuenta gratuita de código abierto! El estado de esa construcción está en el encabezado de esta página. Los paquetes Nuget de esas compilaciones están disponibles para fines de prueba en la fuente Nuget del Proyecto de Appveyor en https://ci.appveyor.com/nuget/vanara-preelease.
var bret = Vanara.PInvoke.Kernel32.GetComputerName(sb, ref sbSz); using static Vanara.PInvoke.Kernel32;
var bret = GetComputerName(sb, ref sbSz);
Vanara.PInvoke.Gdi32.dll aloja todas las funciones y enumeraciones, constantes y estructuras que se exportan desde gdi32.dll en el directorio del sistema).Vanara.Core o Vanara.PInvoke.Shared .HIWORD y el SIZE de la estructura se encuentran en Vanara.PInvoke.Shared y las clases para simplificar las llamadas de interoperabilidad y la gestión de la memoria nativa están en Vanara.Core ).Vanara.PInvoke.Kernel32 , encontrará un fileapi.cs, un winbase.cs y un archivo winnt.cs que representa a fileapi.h, winbase.h y winnt.h respectivamente).IDisposable .SafeHandle que llevan el nombre del mango de la API de Windows. Si esos mangos requieren una llamada a una función para liberar/cerrar/destruir, existe un SafeHANDLE derivado que realiza esa función en la eliminación.HTOKEN . SafeHTOKEN se basa en ese manejo con una versión automatizada que llama CloseHandle .Vanara.PInvoke .in que pasará la estructura por referencia sin requerir la palabra clave ref .BOOL MapDialogRect(HWND hDlg, LPRECT lpRect)bool MapDialogRect(HWND hDlg, in RECT lpRect);Vanara y luego seguidos de un nombre lógico para la funcionalidad. Hoy, esos son centrales, seguridad, servicios de sistemas, windows.forms y windows.shell. | Biblioteca/DLL | Asamblea | Cobertura | Enlace nuget |
|---|---|---|---|
| aclui.dll | Vanara.pinvoke.aclui | ||
| actives.dll | Vanara.pinvoke.actives | ||
| 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 | ||
| gabinete.dll | Vanara.pinvoke.cabinet | ||
| Cfgmgr32.dll | Vanara.pinvoke.cfgmgr32 | ||
| cimfs.dll | Vanara.pinvoke.cimfs | ||
| Cladapi.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 | ||
| dstoraz.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.AnhancedStorage | ||
| 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 | ||
| aumento.dll | Vanara.pinvoke.magnificación | ||
| 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.mftedit | ||
| 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.accesibilidad | ||
| 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 | ||
| fotoacq.dll | Vanara.pinvoke.photoacquire | ||
| PortableViceapi.dll, PortableViceconnectapi.dll, PortableVicetypes.dll | Vanara.pinvoke.portableviceapi | ||
| powrprof.dll | Vanara.pinvoke.powrprof | ||
| Projectedfslib.dll | Vanara.pinvoke.projectedfslib | ||
| qmgr.dll | Vanara.pinvoke.bits | ||
| qwave.dll, tráfico.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 | ||
| uanimation.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 | ||
| Versión.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.er | ||
| 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.impresión | ||
| 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 |
| Asamblea | Enlace nuget | Descripción |
|---|---|---|
| Vanara.bits | Cobertura .NET completa de la funcionalidad de Windows Bits (Servicio de transferencia inteligente de fondo) de Windows. Proporciona acceso a todas las funciones de la biblioteca a través de Windows 11 y falla con gracia cuando las nuevas características no están disponibles en versiones del sistema operativo anterior. | |
| Vanara.core | Esta biblioteca incluye métodos, estructuras y constantes compartidas para su uso en los conjuntos de Vanara. Piense en ello como Windows.h con algunas extensiones útiles. Incluye:
| |
| Vanara.DirectoryServices | Clases de envoltura alrededor de los métodos e interfaces de anuncios WIN32 para proporcionar un acceso simplificado y orientado a objetos a Active Directory y otras llamadas de servicio de directorio. | |
| Vanara. Management | Extensiones y clases auxiliares para el sistema. Management. | |
| Vanara.net | Clases abstraídas alrededor de las funciones de red WIN32 para proporcionar un acceso simplificado y orientado a objetos a capacidades de red clave como DNS, DHCP, filtrado, acceso y descubrimiento. | |
| Vanara.pinvoke.directx | API de Pinvoke (métodos, interfaces, estructuras y constantes) importada de DirectX. | |
| Vanara.pinvoke.shared | Métodos, estructuras y constantes compartidas para su uso en los conjuntos de Vanara.Pinvoke. Incluye:
| |
| Vanara.pinvoke.spellcheckingapi | API de Pinvoke (métodos, estructuras y constantes) importada de la API de control de hechizos de Windows. | |
| Vanara. Security | Clases para artículos relacionados con la seguridad derivados de las bibliotecas de Vanara Pinvoke. Incluye métodos de extensión para clases de control Active Directory y Access, métodos para trabajar con cuentas, UAC, privilegios, acceso al sistema, suplantación y SMSM, y un envoltorio LSA completo. | |
| Vanara.systemservices | Clases para artículos relacionados con el sistema derivados de las bibliotecas de Vanara Pinvoke. Incluye extensiones para el proceso (privilegios y elavación), FileInfo (información de compresión), unidades y dispositivos de red compartidas y servicios de servicio (setStartType) que extraen información extendida a través de llamadas de API nativas. | |
| Vanara.virtualDisk | Clases .NET para administrar el almacenamiento virtual de Windows (VHD y VHDX) utilizando funciones P/Invoke de virtDisk.dll. | |
| Vanara.windows.extensions | Métodos de extensión y conversiones de tipos y métodos de Vanara P/Invoke a los tipos y métodos de formularios de Windows. | |
| Vanara.Windows.Forms | Clases para elementos relacionados con la interfaz de usuario derivados de las bibliotecas de Vanara Pinvoke. Incluye extensiones para casi todos los controles comunes para dar capacidades posteriores a Vista, controles de Winforms (panel, control de comandos, cuadros combinados mejorados, iPaddress, botón dividido, TrackBar y controles temáticos), control de cierre/reinicio/bloqueo, pintura buffed, archivos de recursos, editor de control de acceso, marcado simplificado de diseñadores para Windows.forms. | |
| Vanara.windows.shell.common | Clases comunes para artículos de Shell Windows derivados de las bibliotecas de Vanara Pinvoke. Incluye elementos de shell, archivos, iconos, enlaces y listas de barras de tareas. | |
| Vanara.Windows.Shell | Clases para artículos de shell de Windows derivados de las bibliotecas de Vanara Pinvoke. Incluye elementos de shell, archivos, iconos, enlaces y listas de barras de tareas. | |
| Vanara.winui.extensions | Métodos de extensión y conversiones de tipos y métodos de Vanara P/Invoke a los tipos y métodos de UWP y Winui. | |
| Vanara.wpf.extensions | Métodos de extensión y conversiones de tipos y métodos de Vanara P/Invoke a los tipos y métodos de WPF. |
Existen numerosos ejemplos en la carpeta Unittest y en el proyecto WinClassicsAMPleScs que recrea las muestras de Windows en C# usando Vanara.