implemented CreateActCtxA, FindActCtxSectionStringA
Modified: trunk/reactos/lib/kernel32/kernel32.xml
Added: trunk/reactos/lib/kernel32/misc/ActCtx.c
Modified: trunk/reactos/lib/kernel32/misc/stubs.c

Modified: trunk/reactos/lib/kernel32/kernel32.xml
--- trunk/reactos/lib/kernel32/kernel32.xml	2005-11-21 20:59:32 UTC (rev 19423)
+++ trunk/reactos/lib/kernel32/kernel32.xml	2005-11-21 21:09:30 UTC (rev 19424)
@@ -52,6 +52,7 @@
 		<file>virtual.c</file>
 	</directory>
 	<directory name="misc">
+		<file>actctx.c</file>
 		<file>atom.c</file>
 		<file>chartype.c</file>
 		<file>comm.c</file>

Added: trunk/reactos/lib/kernel32/misc/ActCtx.c
--- trunk/reactos/lib/kernel32/misc/ActCtx.c	2005-11-21 20:59:32 UTC (rev 19423)
+++ trunk/reactos/lib/kernel32/misc/ActCtx.c	2005-11-21 21:09:30 UTC (rev 19424)
@@ -0,0 +1,96 @@
+#include <k32.h>
+
+#define NDEBUG
+#include "../include/debug.h"
+
+/*
+ * @implemented
+ */
+BOOL
+STDCALL
+FindActCtxSectionStringA(
+    DWORD dwFlags,
+    const GUID *lpExtensionGuid,
+    ULONG ulSectionId,
+    LPCSTR lpStringToFind,
+    PACTCTX_SECTION_KEYED_DATA ReturnedData
+    )
+{
+    BOOL bRetVal;
+    LPWSTR lpStringToFindW;
+    
+    /* Convert lpStringToFind */
+    if (lpStringToFind)
+    {
+        BasepAnsiStringToHeapUnicodeString(lpStringToFind,
+                                            (LPWSTR*) &lpStringToFindW);
+    }
+
+    /* Call the Unicode function */
+    bRetVal = FindActCtxSectionStringA(dwFlags, 
+                                        lpExtensionGuid,
+                                        ulSectionId, 
+                                        lpStringToFind,
+                                        ReturnedData);
+
+    /* Clean up */
+    RtlFreeHeap(GetProcessHeap(), 0, (LPWSTR*) lpStringToFindW);
+
+    return bRetVal;
+}
+
+
+/*
+ * @implemented
+ */
+HANDLE
+STDCALL
+CreateActCtxA(
+    PCACTCTXA pActCtx
+    )
+{
+    ACTCTXW pActCtxW;
+    HANDLE hRetVal;
+
+    ZeroMemory(&pActCtxW, sizeof(pActCtxW));
+    pActCtxW.cbSize = sizeof(pActCtxW);
+    pActCtxW.dwFlags = pActCtx->dwFlags;
+    pActCtxW.wProcessorArchitecture = pActCtx->wProcessorArchitecture;
+    pActCtxW.dwFlags = pActCtx->wProcessorArchitecture;
+
+    pActCtxW.hModule = pActCtx->hModule;
+
+    /* Convert ActCtx Strings */
+    if (pActCtx->lpAssemblyDirectory)
+    {
+        BasepAnsiStringToHeapUnicodeString(pActCtx->lpSource,
+                                            (LPWSTR*) &pActCtxW.lpSource);
+    }
+
+    if (pActCtx->lpAssemblyDirectory)
+    {
+        BasepAnsiStringToHeapUnicodeString(pActCtx->lpAssemblyDirectory,
+                                            (LPWSTR*) &pActCtxW.lpAssemblyDirectory);
+    }
+    if (pActCtx->lpResourceName)
+    {
+        BasepAnsiStringToHeapUnicodeString(pActCtx->lpResourceName,
+                                            (LPWSTR*) &pActCtxW.lpResourceName);
+    }
+    if (pActCtx->lpApplicationName)
+    {
+        BasepAnsiStringToHeapUnicodeString(pActCtx->lpApplicationName,
+                                            (LPWSTR*) &pActCtxW.lpApplicationName);
+    }
+
+    /* Call the Unicode function */
+    hRetVal = CreateActCtxW(&pActCtxW);
+
+    /* Clean up */
+    RtlFreeHeap(GetProcessHeap(), 0, (LPWSTR*) pActCtxW.lpSource);
+    RtlFreeHeap(GetProcessHeap(), 0, (LPWSTR*) pActCtxW.lpAssemblyDirectory);
+    RtlFreeHeap(GetProcessHeap(), 0, (LPWSTR*) pActCtxW.lpResourceName);
+    RtlFreeHeap(GetProcessHeap(), 0, (LPWSTR*) pActCtxW.lpApplicationName);
+
+    return hRetVal;
+}
Property changes on: trunk/reactos/lib/kernel32/misc/ActCtx.c
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: trunk/reactos/lib/kernel32/misc/stubs.c
--- trunk/reactos/lib/kernel32/misc/stubs.c	2005-11-21 20:59:32 UTC (rev 19423)
+++ trunk/reactos/lib/kernel32/misc/stubs.c	2005-11-21 21:09:30 UTC (rev 19424)
@@ -453,31 +453,17 @@
     return 0;
 }
 
-
 /*
  * @unimplemented
  */
 HANDLE
 STDCALL
-CreateActCtxA(
-    PCACTCTXA pActCtx
-    )
-{
-    STUB;
-    return 0;
-}
-
-/*
- * @unimplemented
- */
-HANDLE
-STDCALL
 CreateActCtxW(
     PCACTCTXW pActCtx
     )
 {
     STUB;
-    return 0;
+    return INVALID_HANDLE_VALUE;
 }
 
 /*
@@ -1050,7 +1036,7 @@
     )
 {
     STUB;
-    return 0;
+    return FALSE;
 }
 
 /*
@@ -1270,23 +1256,6 @@
 /*
  * @unimplemented
  */
-BOOL
-STDCALL
-FindActCtxSectionStringA(
-    DWORD dwFlags,
-    const GUID *lpExtensionGuid,
-    ULONG ulSectionId,
-    LPCSTR lpStringToFind,
-    PACTCTX_SECTION_KEYED_DATA ReturnedData
-    )
-{
-    STUB;
-    return 0;
-}
-
-/*
- * @unimplemented
- */
 HANDLE
 STDCALL
 FindFirstVolumeA(