[PATCH 26/27] [Kernel32]: ActCtx: added support for actctx
zombification
Eric Pouech
eric.pouech at wanadoo.fr
Mon May 7 14:52:33 CDT 2007
---
dlls/kernel32/actctx.c | 18 ++++++++++++++----
1 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/dlls/kernel32/actctx.c b/dlls/kernel32/actctx.c
index 1070f08..32dc378 100644
--- a/dlls/kernel32/actctx.c
+++ b/dlls/kernel32/actctx.c
@@ -51,7 +51,8 @@ static const WCHAR dotManifestW[] = {'.','m','a','n','i','f','e','s','t','\0'};
#define ACTCTX_FAKE_HANDLE ((HANDLE) 0xf00baa)
-#define ACTCTX_MAGIC 0xC07E3E11
+#define ACTCTX_MAGIC 0xC07E3E11
+#define ACTCTX_MAGIC_ZOMBIE 0x3E11C07E
typedef struct
{
@@ -1641,6 +1642,9 @@ static struct actctx* check_actctx(HANDLE h)
switch (actctx->magic)
{
case ACTCTX_MAGIC: return actctx;
+ case ACTCTX_MAGIC_ZOMBIE:
+ DebugBreak();
+ /* fall through */
default:
SetLastError(ERROR_INVALID_HANDLE);
return NULL;
@@ -1837,10 +1841,16 @@ void WINAPI ReleaseActCtx(HANDLE hActCtx)
*/
BOOL WINAPI ZombifyActCtx(HANDLE hActCtx)
{
- FIXME("%p\n", hActCtx);
- if (hActCtx != ACTCTX_FAKE_HANDLE)
+ struct actctx* actctx;
+
+ TRACE("%p\n", hActCtx);
+
+ if ((actctx = check_actctx(hActCtx)))
+ {
+ actctx->magic = ACTCTX_MAGIC_ZOMBIE;
+ return TRUE;
+ }
return FALSE;
- return TRUE;
}
/***********************************************************************
More information about the wine-patches
mailing list