Alexandre Julliard : mscoree: Implement a number of interop helpers.
Alexandre Julliard
julliard at winehq.org
Tue Mar 25 14:19:46 CDT 2008
Module: wine
Branch: master
Commit: 6e5bc73b8d58c79a39595c20b280d94ec70f0e75
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6e5bc73b8d58c79a39595c20b280d94ec70f0e75
Author: Alexandre Julliard <julliard at winehq.org>
Date: Tue Mar 25 15:21:18 2008 +0100
mscoree: Implement a number of interop helpers.
---
dlls/mscoree/mscoree.spec | 10 ++++++++
dlls/mscoree/mscoree_main.c | 50 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 60 insertions(+), 0 deletions(-)
diff --git a/dlls/mscoree/mscoree.spec b/dlls/mscoree/mscoree.spec
index 8a1e1f8..34defdc 100644
--- a/dlls/mscoree/mscoree.spec
+++ b/dlls/mscoree/mscoree.spec
@@ -72,6 +72,16 @@
@ stdcall LoadStringRCEx(long long ptr long long ptr)
@ stub LockClrVersion
@ stub MetaDataGetDispenser
+@ stdcall ND_CopyObjDst(ptr ptr long long)
+@ stdcall ND_CopyObjSrc(ptr long ptr long)
+@ stdcall ND_RI2(ptr long)
+@ stdcall ND_RI4(ptr long)
+@ stdcall -ret64 ND_RI8(ptr long)
+@ stdcall ND_RU1(ptr long)
+@ stdcall ND_WI2(ptr long long)
+@ stdcall ND_WI4(ptr long long)
+@ stdcall ND_WI8(ptr long long long)
+@ stdcall ND_WU1(ptr long long)
@ stub OpenCtrs
@ stub ReOpenMetaDataWithMemoryEx
@ stub RunDll at ShimW
diff --git a/dlls/mscoree/mscoree_main.c b/dlls/mscoree/mscoree_main.c
index 7093590..6f850f2 100644
--- a/dlls/mscoree/mscoree_main.c
+++ b/dlls/mscoree/mscoree_main.c
@@ -320,3 +320,53 @@ HRESULT WINAPI DllCanUnloadNow(VOID)
FIXME("stub\n");
return S_OK;
}
+
+INT WINAPI ND_RU1( const void *ptr, INT offset )
+{
+ return *((const BYTE *)ptr + offset);
+}
+
+INT WINAPI ND_RI2( const void *ptr, INT offset )
+{
+ return *(const SHORT *)((const BYTE *)ptr + offset);
+}
+
+INT WINAPI ND_RI4( const void *ptr, INT offset )
+{
+ return *(const INT *)((const BYTE *)ptr + offset);
+}
+
+INT64 WINAPI ND_RI8( const void *ptr, INT offset )
+{
+ return *(const INT64 *)((const BYTE *)ptr + offset);
+}
+
+void WINAPI ND_WU1( void *ptr, INT offset, BYTE val )
+{
+ *((BYTE *)ptr + offset) = val;
+}
+
+void WINAPI ND_WI2( void *ptr, INT offset, SHORT val )
+{
+ *(SHORT *)((BYTE *)ptr + offset) = val;
+}
+
+void WINAPI ND_WI4( void *ptr, INT offset, INT val )
+{
+ *(INT *)((BYTE *)ptr + offset) = val;
+}
+
+void WINAPI ND_WI8( void *ptr, INT offset, INT64 val )
+{
+ *(INT64 *)((BYTE *)ptr + offset) = val;
+}
+
+void WINAPI ND_CopyObjDst( const void *src, void *dst, INT offset, INT size )
+{
+ memcpy( (BYTE *)dst + offset, src, size );
+}
+
+void WINAPI ND_CopyObjSrc( const void *src, INT offset, void *dst, INT size )
+{
+ memcpy( dst, (const BYTE *)src + offset, size );
+}
More information about the wine-cvs
mailing list