implemented CreateActCtxA, FindActCtxSectionStringA
authorChristoph von Wittich <christoph_vw@reactos.org>
Mon, 21 Nov 2005 21:09:30 +0000 (21:09 +0000)
committerChristoph von Wittich <christoph_vw@reactos.org>
Mon, 21 Nov 2005 21:09:30 +0000 (21:09 +0000)
svn path=/trunk/; revision=19424

reactos/lib/kernel32/kernel32.xml
reactos/lib/kernel32/misc/ActCtx.c [new file with mode: 0644]
reactos/lib/kernel32/misc/stubs.c

index 46186af..4852f03 100644 (file)
@@ -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>
diff --git a/reactos/lib/kernel32/misc/ActCtx.c b/reactos/lib/kernel32/misc/ActCtx.c
new file mode 100644 (file)
index 0000000..edd2855
--- /dev/null
@@ -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;
+}
index 19d1b92..b1f7d55 100644 (file)
@@ -453,20 +453,6 @@ CancelDeviceWakeupRequest(
     return 0;
 }
 
-
-/*
- * @unimplemented
- */
-HANDLE
-STDCALL
-CreateActCtxA(
-    PCACTCTXA pActCtx
-    )
-{
-    STUB;
-    return 0;
-}
-
 /*
  * @unimplemented
  */
@@ -477,7 +463,7 @@ CreateActCtxW(
     )
 {
     STUB;
-    return 0;
+    return INVALID_HANDLE_VALUE;
 }
 
 /*
@@ -1050,7 +1036,7 @@ FindActCtxSectionStringW(
     )
 {
     STUB;
-    return 0;
+    return FALSE;
 }
 
 /*
@@ -1267,23 +1253,6 @@ DnsHostnameToComputerNameA (
     return 0;
 }
 
-/*
- * @unimplemented
- */
-BOOL
-STDCALL
-FindActCtxSectionStringA(
-    DWORD dwFlags,
-    const GUID *lpExtensionGuid,
-    ULONG ulSectionId,
-    LPCSTR lpStringToFind,
-    PACTCTX_SECTION_KEYED_DATA ReturnedData
-    )
-{
-    STUB;
-    return 0;
-}
-
 /*
  * @unimplemented
  */