* AUTHOR : ???
*/
-#include <ddk/ntddk.h>
-#include <windows.h>
-#include <ntdll/ldr.h>
+#include <k32.h>
+
+#define NDEBUG
#include <kernel32/kernel32.h>
-#include <kernel32/error.h>
+/*
+ * @implemented
+ */
HRSRC
STDCALL
FindResourceA (
return FindResourceExA (hModule, lpType, lpName, 0);
}
+
+/*
+ * @implemented
+ */
HRSRC
STDCALL
FindResourceExA(
return Res;
}
+
+/*
+ * @implemented
+ */
HRSRC
STDCALL
FindResourceW (
return FindResourceExW (hModule, lpType, lpName, 0);
}
+
+/*
+ * @implemented
+ */
HRSRC
STDCALL
FindResourceExW (
PIMAGE_RESOURCE_DATA_ENTRY ResourceDataEntry = NULL;
LDR_RESOURCE_INFO ResourceInfo;
NTSTATUS Status;
- int i,l;
- ULONG nType = 0, nName = 0;
-
+
if ( hModule == NULL )
- hModule = GetModuleHandle(NULL);
-
- if ( HIWORD(lpName) != 0 ) {
- if ( lpName[0] == L'#' ) {
- l = lstrlenW(lpName) -1;
-
- for(i=0;i<l;i++) {
- nName = lpName[i+1] - L'0';
- if ( i < l - 1 )
- nName*= 10;
- }
- }
- else
- {
- SetLastErrorByStatus (STATUS_INVALID_PARAMETER);
- return NULL;
- }
-
- lpName = (LPWSTR)nName;
- }
+ hModule = (HINSTANCE)GetModuleHandleW(NULL);
- if ( HIWORD(lpType) != 0 ) {
- if ( lpType[0] == L'#' ) {
- l = lstrlenW(lpType);
-
- for(i=0;i<l;i++) {
- nType = lpType[i] - L'0';
- if ( i < l - 1 )
- nType*= 10;
- }
- }
- else
- {
- SetLastErrorByStatus (STATUS_INVALID_PARAMETER);
- return NULL;
- }
-
- lpType = (LPWSTR)nType;
+ if ( !IS_INTRESOURCE(lpName) && lpName[0] == L'#' ) {
+ lpName = MAKEINTRESOURCEW(wcstoul(lpName + 1, NULL, 10));
+ }
+ if ( !IS_INTRESOURCE(lpType) && lpType[0] == L'#' ) {
+ lpType = MAKEINTRESOURCEW(wcstoul(lpType + 1, NULL, 10));
}
ResourceInfo.Type = (ULONG)lpType;
return ResourceDataEntry;
}
+
+/*
+ * @implemented
+ */
HGLOBAL
STDCALL
LoadResource (
NTSTATUS Status;
PVOID Data;
+ if (hModule == NULL)
+ {
+ hModule = (HINSTANCE)GetModuleHandleW(NULL);
+ }
+
Status = LdrAccessResource (hModule, hResInfo, &Data, NULL);
if (!NT_SUCCESS(Status))
{
return Data;
}
+
+/*
+ * @implemented
+ */
DWORD
STDCALL
SizeofResource (
return ((PIMAGE_RESOURCE_DATA_ENTRY)hResInfo)->Size;
}
+
+/*
+ * @unimplemented
+ */
WINBOOL
STDCALL
FreeResource (
return TRUE;
}
+
+/*
+ * @unimplemented
+ */
LPVOID
STDCALL
LockResource (
return hResData;
}
+
+/*
+ * @unimplemented
+ */
HANDLE
STDCALL
BeginUpdateResourceW (
}
+/*
+ * @unimplemented
+ */
HANDLE
STDCALL
BeginUpdateResourceA (
return FALSE;
}
+
+/*
+ * @unimplemented
+ */
WINBOOL
STDCALL
EndUpdateResourceW (
}
+/*
+ * @unimplemented
+ */
WINBOOL
STDCALL
EndUpdateResourceA (
);
}
+
+/*
+ * @unimplemented
+ */
WINBOOL
STDCALL
EnumResourceLanguagesW (
- HINSTANCE hModule,
- LPCWSTR lpType,
- LPCWSTR lpName,
- ENUMRESLANGPROC lpEnumFunc,
- LONG lParam
+ HINSTANCE hModule,
+ LPCWSTR lpType,
+ LPCWSTR lpName,
+ ENUMRESLANGPROCW lpEnumFunc,
+ LONG lParam
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
WINBOOL
STDCALL
EnumResourceLanguagesA (
- HINSTANCE hModule,
- LPCSTR lpType,
- LPCSTR lpName,
- ENUMRESLANGPROC lpEnumFunc,
- LONG lParam
+ HINSTANCE hModule,
+ LPCSTR lpType,
+ LPCSTR lpName,
+ ENUMRESLANGPROCA lpEnumFunc,
+ LONG lParam
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
}
+/*
+ * @unimplemented
+ */
WINBOOL
STDCALL
EnumResourceNamesW (
- HINSTANCE hModule,
- LPCWSTR lpType,
- ENUMRESNAMEPROC lpEnumFunc,
- LONG lParam
+ HINSTANCE hModule,
+ LPCWSTR lpType,
+ ENUMRESNAMEPROCW lpEnumFunc,
+ LONG lParam
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
}
+/*
+ * @unimplemented
+ */
WINBOOL
STDCALL
EnumResourceNamesA (
- HINSTANCE hModule,
- LPCSTR lpType,
- ENUMRESNAMEPROC lpEnumFunc,
- LONG lParam
+ HINSTANCE hModule,
+ LPCSTR lpType,
+ ENUMRESNAMEPROCA lpEnumFunc,
+ LONG lParam
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
}
+/*
+ * @unimplemented
+ */
WINBOOL
STDCALL
EnumResourceTypesW (
- HINSTANCE hModule,
- ENUMRESTYPEPROC lpEnumFunc,
- LONG lParam
+ HINSTANCE hModule,
+ ENUMRESTYPEPROCW lpEnumFunc,
+ LONG lParam
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
}
-
+/*
+ * @unimplemented
+ */
WINBOOL
STDCALL
EnumResourceTypesA (
- HINSTANCE hModule,
- ENUMRESTYPEPROC lpEnumFunc,
- LONG lParam
+ HINSTANCE hModule,
+ ENUMRESTYPEPROCA lpEnumFunc,
+ LONG lParam
)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
+
+/*
+ * @unimplemented
+ */
WINBOOL
STDCALL
UpdateResourceA (
}
+/*
+ * @unimplemented
+ */
WINBOOL
STDCALL
UpdateResourceW (
return FALSE;
}
-
/* EOF */