Exemple #1
0
LPDEVMODEA AFXAPI AfxDevModeW2A(LPDEVMODEA lpDevModeA, LPDEVMODEW lpDevModeW)
{
	if (lpDevModeW == NULL)
		return NULL;
	ASSERT(lpDevModeA != NULL);
	AfxW2AHelper((LPSTR)lpDevModeA->dmDeviceName, lpDevModeW->dmDeviceName, 32*sizeof(char));
	memcpy(&lpDevModeA->dmSpecVersion, &lpDevModeW->dmSpecVersion,
		offsetof(DEVMODEA, dmFormName) - offsetof(DEVMODEA, dmSpecVersion));
	AfxW2AHelper((LPSTR)lpDevModeA->dmFormName, lpDevModeW->dmFormName, 32*sizeof(char));
	memcpy(&lpDevModeA->dmLogPixels, &lpDevModeW->dmLogPixels,
		sizeof(DEVMODEA) - offsetof(DEVMODEA, dmLogPixels));
	if (lpDevModeW->dmDriverExtra != 0)
		memcpy(lpDevModeA+1, lpDevModeW+1, lpDevModeW->dmDriverExtra);
	lpDevModeA->dmSize = sizeof(DEVMODEA);
	return lpDevModeA;
}
CRuntimeClass* CBCGPGlobalUtils::RuntimeClassFromName(LPCWSTR lpszClassName)
{
#if (_MSC_VER <= 1200)

	if(lpszClassName == NULL)
	{
		return NULL;
	}

	int length = (int)wcslen(lpszClassName);
	if (length == 0)
	{
		return NULL;
	}

	LPSTR lpszClassNameA = new char[length + 1];
	AfxW2AHelper(lpszClassNameA, lpszClassName, length);

	CRuntimeClass* pClass = RuntimeClassFromName(lpszClassNameA);

	if (lpszClassNameA != NULL)
	{
		delete [] lpszClassNameA;
	}

	return pClass;

#else

	return CRuntimeClass::FromName(lpszClassName);

#endif
}
Exemple #3
0
LPDEVMODEA AFXAPI AfxDevModeW2A(LPDEVMODEA lpDevModeA, LPDEVMODEW lpDevModeW)
{
	if (lpDevModeW == NULL)
		return NULL;
	ASSERT(lpDevModeA != NULL);
	AfxW2AHelper((LPSTR)lpDevModeA->dmDeviceName, lpDevModeW->dmDeviceName, CCHDEVICENAME*sizeof(char));
	Checked::memcpy_s(&lpDevModeA->dmSpecVersion, offsetof(DEVMODEA, dmFormName) - offsetof(DEVMODEA, dmSpecVersion), 
		&lpDevModeW->dmSpecVersion, offsetof(DEVMODEA, dmFormName) - offsetof(DEVMODEA, dmSpecVersion));
	AfxW2AHelper((LPSTR)lpDevModeA->dmFormName, lpDevModeW->dmFormName, CCHFORMNAME*sizeof(char));
	Checked::memcpy_s(&lpDevModeA->dmLogPixels, sizeof(DEVMODEA) - offsetof(DEVMODEA, dmLogPixels), 
		&lpDevModeW->dmLogPixels, sizeof(DEVMODEA) - offsetof(DEVMODEA, dmLogPixels));

	if (lpDevModeW->dmDriverExtra != 0)
	{
		Checked::memcpy_s(lpDevModeA+1, lpDevModeW->dmDriverExtra, 
			lpDevModeW+1, lpDevModeW->dmDriverExtra);
	}
	lpDevModeA->dmSize = sizeof(DEVMODEA);
	return lpDevModeA;
}