Network APIs
Network APIs are network functions in Windows API. Windows has several network APIs that provide support for software, and applications can use these to communicate with programs on other computers. Some network APIs include Windows Sockets, Remote Procedure Call, Named Pipes and Mailslot’s.
Windows Sockets
Windows Sockets API, also called Winsock, is a technical specification that defines how Windows network software should cooperate with network services such as TCP/IP. Windows Sockets provides an interface between a Windows TCP/IP client program and the underlying TCP/IP protocol.
Windows Sockets makes it possible for developers to create advanced network of applications for both the Internet and intranet using Microsoft Windows networking functions, regardless of the network protocol used.
Remote Procedure Call
Remote Procedure Call (RPC) is a type of process communication that allows a computer to execute code on another computer over a network, without the programmer having to code the details of the communication. In other words, the programmer writes about the same code, whether the code is executed on the local computer or on a remotely located computer. RPC therefore makes the communication process as simple as a function call, operating between processes at different computers in a network.
Named Pipes
Named Pipes is a programming API for communication between processes, which takes place between a named pipe server and a named pipe client. A named pipe server is a program that creates a named pipe that clients can use, as data is transferred via a buffer. A process writes data to a buffer so that another process can read the data from the buffer.
In Windows, Named Pipes is a client/server communication that works quite similarly to Sockets.
Mailslot
Mailslot is a broadcast mechanism for one-way communication that allows communication between processes, both locally and over a network. The messages are usually sent via a local network or an Internet network. A process that creates a mailslot is called a mailslot server. Other processes (clients) can send messages to a mailslot server that has a name. Mailslot´s provides a simple way of sending short messages.
Drivers
Network API drivers take API requests and translate them into network protocol requests, so that it is possible to send them via a network. API drivers use transport protocol drivers to do this translation.
In 1989, 3Com and Microsoft developed NDIS (Network Driver Interface Specification), which allows protocol drivers to communicate with network adapter drivers. NDIS is independent of the type of equipment used by a computer. Network adapter drivers that use NDIS are called NDIS drivers or NDIS miniport drivers.
Transport Driver Interface (TDI) is an interface developed by Microsoft to make it easier for drivers to communicate with various network transport protocols. The advantage of using TDI is that services are independent of different protocols for transport in networks. TDI transports, also called transports and NDIS protocol drivers, are drivers in kernel mode. They receive packets from TDI and send them further. NDIS miniport drivers are drivers in kernel mode, which provides an interface for TDI transports to network adapters.