Vanara Documentation

repository·master·Indexed 24 days ago

https://github.com/dahall/vanara

A collection of .NET assemblies providing type-safe, managed wrappers and P/Invoke mappings for Windows APIs. It includes Vanara.Core.dll, which provides foundational marshaling helpers, memory management, and COM support, and Vanara.BITS.dll, which offers .NET coverage of the Windows Background Intelligent Transfer Service (BITS) for managing background file transfers.

Tokens
99.2K
Snippets
91
Records
664
Agent score
79%

What's inside Vanara

  1. Overview of Vanara.SystemServices.dll

    master

    The Vanara.SystemServices.dll assembly provides high-level C# classes for system-related tasks by extending native PInvoke libraries. It offers enhanced functionality for common Windows system operations, including:

    • Process Management: Extensions for System.Diagnostics.Process to handle privileges, elevation, and relationships.
    • File System: Extensions for FileInfo to retrieve compression information and Vanara.IO.PathEx for cross-platform path operations.
    • Network & Connectivity: Tools for managing shared network drives, devices, firewall rules, and network profiles.
    • Hardware & Power: Detailed information about devices, battery status, power schemes, and power supply status.
    • Services: Extensions for ServiceController to manage start types and security access rules.
  2. Overview of Vanara.DirectoryServices

    master

    The Vanara.DirectoryServices.dll assembly provides wrapper classes around Win32 ADs (Active Directory Service Interfaces) methods and interfaces. It offers simplified, object-oriented access to Active Directory and other directory service calls.

    Key Capabilities:

    • Managing Active Directory objects (users, computers, groups, domains).
    • Navigating hierarchical directory trees using container objects.
    • Managing system services, file shares, and print queues across a network.
    • Performing low-overhead directory queries via LDAP.
    • Manipulating object attributes through a property cache.
  3. Overview of Vanara.PInvoke.IScsiDsc

    master
    Vanara.PInvoke.IScsiDsc is a PInvoke library that provides managed access to the Windows iSCSI Discovery Library (iscsidsc.dll). It includes 100% API coverage for the functions defined in iscsidsc.h, allowing developers to manage iSCSI connections, targets, sessions, and discovery settings from C#.
  4. Overview of Vanara Supporting Assemblies

    master

    Vanara is a collection of specialized .NET libraries designed to provide high-fidelity, object-oriented access to Windows APIs. Instead of working with raw P/Invoke signatures, developers can use these assemblies to interact with Windows features using idiomatic C#.

    Key functional areas include:

    • Core Utilities: Vanara.Core provides essential marshaling, memory management, and Win32 macro extensions.
    • System & Networking: Vanara.Net (DNS, DHCP, discovery), Vanara.BITS (Background Intelligent Transfer Service), Vanara.SystemServices (Process/File extensions), and Vanara.VirtualDisk (VHD/VHDX management).
    • Security & Directory Services: Vanara.Security (LSA, UAC, SIDs, privileges) and Vanara.DirectoryServices (Active Directory/ADs wrappers).
    • UI & Shell: Vanara.Windows.Shell (Shell items, icons, links), Vanara.Windows.Forms (Enhanced WinForms controls), and Vanara.Windows.Shell.Common.
    • DirectX & Multimedia: Vanara.PInvoke.DirectX, Vanara.PInvoke.DirectXMath, Vanara.PInvoke.SpeechApi, and Vanara.PInvoke.SpellCheckingApi.
    • Framework Extensions: Specialized conversion and extension libraries for WPF, WinUI, and Windows.Forms to bridge Vanara P/Invoke types with modern UI frameworks.
  5. Overview of Vanara.Windows.Shell.Common

    master
    The Vanara.Windows.Shell.Common.dll assembly provides common classes for interacting with Windows Shell items. It is a high-level wrapper around Vanara PInvoke libraries, enabling developers to work with shell items, files, icons, links, taskbar lists, and more in a managed way.
  6. Overview of Vanara.PInvoke.TextServicesFramework

    master
    Vanara.PInvoke.TextServicesFramework provides PInvoke (Platform Invocation Services) bindings for the Windows Text Services Framework (TSF) modules. It allows .NET developers to access low-level Windows APIs, including methods, structures, and constants, required for interacting with text input services, handwriting recognition, and other text-related Windows subsystems.
  7. Overview of Vanara.Windows.Forms

    master

    The Vanara.Windows.Forms.dll assembly provides classes for user interface related items derived from the Vanara PInvoke libraries. It extends common Windows Forms controls with post-Vista capabilities and includes specialized controls such as:

    • Enhanced Controls: Panel, commandlink, enhanced combo boxes, IPAddress, split button, trackbar, and themed controls.
    • System Controls: Shutdown, restart, and lock controls.
    • UI Utilities: Buffered painting, resource files, access control editor, and a simplified designer framework for Windows.Forms.
  8. Overview of Vanara.BITS.dll

    master
    The Vanara.BITS.dll assembly provides complete .NET coverage of the Windows Background Intelligent Transfer Service (BITS) functionality. It allows developers to manage background file transfers (downloads and uploads) using Windows 11 APIs. The library is designed to gracefully fail when attempting to access features that are not available on older versions of Windows.
  9. Overview of Vanara.PInvoke.DWrite

    master
    Vanara.PInvoke.DWrite provides PInvoke (Platform Invocation Services) bindings for the Windows DWrite.dll library. It exposes the methods, structures, and constants required to interact with the DirectWrite API for high-quality text rendering and layout in Windows applications.
  10. Overview of Vanara.PInvoke.Msi

    master
    Vanara.PInvoke.Msi provides a PInvoke (Platform Invocation Services) wrapper for the Windows Msi.dll. It exposes the underlying methods, structures, and constants required to interact with the Windows Installer API directly from C#.
  11. Overview of Vanara.WindowsUpdate.dll

    master
    The Vanara.WindowsUpdate.dll assembly provides wrapper classes around the Windows Update API. It is designed to simplify interactions with Windows Update and ensure that the API is used correctly by providing high-level, type-safe abstractions for searching, downloading, and installing updates.
  12. Overview of Vanara.Net.dll

    master
    Vanara.Net.dll provides abstracted, object-oriented access to Win32 networking functions. It simplifies complex networking capabilities into high-level classes for tasks such as DNS management, DHCP client operations, network filtering, access control, and discovery.