3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT : ReactOS user mode libraries
5 * MODULE : kernel32.dll
6 * FILE : reactos/lib/kernel32/misc/res.c
13 #include <kernel32/kernel32.h>
27 return FindResourceExA (hModule, lpType, lpName, 0);
49 RtlInitUnicodeString (&NameU,
51 RtlInitUnicodeString (&TypeU,
54 if (HIWORD(lpName) != 0)
56 RtlInitAnsiString (&Name,
58 RtlAnsiStringToUnicodeString (&NameU,
63 NameU.Buffer = (PWSTR)lpName;
65 if (HIWORD(lpType) != 0)
67 RtlInitAnsiString (&Type,
69 RtlAnsiStringToUnicodeString (&TypeU,
74 TypeU.Buffer = (PWSTR)lpType;
76 Res = FindResourceExW (hModule,
81 if (HIWORD(lpName) != 0)
82 RtlFreeUnicodeString (&NameU);
84 if (HIWORD(lpType) != 0)
85 RtlFreeUnicodeString (&TypeU);
102 return FindResourceExW (hModule, lpType, lpName, 0);
118 PIMAGE_RESOURCE_DATA_ENTRY ResourceDataEntry = NULL;
119 LDR_RESOURCE_INFO ResourceInfo;
122 if ( hModule == NULL )
123 hModule = (HINSTANCE)GetModuleHandleW(NULL);
125 if ( !IS_INTRESOURCE(lpName) && lpName[0] == L'#' ) {
126 lpName = MAKEINTRESOURCEW(wcstoul(lpName + 1, NULL, 10));
128 if ( !IS_INTRESOURCE(lpType) && lpType[0] == L'#' ) {
129 lpType = MAKEINTRESOURCEW(wcstoul(lpType + 1, NULL, 10));
132 ResourceInfo.Type = (ULONG)lpType;
133 ResourceInfo.Name = (ULONG)lpName;
134 ResourceInfo.Language = (ULONG)wLanguage;
136 Status = LdrFindResource_U (hModule,
140 if (!NT_SUCCESS(Status))
142 SetLastErrorByStatus (Status);
146 return ResourceDataEntry;
165 hModule = (HINSTANCE)GetModuleHandleW(NULL);
168 Status = LdrAccessResource (hModule, hResInfo, &Data, NULL);
169 if (!NT_SUCCESS(Status))
171 SetLastErrorByStatus (Status);
189 return ((PIMAGE_RESOURCE_DATA_ENTRY)hResInfo)->Size;
224 BeginUpdateResourceW (
226 WINBOOL bDeleteExistingResources
229 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
239 BeginUpdateResourceA (
241 WINBOOL bDeleteExistingResources
244 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
259 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
274 return EndUpdateResourceW(
286 EnumResourceLanguagesW (
290 ENUMRESLANGPROCW lpEnumFunc,
294 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
301 EnumResourceLanguagesA (
305 ENUMRESLANGPROCA lpEnumFunc,
309 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
322 ENUMRESNAMEPROCW lpEnumFunc,
326 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
339 ENUMRESNAMEPROCA lpEnumFunc,
343 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
355 ENUMRESTYPEPROCW lpEnumFunc,
359 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
371 ENUMRESTYPEPROCA lpEnumFunc,
375 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
394 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
413 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);