
이 프로젝트에는 P/Invoke 기능, 인터페이스, 열거 및 Windows 라이브러리의 구조가 포함 된 다양한 .NET 어셈블리가 포함되어 있습니다. 각 어셈블리는 하나 또는 몇 개의 단단한 관련 라이브러리와 관련이 있습니다. 예를 들어, 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에 대한 빌드를 제공하며 Sourcelink를 지원합니다. Winforms, WPF 및 UWP 프로젝트에는 확장 기능이 제공됩니다. 다른 .NET 버전을 지원 해야하는 경우 3.3.15 이상 버전을 살펴보십시오.
이 프로젝트는 충분한 테스트 후 몇 주마다 새로운 버전을 출시합니다. 릴리스 섹션에서 릴리스 노트와 함께 새로운 릴리스가 카탈로그되고 모든 Nuget 패키지는 nuget.org에 게시됩니다. 각 GitHub 푸시 푸시는 앱베이어 빌드를 트리거합니다. 소유자는 무료 오픈 소스 계정에 감사드립니다! 해당 빌드의 상태는이 페이지의 헤더에 있습니다. 이러한 빌드의 NUGET 패키지는 Appveyor의 Project Nuget Source (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 시스템 디렉토리에서 gdi32.dll 에서 내보낸 모든 기능 및 지원 열거, 상수 및 구조를 호스팅합니다.)Vanara.Core 또는 Vanara.PInvoke.Shared 에 넣습니다.HIWORD 와 구조 SIZE 는 Vanara.PInvoke.Shared 및 클래스를 단순화하기위한 클래스 및 기본 메모리 관리는 Vanara.Core 에 있습니다.)Vanara.PInvoke.Kernel32 프로젝트 디렉토리에서는 fileapi.h, winbase.h 및 winnt.h를 나타내는 fileapi.cs, winbase.cs 및 winnt.cs 파일을 찾을 수 있습니다.)IDisposable 구현 클래스로 변경했습니다.SafeHandle 파생 상품으로 바뀌 었습니다. 해당 핸들이 릴리스/닫기/파괴하기 위해 함수를 호출 해야하는 경우, 해당 기능을 폐기시 수행하는 파생 된 SafeHANDLE 존재합니다.HTOKEN 정의됩니다. SafeHTOKEN 자동화 된 릴리스 CloseHandle 사용하여 해당 핸들을 빌드합니다.Vanara.PInvoke 가 접두사에 픽스 한 어셈블리에 있습니다.ref 키워드없이 참조로 구조를 전달하는 in 문을 사용하여 마샬링됩니다.BOOL MapDialogRect(HWND hDlg, LPRECT lpRect)bool MapDialogRect(HWND hDlg, in RECT lpRect);Vanara 가 접두사 한 래퍼 어셈블리에 다음 기능의 논리적 이름이 이어집니다. 오늘날 이들은 핵심, 보안, 시스템 서비스, Windows.forms 및 Windows.shell입니다. | 라이브러리/DLL | 집회 | 적용 범위 | 너겟 링크 |
|---|---|---|---|
| aclui.dll | vanara.pinvoke.aclui | ||
| 행동했다 .dll | vanara.pinvoke.activeds | ||
| advapi32.dll, secur32.dll, authz.dll, sspicli.dll, schanne.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.enhanctStorage | ||
| 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 | ||
| 배율 .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, eleaut32.dll, propsys.dll | Vanara.pinvoke.ole | ||
| Oleacc.dll | vanara.pinvoke.Acessibility | ||
| 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 | ||
| powrfof.dll | vanara.pinvoke.powrfrof | ||
| 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 | ||
| 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 | ||
| 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 |
| 집회 | 너겟 링크 | 설명 |
|---|---|---|
| Vanara.bits | Windows 비트 (배경 지능형 전송 서비스) 기능의 .NET 적용 범위를 완료하십시오. Windows 11을 통해 모든 라이브러리 기능에 대한 액세스를 제공하며 이전 OS 버전에서 새로운 기능을 사용할 수없는 경우 우아하게 실패합니다. | |
| 바나라. 코어 | 이 라이브러리에는 Vanara 어셈블리 전체에 사용할 공유 방법, 구조 및 상수가 포함되어 있습니다. 유용한 확장 기능이있는 Windows.h로 생각하십시오. 포함 :
| |
| Vanara.DirectoryServices | Active Directory 및 기타 디렉토리 서비스 호출에 대한 단순화되고 객체 지향적 인 액세스를 제공하기 위해 Win32 ADS 방법 및 인터페이스 주변의 래퍼 클래스. | |
| Vanara. 관리 | 시스템을위한 확장 및 도우미 클래스. 관리. | |
| vanara.net | DNS, DHCP, 필터링, 액세스 및 검색과 같은 주요 네트워킹 기능에 대한 단순화되고 객체 지향적 인 액세스를 제공하기 위해 Win32 네트워킹 기능을 중심으로 추상화 된 클래스. | |
| vanara.pinvoke.directx | DirectX에서 가져온 Pinvoke API (메소드, 인터페이스, 구조 및 상수). | |
| vanara.pinvoke.shared | Vanara.Pinvoke Assemblies 전체에서 사용하기위한 공유 방법, 구조 및 상수. 포함 :
| |
| vanara.pinvoke.spellcheckingapi | Windows Spell Checking API에서 가져온 Pinvoke API (방법, 구조 및 상수). | |
| 바나라. 보안 | Vanara Pinvoke 라이브러리에서 파생 된 보안 관련 항목에 대한 클래스. Active Directory 및 Access Control 클래스를위한 확장 방법, 계정 작업 방법, UAC, 권한, 시스템 액세스, 가장 및 SIDS 및 전체 LSA 래퍼가 포함됩니다. | |
| vanara.systemservices | Vanara Pinvoke 라이브러리에서 파생 된 시스템 관련 항목에 대한 클래스. 프로세스 (권한 및 화상), FileInfo (압축 정보), 공유 네트워크 드라이브 및 장치 및 기본 API 호출을 통해 확장 정보를 가져 오는 ServiceController (SetStartType)에 대한 확장 기능이 포함되어 있습니다. | |
| vanara.virtualdisk | .NET 클래스 virtdisk.dll에서 p/invoke 함수를 사용하여 Windows Virtual Storage (VHD 및 VHDX)를 관리합니다. | |
| vanara.windows.extensions | 확장 방법 및 Vanara P/호출 유형 및 메소드에서 Windows 형태 유형 및 방법으로 변환. | |
| vanara.windows.forms | Vanara Pinvoke 라이브러리에서 파생 된 사용자 인터페이스 관련 항목에 대한 클래스. 포스트 비스타 기능, winforms 컨트롤 (패널, 명령 링크, 향상된 콤보 상자, iPaddress, 스플릿 버튼, 트랙 바 및 테마 컨트롤), 종료/재시작/잠금 제어, 버퍼링 페인팅, 리소스 파일, 액세스 제어 편집기, Windows.forms 용 액세스 제어 디자이너 프레임 워크를 제공하기위한 거의 모든 일반적인 컨트롤, winforms 컨트롤 (패널, 명령 링크, 향상된 콤보 상자, iPaddress, 스플릿 버튼). | |
| vanara.windows.shell.common | Vanara Pinvoke 라이브러리에서 파생 된 Windows 쉘 항목의 공통 클래스. 쉘 항목, 파일, 아이콘, 링크 및 작업 표시 줄 목록이 포함되어 있습니다. | |
| vanara.windows.shell | Vanara Pinvoke 라이브러리에서 파생 된 Windows Shell 항목의 클래스. 쉘 항목, 파일, 아이콘, 링크 및 작업 표시 줄 목록이 포함되어 있습니다. | |
| vanara.winui.extensions | Vanara P/호출 유형 및 방법으로의 확장 방법 및 변환. | |
| vanara.wpf.extensions | Vanara P/호출 유형 및 방법으로의 확장 방법 및 변환. |
Vanara를 사용하여 C#의 Windows 샘플을 재현하는 WinClassicsAmplescs 프로젝트에는 UnitTest 폴더 및 WinClassicsAmplescs 프로젝트에 여러 가지 예가 있습니다.