Added support for forwarded ordinals in built-in dlls.
[wine/multimedia.git] / win32 / init.c
blob64044330987ce468ed56902833a66797a014cc60
1 /*
2 * Win32 kernel functions
4 * Copyright 1995 Martin von Loewis and Cameron Heide
5 * 1999 Peter Ganten
6 */
8 #include <string.h>
9 #include <unistd.h>
10 #include <stdlib.h>
11 #include "winerror.h"
12 #include "wine/winestring.h"
13 #include "except.h"
14 #include "heap.h"
15 #include "task.h"
16 #include "debug.h"
17 #include "process.h"
19 DEFAULT_DEBUG_CHANNEL(win32)
21 /***********************************************************************
22 * GetStartupInfoA (KERNEL32.273)
24 VOID WINAPI GetStartupInfoA(LPSTARTUPINFOA lpStartupInfo)
27 LPSTARTUPINFOA startup;
29 startup = ((LPSTARTUPINFOA )PROCESS_Current()->env_db->startup_info);
30 memcpy ( lpStartupInfo, startup, sizeof (STARTUPINFOA) );
32 TRACE ( win32, "size: %ld\n"
33 "\tlpReserverd: %s, lpDesktop: %s, lpTitle: %s\n"
34 "\tdwX: %ld, dwY: %ld, dwXSize: %ld, dwYSize: %ld\n"
35 "\tdwFlags: %lx, wShowWindow: %x\n", lpStartupInfo->cb,
36 lpStartupInfo->lpReserved, lpStartupInfo->lpDesktop,
37 lpStartupInfo->lpTitle, lpStartupInfo->dwX,
38 lpStartupInfo->dwY, lpStartupInfo->dwXSize,
39 lpStartupInfo->dwYSize, lpStartupInfo->dwFlags,
40 lpStartupInfo->wShowWindow );
43 /***********************************************************************
44 * GetStartupInfoW (KERNEL32.274)
46 VOID WINAPI GetStartupInfoW(LPSTARTUPINFOW lpStartupInfo)
49 STARTUPINFOA startup;
50 GetStartupInfoA ( &startup );
52 lpStartupInfo->cb = sizeof(STARTUPINFOW);
53 lpStartupInfo->lpReserved =
54 HEAP_strdupAtoW (GetProcessHeap(), 0, startup.lpReserved );
55 lpStartupInfo->lpDesktop =
56 HEAP_strdupAtoW (GetProcessHeap(), 0, startup.lpDesktop );
57 lpStartupInfo->lpTitle =
58 HEAP_strdupAtoW (GetProcessHeap(), 0, startup.lpTitle );
59 lpStartupInfo->dwX = startup.dwX;
60 lpStartupInfo->dwY = startup.dwY;
61 lpStartupInfo->dwXSize = startup.dwXSize;
62 lpStartupInfo->dwXCountChars = startup.dwXCountChars;
63 lpStartupInfo->dwYCountChars = startup.dwYCountChars;
64 lpStartupInfo->dwFillAttribute = startup.dwFillAttribute;
65 lpStartupInfo->dwFlags = startup.dwFlags;
66 lpStartupInfo->wShowWindow = startup.wShowWindow;
67 lpStartupInfo->cbReserved2 = startup.cbReserved2;
68 lpStartupInfo->lpReserved2 = startup.lpReserved2;
69 lpStartupInfo->hStdInput = startup.hStdInput;
70 lpStartupInfo->hStdOutput = startup.hStdOutput;
71 lpStartupInfo->hStdError = startup.hStdError;
74 /***********************************************************************
75 * GetComputerNameA (KERNEL32.165)
77 BOOL WINAPI GetComputerNameA(LPSTR name,LPDWORD size)
79 if (-1==gethostname(name,*size))
80 return FALSE;
81 *size = lstrlenA(name);
82 return TRUE;
85 /***********************************************************************
86 * GetComputerNameW (KERNEL32.166)
88 BOOL WINAPI GetComputerNameW(LPWSTR name,LPDWORD size)
90 LPSTR nameA = (LPSTR)HeapAlloc( GetProcessHeap(), 0, *size);
91 BOOL ret = GetComputerNameA(nameA,size);
92 if (ret) lstrcpynAtoW(name,nameA,*size+1);
93 HeapFree( GetProcessHeap(), 0, nameA );
94 return ret;