Mike McCormack : kernel: Improve the activation context stubs.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Mar 7 06:12:55 CST 2006
Module: wine
Branch: refs/heads/master
Commit: bb84eaa98fe1139c7a9b30f676eb4ef59cb6bc4b
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=bb84eaa98fe1139c7a9b30f676eb4ef59cb6bc4b
Author: Mike McCormack <mike at codeweavers.com>
Date: Tue Mar 7 18:24:24 2006 +0900
kernel: Improve the activation context stubs.
---
dlls/kernel/actctx.c | 62 +++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 48 insertions(+), 14 deletions(-)
diff --git a/dlls/kernel/actctx.c b/dlls/kernel/actctx.c
index 62a4cca..02f2b72 100644
--- a/dlls/kernel/actctx.c
+++ b/dlls/kernel/actctx.c
@@ -31,6 +31,19 @@
WINE_DEFAULT_DEBUG_CHANNEL(actctx);
+#define ACTCTX_FLAGS_ALL (\
+ ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID |\
+ ACTCTX_FLAG_LANGID_VALID |\
+ ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID |\
+ ACTCTX_FLAG_RESOURCE_NAME_VALID |\
+ ACTCTX_FLAG_SET_PROCESS_DEFAULT |\
+ ACTCTX_FLAG_APPLICATION_NAME_VALID |\
+ ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF |\
+ ACTCTX_FLAG_HMODULE_VALID )
+
+#define ACTCTX_FAKE_HANDLE ((HANDLE) 0xf00baa)
+#define ACTCTX_FAKE_COOKIE ((ULONG_PTR) 0xf00bad)
+
/***********************************************************************
* CreateActCtxA (KERNEL32.@)
*
@@ -38,8 +51,15 @@ WINE_DEFAULT_DEBUG_CHANNEL(actctx);
*/
HANDLE WINAPI CreateActCtxA(PCACTCTXA pActCtx)
{
- FIXME("stub!\n");
- return INVALID_HANDLE_VALUE;
+ FIXME("%p %08lx\n", pActCtx, pActCtx ? pActCtx->dwFlags : 0);
+
+ if (!pActCtx)
+ return INVALID_HANDLE_VALUE;
+ if (pActCtx->cbSize != sizeof *pActCtx)
+ return INVALID_HANDLE_VALUE;
+ if (pActCtx->dwFlags & ~ACTCTX_FLAGS_ALL)
+ return INVALID_HANDLE_VALUE;
+ return ACTCTX_FAKE_HANDLE;
}
/***********************************************************************
@@ -49,8 +69,15 @@ HANDLE WINAPI CreateActCtxA(PCACTCTXA pA
*/
HANDLE WINAPI CreateActCtxW(PCACTCTXW pActCtx)
{
- FIXME("stub!\n");
- return INVALID_HANDLE_VALUE;
+ FIXME("%p %08lx\n", pActCtx, pActCtx ? pActCtx->dwFlags : 0);
+
+ if (!pActCtx)
+ return INVALID_HANDLE_VALUE;
+ if (pActCtx->cbSize != sizeof *pActCtx)
+ return INVALID_HANDLE_VALUE;
+ if (pActCtx->dwFlags & ~ACTCTX_FLAGS_ALL)
+ return INVALID_HANDLE_VALUE;
+ return ACTCTX_FAKE_HANDLE;
}
/***********************************************************************
@@ -60,8 +87,10 @@ HANDLE WINAPI CreateActCtxW(PCACTCTXW pA
*/
BOOL WINAPI ActivateActCtx(HANDLE hActCtx, ULONG_PTR *ulCookie)
{
- FIXME("stub!\n");
- return FALSE;
+ FIXME("%p %p\n", hActCtx, ulCookie );
+ if (ulCookie)
+ *ulCookie = ACTCTX_FAKE_COOKIE;
+ return TRUE;
}
/***********************************************************************
@@ -71,8 +100,10 @@ BOOL WINAPI ActivateActCtx(HANDLE hActCt
*/
BOOL WINAPI DeactivateActCtx(DWORD dwFlags, ULONG_PTR ulCookie)
{
- FIXME("stub!\n");
- return FALSE;
+ FIXME("%08lx %08lx\n", dwFlags, ulCookie);
+ if (ulCookie != ACTCTX_FAKE_COOKIE)
+ return FALSE;
+ return TRUE;
}
/***********************************************************************
@@ -82,8 +113,9 @@ BOOL WINAPI DeactivateActCtx(DWORD dwFla
*/
BOOL WINAPI GetCurrentActCtx(HANDLE* phActCtx)
{
- FIXME("stub!\n");
- return FALSE;
+ FIXME("%p\n", phActCtx);
+ *phActCtx = ACTCTX_FAKE_HANDLE;
+ return TRUE;
}
/***********************************************************************
@@ -93,7 +125,7 @@ BOOL WINAPI GetCurrentActCtx(HANDLE* phA
*/
void WINAPI AddRefActCtx(HANDLE hActCtx)
{
- FIXME("stub!\n");
+ FIXME("%p\n", hActCtx);
}
/***********************************************************************
@@ -103,7 +135,7 @@ void WINAPI AddRefActCtx(HANDLE hActCtx)
*/
void WINAPI ReleaseActCtx(HANDLE hActCtx)
{
- FIXME("stub!\n");
+ FIXME("%p\n", hActCtx);
}
/***********************************************************************
@@ -113,8 +145,10 @@ void WINAPI ReleaseActCtx(HANDLE hActCtx
*/
BOOL WINAPI ZombifyActCtx(HANDLE hActCtx)
{
- FIXME("stub!\n");
- return FALSE;
+ FIXME("%p\n", hActCtx);
+ if (hActCtx != ACTCTX_FAKE_HANDLE)
+ return FALSE;
+ return TRUE;
}
/***********************************************************************
More information about the wine-cvs
mailing list