-2

From "Windows API" on Wikipedia: https://en.wikipedia.org/wiki/Windows_API

The [Windows] API may be used by any programming language compiler or assembler able to handle the (well-defined) low-level data structures along with the prescribed calling conventions for calls and callbacks.

From "Presentation Layer" on Wikipedia: https://en.wikipedia.org/wiki/Presentation_layer

The presentation layer is the lowest layer at which application programmers consider data structure and presentation, instead of simply sending data in the form of datagrams or packets between hosts.The idea is that the application layer should be able to point at the data to be moved, and the presentation layer will deal with the rest.

Is the Windows API (specifically the WinSock component) technically part of the presentation layer in the OSI Model, or is the presentation layer a level lower than the Windows API? Thanks for anyone who can clear this up for me.

1
  • The definitions you quote are so broad you can fit anything inside. So, yes, technically one ultra-broad definition may intersect with another.
    – harrymc
    Jun 26, 2018 at 14:59

2 Answers 2

1

There is no such thing as "the Windows API" so it is not possible to answer your question directly.

What is generally called "the Windows API" is the total of all API's provided by Microsoft present on a given version of Windows.
Some of these API's are very generic and exist in almost every version of Windows, others exist only in certain versions.
What exactly constitutes "the Windows API" is therefore not really clear. It is a very vague term.

To further focus on your question regarding the interaction with the OSI model. Windows networking is mainly focused on the TCP/IP model and (roughly) follows the simplified OSI model (4 layers).
The layers of the 7-layer model can not clearly be isolated in a Windows environment and various Windows subs-systems and API's cross the boundaries between the OSI layers in many places.
E.g. There are API interfaces in Windows to communicate with the NIC drivers at the level of individual ethernet packages. That doesn't mean all Windows API's live in the network layer.

This is in fact true for most modern Operating Systems. Strict adherence to the OSI layers is VERY difficult to do in a real OS, especially if you want to achieve good networking performance at the same time.

As others have already mentioned in the comments: Your question as it stands is way to broad. If you are interested in a specific API on Windows this can probably be answered.

0

The Windows API can span across multiple layers of the OSI Model, depending on how you look at it, but it's safe to say that the entire scope of the Windows API in general is too general to discuss in this context. In some aspects, it is geared around the session layer, looking at the API itself and not anything deeper.

In the International Organization for Standardization Open Systems Interconnection (ISO/OSI) model, Winsock operates at the session layer interface to the transport layer. Winsock is an interface between applications and the transport protocol and works as a conduit for data I/O. The following illustration shows Winsock in relation to other Windows CE communication protocols within the context of the ISO/OSI model. 1

https://msdn.microsoft.com/en-us/library/ms882974.aspx

Not the answer you're looking for? Browse other questions tagged .