Index: trunk/include/VBox/sup.h
===================================================================
--- trunk/include/VBox/sup.h	(revision 35184)
+++ trunk/include/VBox/sup.h	(revision 35188)
@@ -894,9 +894,8 @@
  * @param   pszModule       The module name. Max 32 bytes.
  * @param   ppvImageBase    Where to store the image address.
- * @param   pszErr          Where to return error message on failure.
- * @param   cbErr           The size of the error buffer.
- */
-SUPR3DECL(int) SUPR3LoadModule(const char *pszFilename, const char *pszModule,
-                               void **ppvImageBase, char *pszErr, size_t cbErr);
+ * @param   pErrInfo        Where to return extended error information.
+ *                          Optional.
+ */
+SUPR3DECL(int) SUPR3LoadModule(const char *pszFilename, const char *pszModule, void **ppvImageBase, PRTERRINFO pErrInfo);
 
 /**
@@ -990,8 +989,7 @@
  * @param   fInternal       Set this to @c true if this is an internal
  *                          VirtualBox application.  Otherwise pass @c false.
- * @param   pszErr          Where to return error message on failure.
- * @param   cbErr           The size of the error buffer.
- */
-SUPR3DECL(int) SUPR3HardenedVerifySelf(const char *pszArgv0, bool fInternal, char *pszErr, size_t cbErr);
+ * @param   pErrInfo        Where to return extended error information.
+ */
+SUPR3DECL(int) SUPR3HardenedVerifySelf(const char *pszArgv0, bool fInternal, PRTERRINFO pErrInfo);
 
 /**
@@ -1010,8 +1008,8 @@
  * @param   fCheckFiles     Whether to apply the same basic integrity check to
  *                          the files in the directory as the directory itself.
- * @param   pszErr          Where to return error message on failure.
- * @param   cbErr           The size of the error buffer.
- */
-SUPR3DECL(int) SUPR3HardenedVerifyDir(const char *pszDirPath, bool fRecursive, bool fCheckFiles, char *pszErr, size_t cbErr);
+ * @param   pErrInfo        Where to return extended error information.
+ *                          Optional.
+ */
+SUPR3DECL(int) SUPR3HardenedVerifyDir(const char *pszDirPath, bool fRecursive, bool fCheckFiles, PRTERRINFO pErrInfo);
 
 /**
@@ -1025,8 +1023,8 @@
  * @param   pszFilename     The filename of the plug-in module (nothing can be
  *                          omitted here).
- * @param   pszErr          Where to return error message on failure.
- * @param   cbErr           The size of the error buffer.
- */
-SUPR3DECL(int) SUPR3HardenedVerifyPlugIn(const char *pszFilename, char *pszErr, size_t cbErr);
+ * @param   pErrInfo        Where to return extended error information.
+ *                          Optional.
+ */
+SUPR3DECL(int) SUPR3HardenedVerifyPlugIn(const char *pszFilename, PRTERRINFO pErrInfo);
 
 /**
@@ -1039,8 +1037,8 @@
  * @param   phLdrMod        Where to store the handle to the loaded module.
  * @param   fFlags          See RTLDRFLAGS_.
- * @param   pszError        Where to return error message on failure.
- * @param   cbError         The size of the error buffer.
- */
-SUPR3DECL(int) SUPR3HardenedLdrLoad(const char *pszFilename, PRTLDRMOD phLdrMod, uint32_t fFlags, char *pszError, size_t cbError);
+ * @param   pErrInfo        Where to return extended error information.
+ *                          Optional.
+ */
+SUPR3DECL(int) SUPR3HardenedLdrLoad(const char *pszFilename, PRTLDRMOD phLdrMod, uint32_t fFlags, PRTERRINFO pErrInfo);
 
 /**
@@ -1055,8 +1053,8 @@
  * @param   phLdrMod        Where to store the handle to the loaded module.
  * @param   fFlags          See RTLDRFLAGS_*.
- * @param   pszError        Where to return error message on failure.
- * @param   cbError         The size of the error buffer.
- */
-SUPR3DECL(int) SUPR3HardenedLdrLoadAppPriv(const char *pszFilename, PRTLDRMOD phLdrMod, uint32_t fFlags, char *pszError, size_t cbError);
+ * @param   pErrInfo        Where to return extended error information.
+ *                          Optional.
+ */
+SUPR3DECL(int) SUPR3HardenedLdrLoadAppPriv(const char *pszFilename, PRTLDRMOD phLdrMod, uint32_t fFlags, PRTERRINFO pErrInfo);
 
 /**
@@ -1070,8 +1068,8 @@
  * @param   pszFilename     The full path to the module, with extension.
  * @param   phLdrMod        Where to store the handle to the loaded module.
- * @param   pszErr          Where to return error message on failure.
- * @param   cbErr           The size of the error buffer.
- */
-SUPR3DECL(int) SUPR3HardenedLdrLoadPlugIn(const char *pszFilename, PRTLDRMOD phLdrMod, char *pszErr, size_t cbErr);
+ * @param   pErrInfo        Where to return extended error information.
+ *                          Optional.
+ */
+SUPR3DECL(int) SUPR3HardenedLdrLoadPlugIn(const char *pszFilename, PRTLDRMOD phLdrMod, PRTERRINFO pErrInfo);
 
 /**
