How to Use

Common

Put WinRing0.dll, WinRing0x64.dll, WinRing0.sys, WinRing0x64.sys, and WinRing0.vxd into the directory where your application's executable file resides.

Visual C++ 2005/2008/2010

See also sample application.

Load-Time Dynamic Linking

  1. Add WinRing0.lib or WinRing0x64.lib to your project.
  2. Add #include "OlsApi.h" statement to your source file.
  3. Call InitializeOls().
  4. Call GetDllStatus() to check error.
  5. Call the library's functions.
  6. Call DeinitializeOls().

Reference : Load-Time Dynamic Linking (MSDN)

Run-Time Dynamic Linking

  1. Add #include "OlsApiInit.h" statement to your source file.
  2. Call InitOpenLibSys().
  3. Call GetDllStatus() to check error.
  4. Call the library's functions. *
  5. Call DeinitOpenLibSys().

*If you would like to call the library's functions on other source files, you should add #include "OlsApiInitExt.h" statement to the source files.

Reference : Run-Time Dynamic Linking (MSDN)

Visual C# 2005/2008/2010

See also sample application.

  1. Put OpenLibSys.cs into your project.
  2. Add using OpenLibSys; statement to your source file.
  3. Call GetStatus() and GetDllStatus() to check error.
  4. Call the library's functions.

*Supported platform target is "x86", "x64" and "Any CPU". But WinRing0 does not support "IA64".