diff options
author | Jiyoung Yun <jy910.yun@samsung.com> | 2016-12-27 16:46:08 +0900 |
---|---|---|
committer | Jiyoung Yun <jy910.yun@samsung.com> | 2016-12-27 16:46:08 +0900 |
commit | db20f3f1bb8595633a7e16c8900fd401a453a6b5 (patch) | |
tree | e5435159cd1bf0519276363a6fe1663d1721bed3 /tests/src/Interop | |
parent | 4b4aad7217d3292650e77eec2cf4c198ea9c3b4b (diff) | |
download | coreclr-db20f3f1bb8595633a7e16c8900fd401a453a6b5.tar.gz coreclr-db20f3f1bb8595633a7e16c8900fd401a453a6b5.tar.bz2 coreclr-db20f3f1bb8595633a7e16c8900fd401a453a6b5.zip |
Imported Upstream version 1.0.0.9127upstream/1.0.0.9127
Diffstat (limited to 'tests/src/Interop')
8 files changed, 136 insertions, 236 deletions
diff --git a/tests/src/Interop/ArrayMarshalling/ByValArray/MarshalArrayByValNative.cpp b/tests/src/Interop/ArrayMarshalling/ByValArray/MarshalArrayByValNative.cpp index bf3d66d41c..27de41a826 100644 --- a/tests/src/Interop/ArrayMarshalling/ByValArray/MarshalArrayByValNative.cpp +++ b/tests/src/Interop/ArrayMarshalling/ByValArray/MarshalArrayByValNative.cpp @@ -185,84 +185,84 @@ Function /*---------------------------------------------------------------------------- marshal sequential strut ----------------------------------------------------------------------------*/ -extern "C" DLL_EXPORT BOOL TakeIntArraySeqStructByVal( S_INTArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeIntArraySeqStructByVal( S_INTArray s, int size ) { CHECK_PARAM_NOT_EMPTY( s.arr ); INIT_EXPECTED( INT, ARRAY_SIZE ); return Equals( s.arr, size, expected, ARRAY_SIZE ); } -extern "C" DLL_EXPORT BOOL TakeUIntArraySeqStructByVal( S_UINTArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeUIntArraySeqStructByVal( S_UINTArray s, int size ) { CHECK_PARAM_NOT_EMPTY( s.arr ); INIT_EXPECTED( UINT, ARRAY_SIZE ); return Equals( s.arr, size, expected, ARRAY_SIZE ); } -extern "C" DLL_EXPORT BOOL TakeShortArraySeqStructByVal( S_SHORTArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeShortArraySeqStructByVal( S_SHORTArray s, int size ) { CHECK_PARAM_NOT_EMPTY( s.arr ); INIT_EXPECTED( SHORT, ARRAY_SIZE ); return Equals( s.arr, size, expected, ARRAY_SIZE ); } -extern "C" DLL_EXPORT BOOL TakeWordArraySeqStructByVal( S_WORDArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeWordArraySeqStructByVal( S_WORDArray s, int size ) { CHECK_PARAM_NOT_EMPTY( s.arr ); INIT_EXPECTED( WORD, ARRAY_SIZE ); return Equals( s.arr, size, expected, ARRAY_SIZE ); } -extern "C" DLL_EXPORT BOOL TakeLong64ArraySeqStructByVal( S_LONG64Array s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeLong64ArraySeqStructByVal( S_LONG64Array s, int size ) { CHECK_PARAM_NOT_EMPTY( s.arr ); INIT_EXPECTED( LONG64, ARRAY_SIZE ); return Equals( s.arr, size, expected, ARRAY_SIZE ); } -extern "C" DLL_EXPORT BOOL TakeULong64ArraySeqStructByVal( S_ULONG64Array s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeULong64ArraySeqStructByVal( S_ULONG64Array s, int size ) { CHECK_PARAM_NOT_EMPTY( s.arr ); INIT_EXPECTED( ULONG64, ARRAY_SIZE ); return Equals( s.arr, size, expected, ARRAY_SIZE ); } -extern "C" DLL_EXPORT BOOL TakeDoubleArraySeqStructByVal( S_DOUBLEArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeDoubleArraySeqStructByVal( S_DOUBLEArray s, int size ) { CHECK_PARAM_NOT_EMPTY( s.arr ); INIT_EXPECTED( DOUBLE, ARRAY_SIZE ); return Equals( s.arr, size, expected, ARRAY_SIZE ); } -extern "C" DLL_EXPORT BOOL TakeFloatArraySeqStructByVal( S_FLOATArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeFloatArraySeqStructByVal( S_FLOATArray s, int size ) { CHECK_PARAM_NOT_EMPTY( s.arr ); INIT_EXPECTED( FLOAT, ARRAY_SIZE ); return Equals( s.arr, size, expected, ARRAY_SIZE ); } -extern "C" DLL_EXPORT BOOL TakeByteArraySeqStructByVal( S_BYTEArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeByteArraySeqStructByVal( S_BYTEArray s, int size ) { CHECK_PARAM_NOT_EMPTY( s.arr ); INIT_EXPECTED( BYTE, ARRAY_SIZE ); return Equals( s.arr, size, expected, ARRAY_SIZE ); } -extern "C" DLL_EXPORT BOOL TakeCharArraySeqStructByVal( S_CHARArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeCharArraySeqStructByVal( S_CHARArray s, int size ) { CHECK_PARAM_NOT_EMPTY( s.arr ); INIT_EXPECTED( CHAR, ARRAY_SIZE ); return Equals( s.arr, size, expected, ARRAY_SIZE ); } -extern "C" DLL_EXPORT BOOL TakeIntPtrArraySeqStructByVal(S_DWORD_PTRArray s, int size) +extern "C" DLL_EXPORT BOOL WINAPI TakeIntPtrArraySeqStructByVal(S_DWORD_PTRArray s, int size) { CHECK_PARAM_NOT_EMPTY(s.arr); INIT_EXPECTED( DWORD_PTR, ARRAY_SIZE); return Equals(s.arr, size, expected, ARRAY_SIZE); } -extern "C" DLL_EXPORT BOOL TakeLPSTRArraySeqStructByVal( S_LPSTRArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeLPSTRArraySeqStructByVal( S_LPSTRArray s, int size ) { CHECK_PARAM_NOT_EMPTY( s.arr ); @@ -273,7 +273,7 @@ extern "C" DLL_EXPORT BOOL TakeLPSTRArraySeqStructByVal( S_LPSTRArray s, int siz return Equals( s.arr, size, expected, ARRAY_SIZE ); } -extern "C" DLL_EXPORT BOOL TakeLPCSTRArraySeqStructByVal( S_LPCSTRArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeLPCSTRArraySeqStructByVal( S_LPCSTRArray s, int size ) { CHECK_PARAM_NOT_EMPTY( s.arr ); @@ -286,7 +286,7 @@ extern "C" DLL_EXPORT BOOL TakeLPCSTRArraySeqStructByVal( S_LPCSTRArray s, int s -extern "C" DLL_EXPORT BOOL TakeStructArraySeqStructByVal( S_StructArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeStructArraySeqStructByVal( S_StructArray s, int size ) { CHECK_PARAM_NOT_EMPTY( s.arr ); @@ -297,69 +297,69 @@ extern "C" DLL_EXPORT BOOL TakeStructArraySeqStructByVal( S_StructArray s, int s /*---------------------------------------------------------------------------- marshal sequential class ----------------------------------------------------------------------------*/ -extern "C" DLL_EXPORT BOOL TakeIntArraySeqClassByVal( S_INTArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeIntArraySeqClassByVal( S_INTArray *s, int size ) { return TakeIntArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeUIntArraySeqClassByVal( S_UINTArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeUIntArraySeqClassByVal( S_UINTArray *s, int size ) { return TakeUIntArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeShortArraySeqClassByVal( S_SHORTArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeShortArraySeqClassByVal( S_SHORTArray *s, int size ) { return TakeShortArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeWordArraySeqClassByVal( S_WORDArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeWordArraySeqClassByVal( S_WORDArray *s, int size ) { return TakeWordArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeLong64ArraySeqClassByVal( S_LONG64Array *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeLong64ArraySeqClassByVal( S_LONG64Array *s, int size ) { return TakeLong64ArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeULong64ArraySeqClassByVal( S_ULONG64Array *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeULong64ArraySeqClassByVal( S_ULONG64Array *s, int size ) { return TakeULong64ArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeDoubleArraySeqClassByVal( S_DOUBLEArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeDoubleArraySeqClassByVal( S_DOUBLEArray *s, int size ) { return TakeDoubleArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeFloatArraySeqClassByVal( S_FLOATArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeFloatArraySeqClassByVal( S_FLOATArray *s, int size ) { return TakeFloatArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeByteArraySeqClassByVal( S_BYTEArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeByteArraySeqClassByVal( S_BYTEArray *s, int size ) { return TakeByteArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeCharArraySeqClassByVal( S_CHARArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeCharArraySeqClassByVal( S_CHARArray *s, int size ) { return TakeCharArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeLPSTRArraySeqClassByVal( S_LPSTRArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeLPSTRArraySeqClassByVal( S_LPSTRArray *s, int size ) { return TakeLPSTRArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeLPCSTRArraySeqClassByVal( S_LPCSTRArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeLPCSTRArraySeqClassByVal( S_LPCSTRArray *s, int size ) { return TakeLPCSTRArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeStructArraySeqClassByVal( S_StructArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeStructArraySeqClassByVal( S_StructArray *s, int size ) { return TakeStructArraySeqStructByVal( *s, size ); } @@ -367,69 +367,69 @@ extern "C" DLL_EXPORT BOOL TakeStructArraySeqClassByVal( S_StructArray *s, int s /*---------------------------------------------------------------------------- marshal explicit struct ----------------------------------------------------------------------------*/ -extern "C" DLL_EXPORT BOOL TakeIntArrayExpStructByVal( S_INTArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeIntArrayExpStructByVal( S_INTArray s, int size ) { return TakeIntArraySeqStructByVal( s, size ); } -extern "C" DLL_EXPORT BOOL TakeUIntArrayExpStructByVal( S_UINTArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeUIntArrayExpStructByVal( S_UINTArray s, int size ) { return TakeUIntArraySeqStructByVal( s, size ); } -extern "C" DLL_EXPORT BOOL TakeShortArrayExpStructByVal( S_SHORTArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeShortArrayExpStructByVal( S_SHORTArray s, int size ) { return TakeShortArraySeqStructByVal( s, size ); } -extern "C" DLL_EXPORT BOOL TakeWordArrayExpStructByVal( S_WORDArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeWordArrayExpStructByVal( S_WORDArray s, int size ) { return TakeWordArraySeqStructByVal( s, size ); } -extern "C" DLL_EXPORT BOOL TakeLong64ArrayExpStructByVal( S_LONG64Array s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeLong64ArrayExpStructByVal( S_LONG64Array s, int size ) { return TakeLong64ArraySeqStructByVal( s, size ); } -extern "C" DLL_EXPORT BOOL TakeULong64ArrayExpStructByVal( S_ULONG64Array s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeULong64ArrayExpStructByVal( S_ULONG64Array s, int size ) { return TakeULong64ArraySeqStructByVal( s, size ); } -extern "C" DLL_EXPORT BOOL TakeDoubleArrayExpStructByVal( S_DOUBLEArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeDoubleArrayExpStructByVal( S_DOUBLEArray s, int size ) { return TakeDoubleArraySeqStructByVal( s, size ); } -extern "C" DLL_EXPORT BOOL TakeFloatArrayExpStructByVal( S_FLOATArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeFloatArrayExpStructByVal( S_FLOATArray s, int size ) { return TakeFloatArraySeqStructByVal( s, size ); } -extern "C" DLL_EXPORT BOOL TakeByteArrayExpStructByVal( S_BYTEArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeByteArrayExpStructByVal( S_BYTEArray s, int size ) { return TakeByteArraySeqStructByVal( s, size ); } -extern "C" DLL_EXPORT BOOL TakeCharArrayExpStructByVal( S_CHARArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeCharArrayExpStructByVal( S_CHARArray s, int size ) { return TakeCharArraySeqStructByVal( s, size ); } -extern "C" DLL_EXPORT BOOL TakeLPSTRArrayExpStructByVal( S_LPSTRArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeLPSTRArrayExpStructByVal( S_LPSTRArray s, int size ) { return TakeLPSTRArraySeqStructByVal( s, size ); } -extern "C" DLL_EXPORT BOOL TakeLPCSTRArrayExpStructByVal( S_LPCSTRArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeLPCSTRArrayExpStructByVal( S_LPCSTRArray s, int size ) { return TakeLPCSTRArraySeqStructByVal( s, size ); } -extern "C" DLL_EXPORT BOOL TakeStructArrayExpStructByVal( S_StructArray s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeStructArrayExpStructByVal( S_StructArray s, int size ) { return TakeStructArraySeqStructByVal( s, size ); } @@ -437,69 +437,69 @@ extern "C" DLL_EXPORT BOOL TakeStructArrayExpStructByVal( S_StructArray s, int s /*---------------------------------------------------------------------------- marshal explicit class ----------------------------------------------------------------------------*/ -extern "C" DLL_EXPORT BOOL TakeIntArrayExpClassByVal( S_INTArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeIntArrayExpClassByVal( S_INTArray *s, int size ) { return TakeIntArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeUIntArrayExpClassByVal( S_UINTArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeUIntArrayExpClassByVal( S_UINTArray *s, int size ) { return TakeUIntArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeShortArrayExpClassByVal( S_SHORTArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeShortArrayExpClassByVal( S_SHORTArray *s, int size ) { return TakeShortArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeWordArrayExpClassByVal( S_WORDArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeWordArrayExpClassByVal( S_WORDArray *s, int size ) { return TakeWordArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeLong64ArrayExpClassByVal( S_LONG64Array *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeLong64ArrayExpClassByVal( S_LONG64Array *s, int size ) { return TakeLong64ArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeULong64ArrayExpClassByVal( S_ULONG64Array *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeULong64ArrayExpClassByVal( S_ULONG64Array *s, int size ) { return TakeULong64ArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeDoubleArrayExpClassByVal( S_DOUBLEArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeDoubleArrayExpClassByVal( S_DOUBLEArray *s, int size ) { return TakeDoubleArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeFloatArrayExpClassByVal( S_FLOATArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeFloatArrayExpClassByVal( S_FLOATArray *s, int size ) { return TakeFloatArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeByteArrayExpClassByVal( S_BYTEArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeByteArrayExpClassByVal( S_BYTEArray *s, int size ) { return TakeByteArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeCharArrayExpClassByVal( S_CHARArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeCharArrayExpClassByVal( S_CHARArray *s, int size ) { return TakeCharArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeLPSTRArrayExpClassByVal( S_LPSTRArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeLPSTRArrayExpClassByVal( S_LPSTRArray *s, int size ) { return TakeLPSTRArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeLPCSTRArrayExpClassByVal( S_LPCSTRArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeLPCSTRArrayExpClassByVal( S_LPCSTRArray *s, int size ) { return TakeLPCSTRArraySeqStructByVal( *s, size ); } -extern "C" DLL_EXPORT BOOL TakeStructArrayExpClassByVal( S_StructArray *s, int size ) +extern "C" DLL_EXPORT BOOL WINAPI TakeStructArrayExpClassByVal( S_StructArray *s, int size ) { return TakeStructArraySeqStructByVal( *s, size ); } @@ -507,77 +507,77 @@ extern "C" DLL_EXPORT BOOL TakeStructArrayExpClassByVal( S_StructArray *s, int s /*---------------------------------------------------------------------------- return a struct including a C array ----------------------------------------------------------------------------*/ -extern "C" DLL_EXPORT S_INTArray* S_INTArray_Ret() +extern "C" DLL_EXPORT S_INTArray* WINAPI S_INTArray_Ret() { INIT_EXPECTED_STRUCT( S_INTArray, ARRAY_SIZE, INT ); return expected; } -extern "C" DLL_EXPORT S_UINTArray* S_UINTArray_Ret() +extern "C" DLL_EXPORT S_UINTArray* WINAPI S_UINTArray_Ret() { INIT_EXPECTED_STRUCT( S_UINTArray, ARRAY_SIZE, UINT ); return expected; } -extern "C" DLL_EXPORT S_SHORTArray* S_SHORTArray_Ret() +extern "C" DLL_EXPORT S_SHORTArray* WINAPI S_SHORTArray_Ret() { INIT_EXPECTED_STRUCT( S_SHORTArray, ARRAY_SIZE, SHORT ); return expected; } -extern "C" DLL_EXPORT S_WORDArray* S_WORDArray_Ret() +extern "C" DLL_EXPORT S_WORDArray* WINAPI S_WORDArray_Ret() { INIT_EXPECTED_STRUCT( S_WORDArray, ARRAY_SIZE, WORD ); return expected; } -extern "C" DLL_EXPORT S_LONG64Array* S_LONG64Array_Ret() +extern "C" DLL_EXPORT S_LONG64Array* WINAPI S_LONG64Array_Ret() { INIT_EXPECTED_STRUCT( S_LONG64Array, ARRAY_SIZE, LONG64 ); return expected; } -extern "C" DLL_EXPORT S_ULONG64Array* S_ULONG64Array_Ret() +extern "C" DLL_EXPORT S_ULONG64Array* WINAPI S_ULONG64Array_Ret() { INIT_EXPECTED_STRUCT( S_ULONG64Array, ARRAY_SIZE, ULONG64 ); return expected; } -extern "C" DLL_EXPORT S_DOUBLEArray* S_DOUBLEArray_Ret() +extern "C" DLL_EXPORT S_DOUBLEArray* WINAPI S_DOUBLEArray_Ret() { INIT_EXPECTED_STRUCT( S_DOUBLEArray, ARRAY_SIZE, DOUBLE ); return expected; } -extern "C" DLL_EXPORT S_FLOATArray* S_FLOATArray_Ret() +extern "C" DLL_EXPORT S_FLOATArray* WINAPI S_FLOATArray_Ret() { INIT_EXPECTED_STRUCT( S_FLOATArray, ARRAY_SIZE, FLOAT ); return expected; } -extern "C" DLL_EXPORT S_BYTEArray* S_BYTEArray_Ret() +extern "C" DLL_EXPORT S_BYTEArray* WINAPI S_BYTEArray_Ret() { INIT_EXPECTED_STRUCT( S_BYTEArray, ARRAY_SIZE, BYTE ); return expected; } -extern "C" DLL_EXPORT S_CHARArray* S_CHARArray_Ret() +extern "C" DLL_EXPORT S_CHARArray* WINAPI S_CHARArray_Ret() { INIT_EXPECTED_STRUCT( S_CHARArray, ARRAY_SIZE, CHAR ); return expected; } -extern "C" DLL_EXPORT S_LPSTRArray* S_LPSTRArray_Ret() +extern "C" DLL_EXPORT S_LPSTRArray* WINAPI S_LPSTRArray_Ret() { S_LPSTRArray *expected = (S_LPSTRArray *)::CoTaskMemAlloc( sizeof(S_LPSTRArray) ); for ( int i = 0; i < ARRAY_SIZE; ++i ) @@ -587,7 +587,7 @@ extern "C" DLL_EXPORT S_LPSTRArray* S_LPSTRArray_Ret() } -extern "C" DLL_EXPORT S_StructArray* S_StructArray_Ret() +extern "C" DLL_EXPORT S_StructArray* WINAPI S_StructArray_Ret() { S_StructArray *expected = (S_StructArray *)::CoTaskMemAlloc( sizeof(S_StructArray) ); for ( int i = 0; i < ARRAY_SIZE; ++i ) diff --git a/tests/src/Interop/PrimitiveMarshalling/Bool/BoolNative.cpp b/tests/src/Interop/PrimitiveMarshalling/Bool/BoolNative.cpp index ba8c10bd77..79ab5c9a8f 100644 --- a/tests/src/Interop/PrimitiveMarshalling/Bool/BoolNative.cpp +++ b/tests/src/Interop/PrimitiveMarshalling/Bool/BoolNative.cpp @@ -116,8 +116,10 @@ extern "C" DLL_EXPORT BOOL __stdcall MarshalPointer_Out(/*[out]*/ BOOL *pboolVal } #pragma warning(push) +#if _MSC_VER <= 1900 // 'BOOL' forcing value to bool 'true' or 'false' #pragma warning(disable: 4800) +#endif extern "C" DLL_EXPORT bool __stdcall Marshal_As_In(/*[in]*/bool boolValue) { diff --git a/tests/src/Interop/RefCharArray/RefCharArrayNative.cpp b/tests/src/Interop/RefCharArray/RefCharArrayNative.cpp index 09f4671858..0d0af27412 100755 --- a/tests/src/Interop/RefCharArray/RefCharArrayNative.cpp +++ b/tests/src/Interop/RefCharArray/RefCharArrayNative.cpp @@ -6,7 +6,7 @@ #include <stdio.h> #include <stdlib.h> -size_t LEN = 10; +const int LEN = 10; extern "C" BOOL DLL_EXPORT _cdecl MarshalRefCharArray_Cdecl(char ** pstr) { //Check the Input diff --git a/tests/src/Interop/SimpleStruct/SimpleStructNative.cpp b/tests/src/Interop/SimpleStruct/SimpleStructNative.cpp index 5fe82146b8..fb855a42e8 100644 --- a/tests/src/Interop/SimpleStruct/SimpleStructNative.cpp +++ b/tests/src/Interop/SimpleStruct/SimpleStructNative.cpp @@ -30,7 +30,7 @@ DLL_EXPORT BOOL _cdecl CdeclSimpleStructByRef(Sstr *p) { p->a = 100; p->b=1; - strncpy(p->str,"after",6); + strcpy_s(p->str, 7, "after"); return TRUE; } @@ -81,7 +81,7 @@ DLL_EXPORT ExplStruct* _cdecl CdeclSimpleExplStruct(ExplStruct p,BOOL *result) } extern "C" -DLL_EXPORT voidPtr _cdecl GetFptr(int i) +DLL_EXPORT voidPtr __stdcall GetFptr(int i) { switch(i) { diff --git a/tests/src/Interop/StringMarshalling/UTF8/UTF8TestNative.cpp b/tests/src/Interop/StringMarshalling/UTF8/UTF8TestNative.cpp index f4e0f2f950..700765143c 100644 --- a/tests/src/Interop/StringMarshalling/UTF8/UTF8TestNative.cpp +++ b/tests/src/Interop/StringMarshalling/UTF8/UTF8TestNative.cpp @@ -6,7 +6,7 @@ const int NSTRINGS = 6; #ifdef _WIN32 -wchar_t *utf8strings[] = { L"Managed", +const wchar_t *utf8strings[] = { L"Managed", L"S\x00EEne kl\x00E2wen durh die wolken sint geslagen" , L"\x0915\x093E\x091A\x0902 \x0936\x0915\x094D\x0928\x094B\x092E\x094D\x092F\x0924\x094D\x0924\x0941\x092E\x094D \x0964 \x0928\x094B\x092A\x0939\x093F\x0928\x0938\x094D\x0924\x093F \x092E\x093E\x092E\x094D", L"\x6211\x80FD\x541E\x4E0B\x73BB\x7483\x800C\x4E0D\x4F24\x8EAB\x4F53", @@ -17,7 +17,7 @@ L"\0" -char* utf16_to_utf8(wchar_t *srcstring) +char* utf16_to_utf8(const wchar_t *srcstring) { if ((srcstring == NULL) || (*srcstring == L'\0')) { return 0; diff --git a/tests/src/Interop/StructMarshalling/PInvoke/MarshalStructAsParamDLL.cpp b/tests/src/Interop/StructMarshalling/PInvoke/MarshalStructAsParamDLL.cpp index fe9ceeaa40..08954434ae 100644 --- a/tests/src/Interop/StructMarshalling/PInvoke/MarshalStructAsParamDLL.cpp +++ b/tests/src/Interop/StructMarshalling/PInvoke/MarshalStructAsParamDLL.cpp @@ -167,22 +167,10 @@ extern "C" DLL_EXPORT BOOL WINAPI MarshalStructAsParam_AsSeqByValOut3(CharSetAns } extern "C" DLL_EXPORT BOOL WINAPI MarshalStructAsParam_AsSeqByRefOut3(CharSetAnsiSequential* str1) { - char const* strSource = "change string"; - int len = strlen(strSource); - LPCSTR temp = (LPCSTR)TP_CoTaskMemAlloc((sizeof(char)*len)+1); - if(temp != NULL) - { - TP_CoTaskMemFree((void*)(str1->f1)); - strcpy((char*)temp,strSource); - str1->f1 = temp; - str1->f2 = 'n'; - return TRUE; - } - else - { - printf("Memory Allocated Failed !"); - return FALSE; - } + TP_CoTaskMemFree((void*)(str1->f1)); + str1->f1 = CoStrDup("change string"); + str1->f2 = 'n'; + return TRUE; } //////////////////////////////////////////////////////////////////////////////////////////////// @@ -663,7 +651,7 @@ extern "C" DLL_EXPORT BOOL WINAPI MarshalStructAsParam_AsSeqByVal14(S11 str1) { if( str1.i32 != 0 || str1.i != 32 ) return FALSE; - str1.i32 = (LPINT)(long)(str1.i); + str1.i32 = reinterpret_cast<LPINT>(static_cast<INT_PTR>(str1.i)); str1.i = 64; return TRUE; } @@ -673,7 +661,7 @@ extern "C" DLL_EXPORT BOOL WINAPI MarshalStructAsParam_AsSeqByRef14(S11* str1) return FALSE; else { - str1->i32 = (LPINT)(long)(str1->i); + str1->i32 = reinterpret_cast<LPINT>(static_cast<INT_PTR>(str1->i)); str1->i = 64; return TRUE; } @@ -684,7 +672,7 @@ extern "C" DLL_EXPORT BOOL WINAPI MarshalStructAsParam_AsSeqByRefIn14(S11* str1) return FALSE; else { - str1->i32 = (LPINT)(long)(str1->i); + str1->i32 = reinterpret_cast<LPINT>(static_cast<INT_PTR>(str1->i)); str1->i = 64; return TRUE; } @@ -698,7 +686,7 @@ extern "C" DLL_EXPORT BOOL WINAPI MarshalStructAsParam_AsSeqByValOut14(S11 str1) } extern "C" DLL_EXPORT BOOL WINAPI MarshalStructAsParam_AsSeqByRefOut14(S11* str1) { - str1->i32 = (LPINT)(long)(str1->i); + str1->i32 = reinterpret_cast<LPINT>(static_cast<INT_PTR>(str1->i)); str1->i = 64; return TRUE; } @@ -817,7 +805,7 @@ extern "C" DLL_EXPORT BOOL WINAPI MarshalStructAsParam_AsExpByValInnerArrayExpli return FALSE; } } - if(memcmp((&outer2)->f4,"some string2",12) != 0) + if(memcmp((&outer2)->s.f4,"some string2",12) != 0) { printf("\tMarshalStructAsParam_AsExpByVal3:InnerArrayExplicit param f4 not as expected\n"); return FALSE; @@ -835,7 +823,7 @@ extern "C" DLL_EXPORT BOOL WINAPI MarshalStructAsParam_AsExpByRefInnerArrayExpli return FALSE; } } - if(memcmp(outer2->f4,"some string2",12) != 0) + if(memcmp(outer2->s.f4,"some string2",12) != 0) { printf("\tMarshalStructAsParam_AsExpByRef3:InnerArrayExplicit param f4 not as expected\n"); return FALSE; @@ -844,11 +832,8 @@ extern "C" DLL_EXPORT BOOL WINAPI MarshalStructAsParam_AsExpByRefInnerArrayExpli { outer2->arr[i].f1 = 77; } - char const * temp = "change string2"; - size_t len = strlen(temp); - LPCSTR str = (LPCSTR)TP_CoTaskMemAlloc( sizeof(char)*(len+1) ); - strcpy((char*)str,temp); - outer2->f4 = str; + + outer2->s.f4 = CoStrDup("change string2"); return TRUE; } @@ -862,7 +847,7 @@ extern "C" DLL_EXPORT BOOL WINAPI MarshalStructAsParam_AsExpByRefInInnerArrayExp return FALSE; } } - if(memcmp(outer2->f4, "some string2",12*(sizeof(char))) != 0) + if(memcmp(outer2->s.f4, "some string2",12*(sizeof(char))) != 0) { printf("\tMarshalStructAsParam_AsExpByRefIn3:InnerArrayExplicit param f4 not as expected\n"); return FALSE; @@ -871,11 +856,7 @@ extern "C" DLL_EXPORT BOOL WINAPI MarshalStructAsParam_AsExpByRefInInnerArrayExp { outer2->arr[i].f1 = 77; } - char const * temp = "change string2"; - size_t len = strlen(temp); - LPCSTR str = (LPCSTR)TP_CoTaskMemAlloc( sizeof(char)*(len+1) ); - strcpy((char*)str,temp); - outer2->f4 = str; + outer2->s.f4 = CoStrDup("change string2"); return TRUE; } extern "C" DLL_EXPORT BOOL WINAPI MarshalStructAsParam_AsExpByRefOutInnerArrayExplicit(InnerArrayExplicit* outer2) @@ -884,11 +865,7 @@ extern "C" DLL_EXPORT BOOL WINAPI MarshalStructAsParam_AsExpByRefOutInnerArrayEx { outer2->arr[i].f1 = 77; } - char const * temp = "change string2"; - size_t len = strlen(temp); - LPCSTR str = (LPCSTR)TP_CoTaskMemAlloc( sizeof(char)*(len+1) ); - strcpy((char*)str,temp); - outer2->f4 = str; + outer2->s.f4 = CoStrDup("change string2"); return TRUE; } diff --git a/tests/src/Interop/StructMarshalling/PInvoke/MarshalStructAsParamDLL.h b/tests/src/Interop/StructMarshalling/PInvoke/MarshalStructAsParamDLL.h index bf767271fb..22ad037a6a 100644 --- a/tests/src/Interop/StructMarshalling/PInvoke/MarshalStructAsParamDLL.h +++ b/tests/src/Interop/StructMarshalling/PInvoke/MarshalStructAsParamDLL.h @@ -1,6 +1,17 @@ #include "platformdefines.cpp" #include <xplatform.h> +inline char* CoStrDup(const char* str) +{ + size_t size = strlen(str) + 1; + char* dup = (char *)TP_CoTaskMemAlloc(size); + if (dup != nullptr) + { + strcpy_s(dup, size, str); + } + return dup; +} + const int NumArrElements = 2; struct InnerSequential { @@ -19,20 +30,7 @@ void ChangeInnerSequential(InnerSequential* p) { p->f1 = 77; p->f2 = 77.0; - - char const * lpstr = "changed string"; - size_t size = sizeof(char) * (strlen(lpstr) + 1); - LPSTR temp = (LPSTR)TP_CoTaskMemAlloc( size ); - memset(temp, 0, size); - if(temp) - { - strcpy( (char*)temp, lpstr ); - p->f3 = temp; - } - else - { - printf("Memory Allocated Failed!"); - } + p->f3 = CoStrDup("changed string"); } bool IsCorrectInnerSequential(InnerSequential* p) @@ -41,13 +39,7 @@ bool IsCorrectInnerSequential(InnerSequential* p) return false; if(p->f2 != 1.0) return false; - - char const * lpstr = "some string"; - size_t size = sizeof(char) * (strlen(lpstr) + 1); - LPSTR temp = (LPSTR)TP_CoTaskMemAlloc( size ); - memset(temp, 0, size); - - if( strcmp((char*)p->f3, temp) != 0 ) + if(strcmp(p->f3, "") != 0) return false; return true; @@ -62,6 +54,7 @@ typedef unsigned short WORD; typedef short SHORT; typedef float FLOAT; typedef double DOUBLE; +typedef long INT_PTR; #endif struct INNER2 // size = 12 bytes @@ -74,11 +67,7 @@ void ChangeINNER2(INNER2* p) { p->f1 = 77; p->f2 = 77.0; - char const * temp = "changed string"; - size_t len = strlen(temp); - LPCSTR str = (LPCSTR)TP_CoTaskMemAlloc( sizeof(char)*(len+1) ); - strcpy((char*)str,temp); - p->f3 = str; + p->f3 = CoStrDup("changed string"); } void PrintINNER2(INNER2* p, char const * name) { @@ -132,12 +121,7 @@ void PrintInnerExplicit(InnerExplicit* p, char const * name) void ChangeInnerExplicit(InnerExplicit* p) { p->f1 = 77; - - char const * temp = "changed string"; - size_t len = strlen(temp); - LPCSTR str = (LPCSTR)TP_CoTaskMemAlloc( sizeof(char)*(len+1) ); - strcpy((char*)str,temp); - p->f3 = str; + p->f3 = CoStrDup("changed string"); } struct InnerArraySequential @@ -157,25 +141,11 @@ void PrintInnerArraySequential(InnerArraySequential* p, char const * name) void ChangeInnerArraySequential(InnerArraySequential* p) { - char const * lpstr = "changed string"; - LPSTR temp; for(int i = 0; i < NumArrElements; i++) { (p->arr)[i].f1 = 77; (p->arr)[i].f2 = 77.0; - - size_t size = sizeof(char) * (strlen(lpstr) + 1); - temp = (LPSTR)TP_CoTaskMemAlloc( size ); - memset(temp, 0, size); - if(temp) - { - strcpy( (char*)temp, lpstr ); - (p->arr)[i].f3 = temp; - } - else - { - printf("Memory Allocated Failed!"); - } + (p->arr)[i].f3 = CoStrDup("changed string"); } } @@ -199,13 +169,14 @@ union InnerArrayExplicit // size = 32 bytes { LONG64 _unused0; LPCSTR f4; - }; - + } s; }; #ifdef WINDOWS #ifdef _WIN64 + #pragma warning(push) + #pragma warning(disable: 4201) // nonstandard extension used: nameless struct/union union OUTER3 // size = 32 bytes { struct InnerSequential arr[2]; @@ -215,6 +186,7 @@ union InnerArrayExplicit // size = 32 bytes LPCSTR f4; }; }; + #pragma warning(pop) #else struct OUTER3 // size = 28 bytes { @@ -244,22 +216,14 @@ void PrintOUTER3(OUTER3* p, char const * name) } void ChangeOUTER3(OUTER3* p) { - char const * temp = "changed string"; - size_t len = strlen(temp); - LPCSTR str = NULL; for(int i = 0; i < NumArrElements; i++) { (p->arr)[i].f1 = 77; (p->arr)[i].f2 = 77.0; - - str = (LPCSTR)TP_CoTaskMemAlloc( sizeof(char)*(len+1) ); - strcpy((char*)str,temp); - (p->arr)[i].f3 = str; + (p->arr)[i].f3 = CoStrDup("changed string"); } - str = (LPCSTR)TP_CoTaskMemAlloc( sizeof(char)*(len+1) ); - strcpy((char*)str,temp); - p->f4 = str; + p->f4 = CoStrDup("changed string"); } bool IsCorrectOUTER3(OUTER3* p) { @@ -293,19 +257,8 @@ void PrintCharSetAnsiSequential(CharSetAnsiSequential* p, char const * name) void ChangeCharSetAnsiSequential(CharSetAnsiSequential* p) { - char const * strSource = "change string"; - size_t size = strlen(strSource) + 1; - LPSTR temp = (LPSTR)TP_CoTaskMemAlloc(size); - if(temp != NULL) - { - strcpy((char*)temp,strSource); - p->f1 = temp; - p->f2 = 'n'; - } - else - { - printf("Memory Allocated Failed!"); - } + p->f1 = CoStrDup("change string"); + p->f2 = 'n'; } bool IsCorrectCharSetAnsiSequential(CharSetAnsiSequential* p) @@ -325,7 +278,11 @@ struct CharSetUnicodeSequential }; void PrintCharSetUnicodeSequential(CharSetUnicodeSequential* p, char const * name) { +#ifdef _WIN32 + wprintf(L"\t%S.f1 = %s\n", name, p->f1); +#else wprintf(L"\t%s.f1 = %S\n", name, p->f1); +#endif printf("\t%s.f2 = %c\n", name, p->f2); } @@ -336,7 +293,7 @@ void ChangeCharSetUnicodeSequential(CharSetUnicodeSequential* p) #else LPCWSTR strSource = u"change string"; #endif - int len = wcslen(strSource); + size_t len = wcslen(strSource); LPCWSTR temp = (LPCWSTR)TP_CoTaskMemAlloc(sizeof(WCHAR)*(len+1)); if(temp != NULL) { @@ -418,7 +375,7 @@ void ChangeNumberSequential(NumberSequential* p) bool IsCorrectNumberSequential(NumberSequential* p) { - if(p->i32 != -0x80000000 || p->ui32 != 0xffffffff || p->s1 != -0x8000 || p->us1 != 0xffff || p->b != 0 || + if(p->i32 != (-0x7fffffff - 1) || p->ui32 != 0xffffffff || p->s1 != -0x8000 || p->us1 != 0xffff || p->b != 0 || p->sb != 0x7f ||p->i16 != -0x8000 || p->ui16 != 0xffff || p->i64 != -1234567890 || p->ui64 != 1234567890 || (p->sgl) != 32.0 || p->d != 3.2) { @@ -448,17 +405,10 @@ void ChangeS3(S3* p) { p->flag = false; - char const * strSource = "change string"; - int len = strlen(strSource); - - LPCSTR temp = (LPCSTR)TP_CoTaskMemAlloc((sizeof(char)*len) + 1); - if(temp != NULL) - { - /*TP_CoTaskMemFree((void *)p->str);*/ - strcpy((char*)temp,strSource); - p->str = temp; - } - for(int i = 1;i<257;i++) + /*TP_CoTaskMemFree((void *)p->str);*/ + p->str = CoStrDup("change string"); + + for(int i = 1;i<257;i++) { p->vals[i-1] = i; } @@ -468,12 +418,7 @@ bool IsCorrectS3(S3* p) { int iflag = 0; - char const * lpstr = "some string"; - size_t size = sizeof(char) * (strlen(lpstr) + 1); - LPSTR temp = (LPSTR)TP_CoTaskMemAlloc( size ); - memset(temp, 0, size); - - if(!p->flag || strcmp((char*)p->str, temp) != 0) + if (!p->flag || strcmp(p->str, "") != 0) return false; for (int i = 0; i < 256; i++) { @@ -514,33 +459,16 @@ void PrintS5(S5* str, char const * name) } void ChangeS5(S5* str) { - Enum1 eInstance = e2; - char const * strSource = "change string"; - int len = strlen(strSource); - LPCSTR temp = (LPCSTR)TP_CoTaskMemAlloc(sizeof(char)*(len+1)); - if(temp != NULL) - { - strcpy((char*)temp,strSource); - str->s4.name = temp; - } + str->s4.name = CoStrDup("change string"); str->s4.age = 64; - str->ef = eInstance; + str->ef = e2; } bool IsCorrectS5(S5* str) { - Enum1 eInstance = e1; - - char const * lpstr = "some string"; - size_t size = sizeof(char) * (strlen(lpstr) + 1); - LPSTR temp = (LPSTR)TP_CoTaskMemAlloc( size ); - memset(temp, 0, size); - - if(str->s4.age != 32 || strcmp((char*)str->s4.name, temp) != 0) + if(str->s4.age != 32 || strcmp(str->s4.name, "") != 0) return false; - if(str->ef != eInstance) - { + if(str->ef != e1) return false; - } return true; } @@ -599,8 +527,13 @@ struct StringStructSequentialUnicode // size = 8 bytes void PrintStringStructSequentialUnicode(StringStructSequentialUnicode* str, char const * name) { +#ifdef _WIN32 + wprintf(L"\t%S.first = %s\n", name, str->first); + wprintf(L"\t%S.last = %s\n", name, str->last); +#else wprintf(L"\t%s.first = %s\n", name, str->first); wprintf(L"\t%s.last = %s\n", name, str->last); +#endif } bool IsCorrectStringStructSequentialUnicode(StringStructSequentialUnicode* str) @@ -674,19 +607,7 @@ bool IsCorrectS8(S8* str) void ChangeS8(S8* str) { - char const * lpstr = "world"; - size_t size = sizeof(char) * (strlen(lpstr) + 1); - LPSTR temp = (LPSTR)TP_CoTaskMemAlloc( size ); - memset(temp, 0, size); - if(temp) - { - strcpy( (char*)temp, lpstr ); - str->name = temp; - } - else - { - printf("Memory Allocated Failed!"); - } + str->name = CoStrDup("world"); str->gender = false; str->jobNum = 1; str->i32 = 256; @@ -787,7 +708,7 @@ void ChangeU(U* p) p->uiPtr = (LPVOID)(64); p->s = 32767; p->us = 0; - p->b = -1; + p->b = 255; p->sb = -128; p->l = -1234567890; p->ul = 0; diff --git a/tests/src/Interop/common/types.h b/tests/src/Interop/common/types.h index 7d7f7768a6..cb59c42e9d 100755 --- a/tests/src/Interop/common/types.h +++ b/tests/src/Interop/common/types.h @@ -28,7 +28,7 @@ typedef void* HMODULE; typedef void* ULONG_PTR; typedef unsigned error_t; typedef void* LPVOID; -typedef char BYTE; +typedef unsigned char BYTE; typedef WCHAR OLECHAR; typedef unsigned int UINT_PTR; @@ -54,4 +54,4 @@ typedef int* DWORD_PTR; #define FALSE 0 #endif -#endif //_INTEROP_TYPES__H
\ No newline at end of file +#endif //_INTEROP_TYPES__H |