mirror of
https://github.com/reactos/reactos.git
synced 2025-05-06 18:31:26 +00:00
fix some bugs in CreateActCtxA
svn path=/trunk/; revision=26393
This commit is contained in:
parent
285ed6ed7e
commit
99163e450a
1 changed files with 30 additions and 26 deletions
|
@ -65,44 +65,48 @@ CreateActCtxA(
|
|||
ACTCTXW pActCtxW;
|
||||
HANDLE hRetVal;
|
||||
|
||||
ZeroMemory(&pActCtxW, sizeof(pActCtxW));
|
||||
pActCtxW.cbSize = sizeof(pActCtxW);
|
||||
ZeroMemory(&pActCtxW, sizeof(ACTCTXW));
|
||||
pActCtxW.cbSize = sizeof(ACTCTXW);
|
||||
pActCtxW.dwFlags = pActCtx->dwFlags;
|
||||
pActCtxW.wLangId = pActCtx->wLangId;
|
||||
pActCtxW.hModule = pActCtx->hModule;
|
||||
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);
|
||||
}
|
||||
|
||||
if (pActCtx->lpSource)
|
||||
{
|
||||
BasepAnsiStringToHeapUnicodeString(pActCtx->lpSource,
|
||||
(LPWSTR*) &pActCtxW.lpSource);
|
||||
}
|
||||
if (pActCtx->lpAssemblyDirectory)
|
||||
{
|
||||
BasepAnsiStringToHeapUnicodeString(pActCtx->lpAssemblyDirectory,
|
||||
(LPWSTR*) &pActCtxW.lpAssemblyDirectory);
|
||||
}
|
||||
if (HIWORD(pActCtx->lpResourceName))
|
||||
{
|
||||
BasepAnsiStringToHeapUnicodeString(pActCtx->lpResourceName,
|
||||
(LPWSTR*) &pActCtxW.lpResourceName);
|
||||
}
|
||||
else
|
||||
{
|
||||
pActCtxW.lpResourceName = (LPWSTR) pActCtx->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);
|
||||
if (HIWORD(pActCtx->lpResourceName))
|
||||
RtlFreeHeap(GetProcessHeap(), 0, (LPWSTR*) pActCtxW.lpResourceName);
|
||||
RtlFreeHeap(GetProcessHeap(), 0, (LPWSTR*) pActCtxW.lpApplicationName);
|
||||
|
||||
return hRetVal;
|
||||
|
|
Loading…
Reference in a new issue