summaryrefslogtreecommitdiff
path: root/INSTALL.W32
diff options
context:
space:
mode:
authorappro <appro>2010-07-09 14:30:54 +0000
committerappro <appro>2010-07-09 14:30:54 +0000
commitfe716cbd1227004dd7d0d94d2a2d3bf1439debba (patch)
treea34de35472a2cee50d42d0260bf04c6356feaced /INSTALL.W32
parent19314498a67c6b38ee1da307aa737da7c61df942 (diff)
downloadopenssl-fe716cbd1227004dd7d0d94d2a2d3bf1439debba.tar.gz
INSTALL.W32: mention _OPENSSL_isservice().
PR: 2194
Diffstat (limited to 'INSTALL.W32')
-rw-r--r--INSTALL.W3213
1 files changed, 12 insertions, 1 deletions
diff --git a/INSTALL.W32 b/INSTALL.W32
index 77441f1ef..a0886b3d7 100644
--- a/INSTALL.W32
+++ b/INSTALL.W32
@@ -297,7 +297,18 @@
desktop, which is not available to service processes. The toolkit is
designed to detect in which context it's currently executed, GUI,
console app or service, and act accordingly, namely whether or not to
- actually make GUI calls.
+ actually make GUI calls. Additionally those who wish to
+ /DELAYLOAD:GDI32.DLL and /DELAYLOAD:USER32.DLL and actually keep them
+ off service process should consider implementing and exporting from
+ .exe image in question own _OPENSSL_isservice not relying on USER32.DLL.
+ E.g., on Windows Vista and later you could:
+
+ __declspec(dllexport) __cdecl BOOL _OPENSSL_isservice(void)
+ { DWORD sess;
+ if (ProcessIdToSessionId(GetCurrentProcessId(),&sess))
+ return sess==0;
+ return FALSE;
+ }
If you link with OpenSSL .DLLs, then you're expected to include into
your application code small "shim" snippet, which provides glue between