32 #ifndef REGISTER_SET_HELPER_H
33 #define REGISTER_SET_HELPER_H
45 static size_t CopyData(
void *pvDestination,
size_t nbyDestSize,
const void *pvSource,
size_t nbySourceSize )
47 if (nbyDestSize != nbySourceSize)
49 throw OUT_OF_RANGE_EXCEPTION(
"CopyData : Destination size (%ld) does not fit source size (%d)", nbyDestSize, nbySourceSize);
52 #if defined(_WINDOWS_)
53 if ( IsBadWritePtr(pvDestination, nbyDestSize) || IsBadReadPtr(pvSource, nbySourceSize) )
59 memcpy( pvDestination, pvSource, nbySourceSize );
67 static size_t CopyToBuffer(
void *pvDestination,
size_t nbyDestSize, T *d )
69 return CopyData( pvDestination, nbyDestSize, d,
sizeof( *d ) );
76 static size_t CopyFromBuffer( T *d,
const void *pvDestination,
size_t nbyDestSize)
78 return CopyData( d,
sizeof( *d ), pvDestination, nbyDestSize);
84 #endif // ifndef REGISTER_SET_HELPER_H