
Este projeto contém vários conjuntos .NET que contêm funções, interfaces, enumes e estruturas P/Invoke P/Invoco das bibliotecas do Windows. Cada montagem está associada a uma ou algumas bibliotecas bem relacionadas. Por exemplo, shlwapi.dll possui todas as funções exportadas do shlwapi.lib; Kernel32.dll possui tudo para Kernel32.lib e Kernelbase.lib.
Todos os conjuntos estão disponíveis via Nuget e fornecem construções contra .NET 4.5, 4.8, 5.0, 6.0, 7.0, 8.0, .NET Standard 2.0, Core 3.1 e Suporte Sourcelink. Extensões estão disponíveis para projetos WinForms, WPF e UWP. Se você precisar de suporte para outras versões .NET, procure as versões 3.3.15 e anterior.
Este projeto libera novas versões a cada poucas semanas após testes suficientes. Novos lançamentos são catalogados, juntamente com as notas de lançamento, na seção de lançamentos e todos os pacotes Nuget são publicados no NuGet.org. Cada github push aciona uma construção de aplicativos. Os proprietários agradecem pela conta gratuita de código aberto! O status dessa construção está no cabeçalho desta página. Os pacotes Nuget dessas construções estão disponíveis para fins de teste na fonte Nuget do AppVeyor Nuget em https://ci.appveyor.com/nuget/vanara-prerelease.
var bret = Vanara.PInvoke.Kernel32.GetComputerName(sb, ref sbSz); using static Vanara.PInvoke.Kernel32;
var bret = GetComputerName(sb, ref sbSz);
Vanara.PInvoke.Gdi32.dll hospeda todas as funções e enumerações, constantes e estruturas que são exportadas do gdi32.dll no diretório do sistema.)Vanara.Core ou Vanara.PInvoke.Shared .HIWORD e o SIZE da estrutura estão em Vanara.PInvoke.Shared e aulas para simplificar as chamadas de interoperas e o gerenciamento de memória nativo está em Vanara.Core .)Vanara.PInvoke.Kernel32 , você encontrará um Fileapi.cs, um winbase.cs e um arquivo winnt.cs representando Fileapi.h, winbase.h e winnt.h, respectivamente.)IDisposable .SafeHandle , com o nome da alça da API do Windows. Se essas alças exigirem uma chamada para uma função para liberar/fechar/destruir, existe um SafeHANDLE derivado que executa essa função no descarte.HTOKEN é definido. SafeHTOKEN se baseia nessa alça com uma liberação automatizada chamando CloseHandle .Vanara.PInvoke .in que passará a estrutura por referência sem exigir a palavra -chave ref .BOOL MapDialogRect(HWND hDlg, LPRECT lpRect)bool MapDialogRect(HWND hDlg, in RECT lpRect);Vanara e seguidos por um nome lógico para a funcionalidade. Hoje, esses são núcleo, segurança, serviços de sistemas, Windows.forms e Windows.shell. | Biblioteca/DLL | Conjunto | Cobertura | 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 | ||
| gabinet.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.cryptografia | ||
| 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 | ||
| ampliação.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.accessibilidade | ||
| 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 | ||
| portableDeveCeapi.dll, portableDeviceConnectApi.dll, portableDevicetypes.dll | Vanara.pinvoke.portabledEvicEapi | ||
| Powrprof.dll | Vanara.pinvoke.powrprof | ||
| Projetedfslib.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 | ||
| 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.Userrenv | ||
| USP10.DLL | Vanara.pinvoke.usp10 | ||
| uxtheme.dll | Vanara.pinvoke.uxtheMe | ||
| Versão.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.wiHttp | ||
| wininet.dll | Vanara.pinvoke.wininet | ||
| winscard.dll | Vanara.pinvoke.winscard | ||
| winspool.drv, prntvpt.dll | Vanara.pinvoke.printing | ||
| wrntrust.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 |
| Conjunto | Nuget Link | Descrição |
|---|---|---|
| Vanara.Bits | Coveralidade completa .NET de bits do Windows (funcionalidade do serviço de transferência inteligente em segundo plano). Fornece acesso a todas as funções da biblioteca através do Windows 11 e falha graciosamente quando novos recursos não estão disponíveis nas versões mais antigas do sistema operacional. | |
| Vanara.core | Esta biblioteca inclui métodos, estruturas e constantes compartilhadas para uso em todos os assemblies de Vanara. Pense nisso como Windows.h com algumas extensões úteis. Inclui:
| |
| Vanara.DirectoryServices | Classes de invólucro em torno dos métodos e interfaces de anúncios Win32 para fornecer acesso simplificado e orientado a objetos ao Active Directory e outras chamadas de serviço de diretório. | |
| Vanara.Management | Extensões e classes auxiliares para System.Management. | |
| Vanara.net | Classes abstratas em torno das funções de rede Win32 para fornecer acesso simplificado e orientado a objetos aos principais recursos de rede, como DNS, DHCP, filtragem, acesso e descoberta. | |
| Vanara.pinvoke.directx | API Pinvoke (métodos, interfaces, estruturas e constantes) importada do DirectX. | |
| Vanara.pinvoke.shared | Métodos, estruturas e constantes compartilhadas para uso em toda a Vanara.pinvoke Assemblies. Inclui:
| |
| Vanara.pinvoke.spellCheckingApi | API Pinvoke (métodos, estruturas e constantes) importada da API de verificação de feitiços do Windows. | |
| Vanara.Security | Aulas para itens relacionados à segurança derivados das bibliotecas de Vanara Pinvoke. Inclui métodos de extensão para classes de controle do Active Directory e acesso, métodos para trabalhar com contas, UAC, privilégios, acesso ao sistema, representação e SIDS e um invólucro LSA completo. | |
| Vanara.SystemServices | Aulas para itens relacionados ao sistema derivados das bibliotecas Vanara Pinvoke. Inclui extensões para processo (privilégios e elava), FileInfo (Informações de compactação), unidades e dispositivos de rede compartilhados e ServiceController (SetStartType) que extraem informações estendidas por meio de chamadas de API nativas. | |
| Vanara.virtualDisk | Classes .NET para gerenciar o Windows Virtual Storage (VHD e VHDX) usando funções P/Invoke do VirtDisk.dll. | |
| Vanara.windows.extensions | Métodos de extensão e conversões de Vanara P/Invoke Tipos e métodos para o Windows Forms Tipos e métodos. | |
| Vanara.windows.forms | Classes para itens relacionados à interface do usuário derivados das bibliotecas Vanara Pinvoke. Inclui extensões para quase todos os controles comuns para fornecer recursos de pós -Vista, controles WinForms (painel, comandlink, caixas combinadas aprimoradas, ipaddress, botão dividido, barra de trackbar e controles temáticos), desligamento/reinicialização/controle de bloqueio, pintura em buffer, arquivos de recursos, editor de controle de acesso, estrutura de designer simplificada para Windows.forms. | |
| Vanara.windows.shell.common | Aulas comuns para itens do Windows Shell derivados das bibliotecas Vanara Pinvoke. Inclui itens de shell, arquivos, ícones, links e listas de barra de tarefas. | |
| Vanara.windows.shell | Aulas para itens do Windows Shell derivados das bibliotecas Vanara Pinvoke. Inclui itens de shell, arquivos, ícones, links e listas de barra de tarefas. | |
| Vanara.winui.Extensions | Métodos de extensão e conversões de tipos e métodos de Vanara P/Invoke para Tipos e Métodos UWP e Unoi. | |
| Vanara.wpf.extensions | Métodos de extensão e conversões de Vanara P/Invoke Tipos e métodos para tipos e métodos WPF. |
Existem inúmeros exemplos na pasta mais unitter e no projeto WinclassicsicSamplescs que recria as amostras do Windows em C# usando Vanara.