⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 my.cpp

📁 我写的第一个wince下串口流驱动。对于熟悉串口驱动很好。初学者应好好看看。
💻 CPP
字号:
#include<windows.h>
#include<tchar.h>

#define BUFFSIZE 256
WCHAR achBuffer[BUFFSIZE];

DWORD STR_Init(DWORD dwContext)
{
	DWORD dwRet = 0;
	RETAILMSG(1,(TEXT("MYSTRINGS:STR_init\n")));

	memset(achBuffer,0,BUFFSIZE*sizeof(WCHAR));
	dwRet = 1;
	return dwRet;
}


DWORD STR_Deinit(DWORD hDeviceContext)
{
	BOOL bRet = TRUE;
	RETAILMSG(1,(TEXT("MYSTRINGS:STR_Deinit\n")));
	return bRet;
}

DWORD STR_Open(DWORD hDeviceContext,DWORD AcessCode, DWORD ShareMode)
{
	DWORD dwRet = 0;
	RETAILMSG(1,(TEXT("MYSTRINGS:STR_Open\n")));

	memset(achBuffer,0,BUFFSIZE*sizeof(WCHAR));
	dwRet = 1;
	return dwRet;
}

DWORD STR_Close(DWORD hOpenContext)
{
	BOOL bRet = TRUE;
	RETAILMSG(1,(TEXT("MYSTRINGS:STR_Close\n")));
	return bRet;
}

DWORD STR_IOControl(DWORD hOpenContext,
					DWORD dwCode, 
					PBYTE pBufIn,
					DWORD dwLenIn,
					PBYTE pBufOut,
					DWORD dwLenOut,
					PDWORD pdwActualOut)
{
	BOOL bRet = TRUE;
	RETAILMSG(1,(TEXT("MYSTRINGS:STR_IOControl\n")));
	return bRet;
}

void STR_PowerDown(DWORD hDeviceContext)
{
	RETAILMSG(1,(TEXT("MYSTRINGS:STR_PowerDown\n")));
}

void STR_PowerUp(DWORD hDeviceContext)
{
	RETAILMSG(1,(TEXT("MYSTRINGS:STR_PowerUp\n")));
}

DWORD STR_Read( DWORD hOpenContext,
				LPVOID pBuffer,
				DWORD Count)
{
	DWORD dwRet = 0;
	RETAILMSG(1,(TEXT("MYSTRINGS:STR_Read\n")));
	DWORD cbBuffer = wcslen(achBuffer);
	dwRet = min(cbBuffer,Count);
	wcsncpy((LPWSTR)pBuffer, achBuffer,dwRet);
	return dwRet;
}

DWORD STR_Seek(DWORD hOpenContext,long Amount, DWORD Type)
{
	DWORD dwRet = 0;
	RETAILMSG(1,(TEXT("MYSTRINGS:STR_Seek\n")));
	return dwRet;
}

DWORD STR_Write( DWORD hOpenContext,
				LPVOID pSourceByte,
				DWORD NumberOfBytes)
{
	DWORD dwRet = 0;
	RETAILMSG(1,(TEXT("MYSTRINGS:STR_Write\n")));
	dwRet = min(BUFFSIZE,NumberOfBytes);
	wcsncpy(achBuffer,(LPWSTR)pSourceByte,dwRet);
	return dwRet;
}

BOOL WINAPI
DllEntryPoint(HANDLE hinsDLL,
			  DWORD dwReason,
			  LPVOID lpvReserved)
{
	switch(dwReason)
	{
	case DLL_PROCESS_ATTACH:
		RETAILMSG(1,(TEXT("STRINGS:DLL_PROCESS_ATTACH\n")));
		return TRUE;
	
	case DLL_THREAD_ATTACH:
		RETAILMSG(1,(TEXT("STRINGS:DLL_PROCESS\n")));
		break;

	case DLL_THREAD_DETACH:
		RETAILMSG(1,(TEXT("STRINGS:DLL_THREAD_DETACH\n")));
		break;

	case DLL_PROCESS_DETACH:
		RETAILMSG(1,(TEXT("STRINGS:DLL_PROCESS_DETACH\n")));
		return TRUE;

#ifdef UNDEF_CE
	case DLL_PROCESS_EXITING:
		RETAILMSG(1,(TEXT("STRINGS:DLL_PROCESS_EXITING\n")));
		break;	

	case DLL_SYSTEM_STARTED:
		RETAILMSG(1,(TEXT("STRINGS:DLL_SYSTEM_STARTED\n")));
		break;
#endif
	}

	return TRUE;


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -