📄 usbdgadget.cpp
字号:
#include "usbdgadget.h"
#include "generic.h"
#include <winbase.h>
#include <pm.h>
BOOL
CALLBACK DllMain(HANDLE hDLL,
DWORD dwReason,
LPVOID lpvReserved)
{
switch (dwReason) {
case DLL_PROCESS_ATTACH :
DEBUGREGISTER((HINSTANCE)hDLL);
RETAILMSG(MDSMSG, (TEXT("UDG Attach : DLL_PROCESS_ATTACH\r\n")));
//DisableThreadLibraryCalls((HMODULE) hDLL);
break;
case DLL_PROCESS_DETACH :
RETAILMSG(MDSMSG, (TEXT("UDG Detach : DLL_PROCESS_DETACH\r\n")));
break;
case DLL_THREAD_DETACH :
break;
case DLL_THREAD_ATTACH :
break;
default :
break;
}
return TRUE;
}
DWORD
UDG_Init (DWORD dwIndex)
{
DWORD dwRet;
RETAILMSG(MDSMSG, (TEXT("UDG_Init()\r\n")));
dwRet = (DWORD)UDGContext::CreateUDGContext(dwIndex);
return dwRet;
}
BOOL
UDG_Deinit (DWORD dwData)
{
RETAILMSG(MDSMSG, (TEXT("UDG_Deinit()\r\n")));
return ( g_pUDGContext->Deinit(
g_pUDGContext->m_pHWContext )
);
}
VOID
UDG_PowerUp (DWORD hDeviceContext)
{
RETAILMSG(MDSMSG, (TEXT("UDG_PowerUp()\r\n")));
g_pUDGContext->PowerUp(
g_pUDGContext->m_pHWContext
);
}
VOID
UDG_PowerDown (DWORD hDeviceContext)
{
RETAILMSG(MDSMSG, (TEXT("UDG_PowerDown()\r\n")));
g_pUDGContext->PowerDown(
g_pUDGContext->m_pHWContext
);
}
DWORD
UDG_Open (DWORD dwData,
DWORD dwAccess,
DWORD dwShareMode)
{
RETAILMSG(MDSMSG, (TEXT("UDG_Open()\r\n")));
return (TRUE);
}
BOOL
UDG_Close (DWORD Handle)
{
RETAILMSG(MDSMSG, (TEXT("UDG_Close()\r\n")));
/*
if(g_pUDGContext->StopInterruptThread() != ERROR_SUCCESS)
{
RETAILMSG(MDSMSG, (TEXT("UDG_Open() - Failed stop interrupt thread \r\n")));
return (FALSE);
}
*/ return (TRUE);
}
BOOL
UDG_IOControl(
DWORD hOpenContext,
DWORD dwCode,
PBYTE pBufIn,
DWORD dwLenIn,
PBYTE pBufOut,
DWORD dwLenOut,
PDWORD pdwActualOut)
{
RETAILMSG(MDSMSG, (TEXT("UDG_IOControl()\r\n")));
return TRUE;
}
DWORD
UDG_Write (DWORD hOpenContext,
LPVOID pBuffer,
DWORD dwCount)
{
RETAILMSG(MDSMSG, (TEXT("UDG_Write()\r\n")));
DWORD dwWritten = 0;
dwWritten = g_pUDGContext->StartTransfer(
g_pUDGContext->m_pHWContext,
pBuffer,
dwCount,
IN_TRANSFER
);
return dwWritten;
}
DWORD
UDG_Read (DWORD hOpenContext,
LPVOID pBuffer,
DWORD dwCount)
{
// RETAILMSG(MDSMSG, (TEXT("UDG_Read()\r\n")));
DWORD dwBytesRead = 0;
dwBytesRead = g_pUDGContext->StartTransfer(
g_pUDGContext->m_pHWContext,
pBuffer,
dwCount,
OUT_TRANSFER
);
// RETAILMSG(MDSMSG, (_T("UDG_Read() : Read_data: %s, dwBytesRead: %d\r\n"),
// pBuffer, dwBytesRead));
return dwBytesRead;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -