Steam API Info - by Mitsukarina



Steam API revealed


This thread is intended to document steam function calls and give practical examples of how they can be used in your own projects. This documentation is applicable to interfacing with a legitimate valve steam.dll file, as well as a steam emulator like SteamEmu by hCUPa. Where differences arise, then these will be explained further.

I will add to this as and when I can, and would also encourage others to participate in this thread if they can expand on any of the documentation.

It is assumed that you have a basic understanding of C#/VB.NET and calling dll functions from your programs. This documentation will not explain variable types, calling conventions or any other basic programming methodology. If you do not have basic programming skills then please read my earlier tutorials on building a content launcher in C# and integrating it with Steam:

Getting started

Using the functions contained in steam.dll is pretty much the same as using the functions in any other windows dll. However, there are some basic structures and enums that you should always declare to make your life easier. I will not detail everything in one go, but rather add to this thread as we go along.

It is worth noting at this point that SteamEmu by hCUPa is a very complete steam emulator, so much so that we can actually replace our legitimate steam dll with the SteamEmu dll and our code will still work. There are some exceptions, and even some additions to the things we can do with SteamEmu, and where relevant, they will be highlighted.

Link to Code + Additional Content