.NET API browser

Welcome to the .NET API browser – your one-stop shop for all .NET-based APIs from Microsoft. Start searching for any managed APIs by typing in the box below.

If you have any feedback, create a new issue in the dotnet/dotnet-api-docs repo.

Quick Filters

Windows Desktop API Reference version 9

NameDescription
Accessibility NamespaceRepresents a managed wrapper for the Component Object Model (COM) accessibility interface.
Microsoft.CSharp NamespaceContains classes that support compilation and code generation using the C# language.
Microsoft.VisualBasic NamespaceContains types that support the Visual Basic Runtime in Visual Basic.
Microsoft.VisualBasic.ApplicationServices NamespaceContains types that support the Visual Basic Application Model and provide access to application information.
Microsoft.VisualBasic.CompilerServices NamespaceContains internal-use only types that support the Visual Basic compiler.
Microsoft.VisualBasic.Devices NamespaceContains types that support the My objects related to devices in Visual Basic.
Microsoft.VisualBasic.Logging NamespaceContains types that support the My logging objects in Visual Basic and provides a simple log listener that directs logging output to file.
Microsoft.VisualBasic.MyServices NamespaceContains types that support My in Visual Basic.
Microsoft.VisualBasic.MyServices.Internal NamespaceContains internal-use only types that support My in Visual Basic.
Microsoft.Win32 NamespaceProvides two types of classes: those that handle events raised by the operating system and those that manipulate the system registry.
Microsoft.Windows.Input NamespaceContains interfaces for preview commands in a Microsoft Ribbon for WPF control.
Microsoft.Windows.Themes NamespaceProvides exposure to the set of themes defined by Windows Presentation Foundation. In WPF, a theme is a set of resources, defined at the system level, which provide the default appearance for controls and other visual elements of an application. WPF themes are created using styles and include Luna, Aero, Royale, and Classic. Only the client area of a WPF application uses these themes; the appearance of the window border and buttons that form the window chrome is controlled by the Win32 theme service.
System NamespaceContains fundamental classes and base classes that define commonly-used value and reference data types, events and event handlers, interfaces, attributes, and processing exceptions.
System.CodeDom NamespaceContains classes that can be used to represent the elements and structure of a source code document. The classes in this namespace can be used to model the structure of a source code document that can be output as source code in a supported language using the functionality provided by the System.CodeDom.Compiler namespace.
System.CodeDom.Compiler NamespaceContains types for managing the generation and compilation of source code in supported programming languages. Code generators can each produce source code in a particular programming language based on the structure of Code Document Object Model (CodeDOM) source code models consisting of elements provided by the System.CodeDom namespace.
System.Collections.Specialized NamespaceContains specialized and strongly-typed collections; for example, a linked list dictionary, a bit vector, and collections that contain only strings.
System.ComponentModel NamespaceProvides classes that are used to implement the run-time and design-time behavior of components and controls. This namespace includes the base classes and interfaces for implementing attributes and type converters, binding to data sources, and licensing components.
System.ComponentModel.Design NamespaceContains classes that developers can use to build custom design-time behavior for components and user interfaces for configuring components at design time. The design time environment provides systems that enable developers to arrange components and configure their properties. Some components may require specific design-time only behavior to function properly in a design time environment. It may also be valuable to provide custom user interfaces which assist developers in configuring components or the values of complex data types. The classes and interfaces defined within this namespace can be used to build design-time behavior for components, access design-time services, and implement customized design-time configuration interfaces.
System.ComponentModel.Design.Serialization NamespaceProvides types that support customization and control of serialization at design time.
System.Configuration NamespaceContains the types that provide the programming model for handling configuration data.
System.Configuration.Internal NamespaceContains configuration types that are intended for internal use only.
System.Configuration.Provider NamespaceContains the base classes shared by both server and client applications to support a pluggable model to easily add or remove functionality.
System.Data.Common NamespaceContains classes shared by .NET data providers.
System.Data.Odbc NamespaceThe System.Data.Odbc namespace is the .NET Framework Data Provider for ODBC.
System.Data.OleDb NamespaceThe System.Data.OleDb namespace is the.NET Framework Data Provider for OLE DB.
System.Data.OracleClient NamespaceThe System.Data.OracleClient namespace is the .NET Framework Data Provider for Oracle.
System.Data.SqlClient NamespaceThe System.Data.SqlClient namespace is the .NET Data Provider for SQL Server.
System.Diagnostics NamespaceProvides classes that allow you to interact with system processes, event logs, and performance counters.
System.Diagnostics.Eventing.Reader NamespaceUsing the System.Diagnostics.Eventing.Reader namespace, you can develop applications that read and manage event logs. An event in an event log contains information, a warning, or an error that has been published by a specific application, service, or operating system component. These events are read by applications that monitor a computer's health and applications that take action when specific events occur. For more information, see Technology Summary for Reading and Managing Event Logs and Event Log Scenarios.
System.Diagnostics.PerformanceData NamespaceUse the classes in this namespace to provide counter data. The counters are used to expose performance metrics to consumers such as the Performance Monitor. The namespace does not contain classes for consuming the counter data. For a complete description of the performance counters architecture, see Performance Counters.
System.DirectoryServices NamespaceProvides easy access to Active Directory Domain Services from managed code. The namespace contains two component classes, DirectoryEntry and DirectorySearcher, which use the Active Directory Services Interfaces (ADSI) technology. ADSI is the set of interfaces that Microsoft provides as a flexible tool for working with a variety of network providers. ADSI gives the administrator the ability to locate and manage resources on a network with relative ease, regardless of the size of the network.
System.DirectoryServices.ActiveDirectory NamespaceProvides a high level abstraction object model that builds around Microsoft Active Directory services tasks. The Active Directory service concepts such as forest, domain, site, subnet, partition, and schema are part of the object model.
System.Drawing NamespaceProvides access to GDI+ basic graphics functionality. The System.Drawing.Drawing2D, System.Drawing.Imaging, and System.Drawing.Text namespaces provide more advanced functionality. For limitations, see the Remarks section.
System.Drawing.Configuration NamespaceContains a class that supports configuration for classes in the System.Drawing namespace.
System.Drawing.Design NamespaceContains classes that extend design-time user interface (UI) logic and drawing.
System.Drawing.Drawing2D NamespaceProvides advanced two-dimensional and vector graphics functionality.
System.Drawing.Imaging NamespaceProvides advanced GDI+ imaging functionality. Basic graphics functionality is provided by the System.Drawing namespace.
System.Drawing.Imaging.Effects NamespaceProvides functionality for adding effects to images.
System.Drawing.Interop Namespace
System.Drawing.Printing NamespaceProvides print-related services for Windows Forms applications.
System.Drawing.Text NamespaceProvides advanced GDI+ typography functionality.
System.Formats.Nrbf Namespace
System.IO NamespaceContains types that allow reading and writing to files and data streams, and types that provide basic file and directory support.
System.IO.Packaging NamespaceProvides classes that support storage of multiple data objects in a single container.
System.Media NamespaceContains classes for playing sound files and accessing sounds provided by the system.
System.Net NamespaceProvides a simple programming interface for many of the protocols used on networks today. Classes in the System.Net namespace can be used to develop Windows Store apps or desktop apps. When used in a Windows Store app, classes in the System.Net namespace are affected by network isolation feature, part of the application security model used by the Windows Developer Preview. The appropriate network capabilities must be enabled in the app manifest for a Windows Store app for the system to allow network access by a Windows Store app. For more information, see the Network Isolation for Windows Store Apps.
System.Net.Mail NamespaceContains classes used to send electronic mail to a Simple Mail Transfer Protocol (SMTP) server for delivery.
System.Net.NetworkInformation NamespaceProvides access to network traffic data, network address information, and notification of address changes for the local computer. The namespace also contains classes that implement the Ping utility. You can use Ping and related classes to check whether a computer is reachable across the network.
System.Net.PeerToPeer NamespaceProvides access to peer networking functionality.
System.Net.PeerToPeer.Collaboration NamespaceEnhances System.Net.PeerToPeer networking functionality and provides capabilities for serverless managed collaboration sessions.
System.Printing NamespaceProvides classes that enable you to automate the management of print servers, print queues, and print jobs.
System.Printing.IndexedProperties NamespaceProvides classes that enable rapidly copying the property settings of a print system object to another object of the same type. Also, enables iteration through the properties of print system objects and the discovery of their types at run time, without using reflection.
System.Printing.Interop NamespaceProvides interconversion of managed PrintTicket objects and unmanaged Graphics Device Interface (GDI) DEVMODE structures.
System.Resources NamespaceProvides classes and interfaces that allow developers to create, store, and manage various culture-specific resources used in an application. One of the most important classes of the System.Resources namespace is the ResourceManager class.
System.Resources.Extensions NamespaceProvides classes that can read and write resources in a format that supports non-primitive objects.
System.Resources.Tools NamespaceContains the StronglyTypedResourceBuilder class, which provides support for strongly typed resources. Beginning with .NET Framework version 2.0, this compile-time feature encapsulates access to resources by creating classes that contain a set of static read-only (get) properties, thus making it easier to consume resources.
System.Runtime.InteropServices NamespaceProvides a wide variety of members that support COM interop and platform invoke services. If you are unfamiliar with these services, see Interoperating with Unmanaged Code.
System.Security NamespaceProvides the underlying structure of the common language runtime security system, including base classes for permissions.
System.Security.AccessControl NamespaceProvides programming elements that control access to and audit security-related actions on securable objects.
System.Security.Cryptography NamespaceProvides cryptographic services, including secure encoding and decoding of data, as well as many other operations, such as hashing, random number generation, and message authentication. For more information, see Cryptographic Services.
System.Security.Cryptography.Pkcs NamespaceProvides programming elements for Public Key Cryptography Standards (PKCS), including methods for signing data, exchanging keys, requesting certificates, public key encryption and decryption, and other security functions.
System.Security.Cryptography.X509Certificates NamespaceContains the common language runtime implementation of the Authenticode X.509 v.3 certificate. This certificate is signed with a private key that uniquely and positively identifies the holder of the certificate.
System.Security.Cryptography.Xml NamespaceContains classes to support the creation and validation of XML digital signatures. The classes in this namespace implement the World Wide Web Consortium Recommendation, XML-Signature Syntax and Processing.
System.Security.Permissions NamespaceDefines classes that control access to operations and resources based on policy.
System.Security.Policy NamespaceContains code groups, membership conditions, and evidence. These three types of classes are used to create the rules applied by the common language runtime security policy system. Evidence classes are the input to security policy and membership conditions are the switches; together these create policy statements and determine the granted permission set. Policy levels and code groups are the structure of the policy hierarchy. Code groups are the encapsulation of a rule and are arranged hierarchically in a policy level.
System.Security.RightsManagement NamespaceProvides types to support rights management of application-created content such as that stored in a Package or XpsDocument.
System.ServiceProcess NamespaceProvides classes that allow you to implement, install, and control Windows service applications. Services are long-running executables that run without a user interface. Implementing a service involves inheriting from the ServiceBase class and defining specific behavior to process when start, stop, pause, and continue commands are passed in, as well as custom behavior and actions to take when the system shuts down.
System.Threading NamespaceProvides classes and interfaces that enable multithreaded programming. In addition to classes for synchronizing thread activities and access to data (Mutex, Monitor, Interlocked, AutoResetEvent, and so on), this namespace includes a ThreadPool class that allows you to use a pool of system-supplied threads, and a Timer class that executes callback methods on thread pool threads.
System.Transactions NamespaceContains classes that allow you to write your own transactional application and resource manager. Specifically, you can create and participate in a transaction (local or distributed) with one or multiple participants.
System.Web NamespaceFor .NET Core and .NET 5+, this namespace contains the HttpUtility class. For .NET Framework, this namespace contains classes and interfaces that enable browser-server communication. These classes include the HttpRequest class, which provides extensive information about the current HTTP request; the HttpResponse class, which manages HTTP output to the client; and the HttpServerUtility class, which provides access to server-side utilities and processes. System.Web also includes classes for cookie manipulation, file transfer, exception information, and output cache control in .NET Framework.
System.Windows NamespaceProvides several important Windows Presentation Foundation (WPF) base element classes, various classes that support the WPF property system and event logic, and other types that are more broadly consumed by the WPF core and framework.
System.Windows.Annotations NamespaceProvides classes to support user-created annotations on content displayed in WPF document viewing controls.
System.Windows.Annotations.Storage NamespaceProvides types that define the storage architecture and mediums to save and retrieve user-created annotations.
System.Windows.Automation NamespaceProvides support for Windows Presentation Foundation (WPF) UI Automation clients.
System.Windows.Automation.Peers NamespaceDefines the AutomationPeer base class and a set of types that derive from it that correspond to .NET controls. Each AutomationPeer exposes the corresponding .NET control to Microsoft UI Automation.
System.Windows.Automation.Provider NamespaceProvides APIs for creating UI Automation providers.
System.Windows.Automation.Text NamespaceContains enumerations that specify text formatting and related behavior for Windows Presentation Foundation (WPF) UI automation.
System.Windows.Baml2006 NamespaceContains reader and writer classes that can consume XAML in BAML form.
System.Windows.Controls NamespaceProvides classes to create elements, known as controls, that enable a user to interact with an application. The control classes are at the core of the user's experience with any application because they allow a user to view, select, or enter data or other information.
System.Windows.Controls.Primitives NamespaceContains base classes and controls that are intended to be used as part of other more complex controls.
System.Windows.Controls.Ribbon NamespaceContains types that are used to create a user interface by using the Microsoft Ribbon for WPF.
System.Windows.Controls.Ribbon.Primitives NamespaceContains types that are used as layout containers in a Microsoft Ribbon for WPF control.
System.Windows.Converters NamespaceProvides classes to support type conversion during serialization in Windows Presentation Foundation (WPF).
System.Windows.Data NamespaceContains classes used for binding properties to data sources, data source provider classes, and data-specific implementations of collections and views.
System.Windows.Diagnostics NamespaceProvides support for Windows Presentation Foundation (WPF) XAML tooling.
System.Windows.Documents NamespaceContains types that support FixedDocument, FlowDocument, and XML Paper Specification (XPS) document creation.
System.Windows.Documents.DocumentStructures NamespaceProvides classes to describe the structure of an XpsDocument in terms of sections, paragraphs, figures, bulleted or numbered lists, and tables.
System.Windows.Documents.Serialization NamespaceProvides types that support the creation and use of run-time accessible plug-in serializers that read and write documents in different data formats.
System.Windows.Forms NamespaceContains classes for creating Windows-based applications that take full advantage of the rich user interface features available in the Microsoft Windows operating system.
System.Windows.Forms.Automation NamespaceProvides support for Windows Forms UI Automation clients.
System.Windows.Forms.ComponentModel.Com2Interop NamespaceContains helper classes that Visual Studio uses to display property pages while in design mode.
System.Windows.Forms.Design NamespaceContains classes that support design-time configuration and behavior for Windows Forms components. These classes consist of designer classes that provide support for Windows Forms components, a set of design-time services; UITypeEditor classes for configuring certain types of properties, and classes for importing ActiveX controls.
System.Windows.Forms.Design.Behavior NamespaceContains classes for creating custom user interface behavior for components at design time.
System.Windows.Forms.Integration NamespaceContains classes that support interoperation of Windows Forms and WPF controls.
System.Windows.Forms.Layout NamespaceContains classes for implementing layout behaviors in your form or control.
System.Windows.Forms.PropertyGridInternal NamespaceProvides internal support for the PropertyGrid control. The classes in this namespace support the .NET infrastructure and aren't intended to be used directly from your code.
System.Windows.Forms.VisualStyles NamespaceContains classes for rendering controls and other Windows user interface (UI) elements with visual styles in operating systems that support them.
System.Windows.Ink NamespaceProvides classes to interact with and manipulate ink on the Windows Presentation Foundation (WPF) platform.
System.Windows.Input NamespaceMost of the types in this namespace support the Windows Presentation Foundation (WPF) input system. This includes device abstraction classes for mouse, keyboard, and stylus devices, a common input manager class, support for commanding and custom commands, and various utility classes. However, some of the types are applicable beyond WPF.
System.Windows.Input.Manipulations NamespaceProvides functionality for monitoring and responding to a collection of manipulators as a single composite, enabling an application to track the changes to the composite instead of the individual components.
System.Windows.Input.StylusPlugIns NamespaceProvides classes that support manipulating data from a tablet pen on the Windows Presentation Foundation (WPF) platform. These classes offer low-level control over Stylus input and the creation of digital ink Stroke objects. The StylusPlugIn class provides a mechanism for you to implement custom behavior and apply that behavior to the stream of data coming from the stylus device for the optimal performance.
System.Windows.Input.StylusWisp NamespaceProvides classes that support manipulating data from a WISP tablet device pen on the Windows Presentation Foundation (WPF) platform.
System.Windows.Interop NamespaceProvides supporting types for interoperation between Windows Presentation Foundation (WPF) and other technologies such as Windows APIs and provides base classes for other specific interoperation scenarios involving WPF.
System.Windows.Markup NamespaceProvides types to support XAML. Some of these types are located in WPF assemblies and are specific to WPF scenarios that involve XAML. Other types in this namespace provide support for .NET XAML Services in general, and don't require referencing WPF assemblies.
System.Windows.Markup.Localizer NamespaceProvides types that assist in the localization of binary XAML (BAML) sources.
System.Windows.Markup.Primitives NamespaceContains classes that support Extensible Application Markup Language (XAML) in Windows Presentation Foundation (WPF).
System.Windows.Media NamespaceProvides types that enable integration of rich media, including drawings, text, and audio/video content in Windows Presentation Foundation (WPF) applications.
System.Windows.Media.Animation NamespaceProvides types that support property animation functionality, including timelines, storyboards, and key frames.
System.Windows.Media.Converters NamespaceContains classes that are used by the MarkupWriter for serialization of Extensible Application Markup Language (XAML).
System.Windows.Media.Effects NamespaceProvides types that can be used to apply visual effects to bitmap images.
System.Windows.Media.Imaging NamespaceProvides types that are used to encode and decode bitmap images.
System.Windows.Media.Media3D NamespaceContains types that support 3-D presentation in Windows Presentation Foundation (WPF) applications.
System.Windows.Media.Media3D.Converters NamespaceContains classes that are used by the MarkupWriter for serialization of Extensible Application Markup Language (XAML).
System.Windows.Media.TextFormatting NamespaceProvides types that control formatting of text, typically at a lower level than control-based text presentation or the text object model.
System.Windows.Navigation NamespaceProvides types that support navigation, including navigating between windows and navigation journaling.
System.Windows.Resources NamespaceProvides low-level classes that support the Windows Presentation Foundation (WPF) resource model and the Resources build action.
System.Windows.Shapes NamespaceProvides access to a library of shapes that can be used in Extensible Application Markup Language (XAML) or code.
System.Windows.Shell NamespaceContains types that provide managed code access to the enhanced functionality of the Windows 7 taskbar.
System.Windows.Threading NamespaceContains types to support the Windows Presentation Foundation (WPF) threading system.
System.Windows.Xps NamespaceProvides classes that write XPS documents to a data store or print queue.
System.Windows.Xps.Packaging NamespaceProvides types that allow applications to read and write the components of an XPS document.
System.Windows.Xps.Serialization NamespaceProvides types that support serialization of XPS documents.
System.Xaml NamespaceProvides types that relate to XAML readers and XAML writers. This includes the default implementations of .NET XAML Services and its XAML readers and XAML writers. Also contains types relevant to the XAML type system and other support types related to XAML and .NET XAML Services concepts.
System.Xaml.Permissions NamespaceContains types that specify permissions for certain XAML loading scenarios, such as loading under partial trust or loading internal types.
System.Xaml.Schema NamespaceContains types that support extensibility of the XAML type system.
UIAutomationClientsideProviders NamespaceContains a single type that maps client automation providers.