Unmanaged Features and Their Managed Equivalents
Many unmanaged features of the Windows Software Development Kit (SDK) have equivalents or similar counterparts in managed code. This topic describes how unmanaged technologies are represented in the Microsoft .NET Framework.
Feature Scope
Some unmanaged features in the Windows SDK cover a broader scope than the corresponding Microsoft .NET Framework namespaces. Microsoft provides managed solutions for addressing some of these features. The following table shows managed technologies that are built on top of the Microsoft .NET Framework.
Features |
Corresponding Managed Technologies |
References |
---|---|---|
Deployment |
ClickOnce |
|
Graphics and media |
Managed DirectX, WPF |
Microsoft DirectX Developer Center, Windows Presentation Foundation |
Devices |
.NET Compact Framework |
|
Configuration, instrumentation, logging, security, exception handling |
Enterprise Library |
|
Messaging |
Windows Communication Foundation |
Feature Mapping
The following table shows the relationship between unmanaged features and their managed equivalents.
Win32 Technology (Unmanaged) |
Microsoft .NET Framework and Other Technologies (Managed) |
Remarks |
---|---|---|
Accessibility |
||
Active Directory Service Interfaces (ADSI) |
||
Application recovery |
No managed equivalent or wrapper. |
|
Audio and video |
||
Background Intelligent Transfer Service (BITS) |
No managed equivalent or wrapper. |
See ClickOnce Deployment for Windows Forms Applications for more information. |
Bluetooth |
No managed equivalent or wrapper. |
|
Collaboration Data Objects (CDO) |
||
Component Object Model (COM) |
No managed equivalent or wrapper. |
Use the System.Runtime.InteropServices namespace to enable COM from the Microsoft .NET Framework. |
COM+ |
This namespace wraps the underlying COM+ functionality. |
|
Cryptography |
See also the Enterprise Library Cryptography Application Block. |
|
Debugging |
Unmanaged applications can load the common language runtime (CLR); see Unmanaged API Reference. |
|
Distributed COM (DCOM) |
||
Device I/O |
Microsoft.VisualBasic.Devices, Microsoft.WindowsMobile.DirectX, Microsoft.WindowsCE.Forms, System.Web.UI.MobileControls, System.Web.Mobile |
SetupDi* functions are not available. See also .NET Compact Framework. |
Directory services |
||
DLLs, processes, and threads |
See also AppDomain and BackgroundWorker types. |
|
Domain Name System (DNS) |
See the Dns type. |
|
Dynamic Host Configuration Protocol (DHCP) |
||
Event logging |
See also the Enterprise Library Logging Application Block. |
|
Extensible Authentication Protocol (EAP) |
||
Fax services |
No managed equivalent or wrapper. |
|
File services |
||
Function discovery |
||
GDI+ |
||
HTTP Server |
See the HttpListener type. |
|
Image Color Management (ICM) |
||
Indexing services |
No managed equivalent or wrapper. |
|
Internet Authentication Service (IAS) |
No managed equivalent or wrapper. |
|
Internet Connection Sharing and Internet Connection Firewall (ICS/ICF) |
No managed equivalent or wrapper. |
|
Interprocess communication |
System.Runtime.Remoting, System.Runtime.Serialization, System.Web.Services |
|
Internet Protocol (IP) Helper |
IP Helper and System.Net.NetworkInformation are similar, but not equivalent, technologies. |
|
Infrared Data Association (IrDA) support |
||
Memory management |
No managed equivalent or wrapper. |
Unmanaged applications can load the CLR; see Unmanaged API Reference. |
Message queuing |
The Windows Communication Foundation is built on the System.Messaging namespace. |
|
Messaging Application Programming Interface (MAPI) |
||
Microsoft Data Access Components (MDAC) |
The System.Data namespace is also known as ADO.NET. |
|
Microsoft Management Console (MMC) |
||
Microsoft Speech |
||
Microsoft Transaction Server (MTS) |
||
Monitor configuration |
No managed equivalent or wrapper. |
|
Microsoft Challenge-Handshake Authentication Protocol (MS-CHAP) password management |
No managed equivalent or wrapper. |
|
Microsoft XML Core Services (MSXML) |
||
Multicast Address Dynamic Client Allocation Protocol (MADCAP) |
||
Native WiFi |
No managed equivalent or wrapper. |
|
NetShell |
No managed equivalent or wrapper. |
|
Network Access Protection (NAP) |
No managed equivalent or wrapper. |
|
Network Address Translation (NAT) Traversal |
No managed equivalent or wrapper. |
|
Network diagnostics |
||
Network Location Awareness (NLA) |
No managed equivalent or wrapper. |
|
Network management |
||
Network Monitor |
||
OpenGL |
System.Windows.Media.Media3D, Microsoft.WindowsMobile.DirectX.Direct3D |
See also Managed DirectX. |
PC Health |
No managed equivalent or wrapper. |
|
Peer-to-peer networking |
The Windows Communication Foundation implements peer-to-peer networking. |
|
Performance monitoring |
See also the Enterprise Library for instrumentation solutions. |
|
Power management |
See the PowerState, PowerStatus, and PowerModes types. |
|
Print schema |
||
Quality of Service (QOS) |
||
Real-Time Communications (RTC) |
No managed equivalent or wrapper. |
|
Remote Access Service (RAS) |
No managed equivalent or wrapper. |
|
Remote Procedure Call (RPC) |
||
Restart Manager |
No managed equivalent or wrapper. |
|
Rights management |
||
Routing and Remote Access Service (RRAS) |
No managed equivalent or wrapper. |
|
Security authentication and authorization |
||
Security management |
See also the Enterprise Library Security Application Block. |
|
SetupAPI |
See ClickOnce Deployment for Windows Forms Applications for more information. |
|
Simple Network Management Protocol (SNMP) |
No managed equivalent or wrapper. |
|
Still Image (STI) |
||
Synchronization Manager |
||
System Restore |
No managed equivalent or wrapper. |
|
System shutdown |
See the Application type. |
|
Task Scheduler |
No managed equivalent or wrapper. |
|
Telephony API (TAPI) |
No managed equivalent or wrapper. |
|
Terminal Services |
No managed equivalent or wrapper. |
|
Text Services Framework |
No managed equivalent or wrapper. |
|
Universal Plug and Play (UPnP) |
No managed equivalent or wrapper. |
|
Windows clustering |
No managed equivalent or wrapper. |
|
Windows controls |
The System.Windows.Forms namespace wraps the Win32 controls from Comctl32.dll. The System.Windows.Controls namespace provides similar functionality using WPF elements. |
|
Windows File Protection |
No managed equivalent or wrapper. |
|
Windows Filtering Platform |
No managed equivalent or wrapper. |
|
Windows Firewall |
No managed equivalent or wrapper. |
|
Windows Image Acquisition (WIA) |
||
Windows Installer |
See ClickOnce Deployment for Windows Forms Applications for more information. |
|
Windows Internet (WinINet) |
||
Windows Management Instrumentation (WMI) |
||
Windows Messenger |
No managed equivalent or wrapper. |
|
Windows Multimedia |
||
Windows NetMeeting |
No managed equivalent or wrapper. |
|
Windows Networking (WNet) |
||
Windows Remote Management (WinRM) |
No managed equivalent or wrapper. |
|
Windows Server Update Services (WSUS) |
No managed equivalent or wrapper. |
|
Windows Sockets |
||
Windows System Assessment (WinSAT) |
No managed equivalent or wrapper. |
|
Windows User Interface |
Unmanaged Features That Have No Managed Equivalents
Some unmanaged features do not have equivalent implementations in the managed framework. In these cases, you can use the Platform Invoke (P/Invoke) service to access unmanaged features from your managed code. For more information, see Interoperating with Unmanaged Code. You can also access managed features from unmanaged code by using C++. For more information, see the Migration and Interoperability Roadmap.
See Also
Concepts
Windows Presentation Foundation
ClickOnce Deployment for Windows Forms Applications