当前位置: 代码迷 >> Windows Mobile >> 用VS2005如何样制作一个WinCE的驱动程序
  详细解决方案

用VS2005如何样制作一个WinCE的驱动程序

热度:112   发布时间:2016-04-25 07:47:38.0
用VS2005怎么样制作一个WinCE的驱动程序?
我按照书上的例子创建了一个VS2005的基于WM6   SDK的Win32   DLL工程,然后输入源代码,如下
#include   <windows.h>
#include   <tchar.h>

#define   MAX_LENGTH   1024

HANDLE   ghFile   =   NULL;

BOOL   WINAPI   DllEntryPoint(HANDLE   hinstDLL,   DWORD   dwReason,   LPVOID   lpReserved)
{
        return   TRUE;
}

DWORD   LOG_Init(DWORD   dwContext)
{
        ghFile   =   NULL;
        return   1;
}

DWORD   LOG_Deinit(DWORD   dwContext)
{
        ghFile   =   NULL;
        return   1;
}

DWORD   LOG_Open(DWORD   hDeviceContext,   DWORD   dwAccessCode,   DWORD   dwShareMode)
{
        ghFile   =   ::CreateFile(L "\\driver_log.txt ",   GENERIC_READ   |   GENERIC_WRITE,   FILE_SHARE_READ,
                NULL,   CREATE_ALWAYS,   FILE_ATTRIBUTE_NORMAL,   NULL);
        return   (ghFile   !=   INVALID_HANDLE_VALUE);
}

DWORD   LOG_Close(DWORD   hOpenContext)
{
        if   (ghFile   !=   NULL   &&   ghFile   !=   INVALID_HANDLE_VALUE)
        {
                ::CloseHandle(ghFile);
                ghFile   =   NULL;
                return   TRUE;
        }
        return   FALSE;
}

BOOL   LOG_IOControl(DWORD   hOpenContext,
                                      DWORD   dwCode,
                                      PBYTE   pBufIn,
                                      DWORD   dwLenIn,
                                      PBYTE   pBufOut,
                                      DWORD   dwLenOut,
                                      PDWORD   pdwActualOut)
{
        return   TRUE;
}

void   LOG_PowerDown(DWORD   hDeviceContext)
{
       
}

void   LOG_PowerUp(DWORD   hDeviceContext)
{
       
}

DWORD   LOG_Read(DWORD   hOpenContext,   LPVOID   pBuffer,   DWORD   dwCount)
{
        DWORD   dwActualCount   =   0;
        if   (::ReadFile(ghFile,   pBuffer,   dwCount,   &dwActualCount,   NULL))
        {
                return   dwActualCount;
  相关解决方案