From 8ced6754fbcd59e3ce775cac33a833902cb8c3b5 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Mon, 21 Nov 2005 22:53:25 +0000 Subject: [PATCH] Rename file. svn path=/trunk/; revision=19432 --- reactos/lib/kernel32/misc/actctx.c | 96 ++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 reactos/lib/kernel32/misc/actctx.c diff --git a/reactos/lib/kernel32/misc/actctx.c b/reactos/lib/kernel32/misc/actctx.c new file mode 100644 index 00000000000..edd2855c00b --- /dev/null +++ b/reactos/lib/kernel32/misc/actctx.c @@ -0,0 +1,96 @@ +#include + +#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; +}