mirror of
https://github.com/reactos/reactos.git
synced 2025-05-09 03:37:08 +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;
|
ACTCTXW pActCtxW;
|
||||||
HANDLE hRetVal;
|
HANDLE hRetVal;
|
||||||
|
|
||||||
ZeroMemory(&pActCtxW, sizeof(pActCtxW));
|
ZeroMemory(&pActCtxW, sizeof(ACTCTXW));
|
||||||
pActCtxW.cbSize = sizeof(pActCtxW);
|
pActCtxW.cbSize = sizeof(ACTCTXW);
|
||||||
pActCtxW.dwFlags = pActCtx->dwFlags;
|
pActCtxW.dwFlags = pActCtx->dwFlags;
|
||||||
|
pActCtxW.wLangId = pActCtx->wLangId;
|
||||||
|
pActCtxW.hModule = pActCtx->hModule;
|
||||||
pActCtxW.wProcessorArchitecture = pActCtx->wProcessorArchitecture;
|
pActCtxW.wProcessorArchitecture = pActCtx->wProcessorArchitecture;
|
||||||
pActCtxW.dwFlags = pActCtx->wProcessorArchitecture;
|
|
||||||
|
|
||||||
pActCtxW.hModule = pActCtx->hModule;
|
pActCtxW.hModule = pActCtx->hModule;
|
||||||
|
|
||||||
/* Convert ActCtx Strings */
|
/* Convert ActCtx Strings */
|
||||||
if (pActCtx->lpAssemblyDirectory)
|
if (pActCtx->lpSource)
|
||||||
{
|
{
|
||||||
BasepAnsiStringToHeapUnicodeString(pActCtx->lpSource,
|
BasepAnsiStringToHeapUnicodeString(pActCtx->lpSource,
|
||||||
(LPWSTR*) &pActCtxW.lpSource);
|
(LPWSTR*) &pActCtxW.lpSource);
|
||||||
}
|
}
|
||||||
|
if (pActCtx->lpAssemblyDirectory)
|
||||||
if (pActCtx->lpAssemblyDirectory)
|
{
|
||||||
{
|
BasepAnsiStringToHeapUnicodeString(pActCtx->lpAssemblyDirectory,
|
||||||
BasepAnsiStringToHeapUnicodeString(pActCtx->lpAssemblyDirectory,
|
(LPWSTR*) &pActCtxW.lpAssemblyDirectory);
|
||||||
(LPWSTR*) &pActCtxW.lpAssemblyDirectory);
|
}
|
||||||
}
|
if (HIWORD(pActCtx->lpResourceName))
|
||||||
if (pActCtx->lpResourceName)
|
{
|
||||||
{
|
BasepAnsiStringToHeapUnicodeString(pActCtx->lpResourceName,
|
||||||
BasepAnsiStringToHeapUnicodeString(pActCtx->lpResourceName,
|
(LPWSTR*) &pActCtxW.lpResourceName);
|
||||||
(LPWSTR*) &pActCtxW.lpResourceName);
|
}
|
||||||
}
|
else
|
||||||
if (pActCtx->lpApplicationName)
|
{
|
||||||
{
|
pActCtxW.lpResourceName = (LPWSTR) pActCtx->lpResourceName;
|
||||||
BasepAnsiStringToHeapUnicodeString(pActCtx->lpApplicationName,
|
}
|
||||||
(LPWSTR*) &pActCtxW.lpApplicationName);
|
if (pActCtx->lpApplicationName)
|
||||||
}
|
{
|
||||||
|
BasepAnsiStringToHeapUnicodeString(pActCtx->lpApplicationName,
|
||||||
|
(LPWSTR*) &pActCtxW.lpApplicationName);
|
||||||
|
}
|
||||||
/* Call the Unicode function */
|
/* Call the Unicode function */
|
||||||
hRetVal = CreateActCtxW(&pActCtxW);
|
hRetVal = CreateActCtxW(&pActCtxW);
|
||||||
|
|
||||||
/* Clean up */
|
/* Clean up */
|
||||||
RtlFreeHeap(GetProcessHeap(), 0, (LPWSTR*) pActCtxW.lpSource);
|
RtlFreeHeap(GetProcessHeap(), 0, (LPWSTR*) pActCtxW.lpSource);
|
||||||
RtlFreeHeap(GetProcessHeap(), 0, (LPWSTR*) pActCtxW.lpAssemblyDirectory);
|
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);
|
RtlFreeHeap(GetProcessHeap(), 0, (LPWSTR*) pActCtxW.lpApplicationName);
|
||||||
|
|
||||||
return hRetVal;
|
return hRetVal;
|
||||||
|
|
Loading…
Reference in a new issue