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

📄 sample.c

📁 aesop s3c2440a BSP for windowsce 6.0
💻 C
字号:
#include <windows.h>

#ifdef DEBUG

#define ZONE_INIT		DEBUGZONE(0)
#define ZONE_DEINIT		DEBUGZONE(1)
#define ZONE_OPEN		DEBUGZONE(2)
#define ZONE_WRITE      DEBUGZONE(3)
#define ZONE_IOCONTROL  DEBUGZONE(4)
#define ZONE_CLOSE      DEBUGZONE(5)
#define ZONE_POWERUP    DEBUGZONE(6)
#define ZONE_POWERDOWN  DEBUGZONE(7)

DBGPARAM dpCurSettings = {
    TEXT("SAMPLE Driver"), {
    TEXT("Init"),TEXT("Deinit"),TEXT("Open"),TEXT("Write"),
    TEXT("IOControl"),TEXT("Close"),TEXT("PowerUp"),TEXT("PowerDown"),
    TEXT("Undefined"),TEXT("Undefined"),TEXT("Undefined"),TEXT("Undefined"),
    TEXT("Undefined"),TEXT("Undefined"),TEXT("Undefined"),TEXT("Undefined") },
    0x1
};
#endif 

#define METHOD_BUFFERED                 0
#define FILE_ANY_ACCESS                 0
#define CTL_CODE( DeviceType, Function, Method, Access ) (                 \
    ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
)

#define IOCTL_SAMPLE_FIRST	CTL_CODE( 0, 0x800, 0, 0 )

BOOL WINAPI
DllMain(HINSTANCE DllInstance, DWORD Reason, LPVOID Reserved)
{
    switch(Reason) {
        case DLL_PROCESS_ATTACH:
            DEBUGREGISTER(DllInstance);
            break;
    }
    return TRUE;
}   

#define INITHANDLE 1
DWORD
SAM_Init(
    DWORD dwContext
    )
{
    DEBUGMSG(ZONE_INIT, (TEXT("SAMPLE: SAM_Init \r\n")));
	return INITHANDLE;
}

BOOL
SAM_Deinit(
    DWORD InitHandle     
    )
{
    DEBUGMSG(ZONE_DEINIT, (TEXT("SAMPLE: SAM_Deinit \r\n")));
    return TRUE;
}   

void SAM_PowerUp(
	DWORD InitHandle
	)
{
    DEBUGMSG(ZONE_POWERUP, (TEXT("SAMPLE: SAM_PowerUp \r\n")));
}

void SAM_PowerDown(
	DWORD InitHandle
	)
{
    DEBUGMSG(ZONE_POWERDOWN, (TEXT("SAMPLE: SAM_PowerDown \r\n")));
}

#define OPENHANDLE 2
DWORD
SAM_Open(
	DWORD InitHandle,
    DWORD dwAccess,
    DWORD dwShareMode
    )
{
    DEBUGMSG(ZONE_OPEN, (TEXT("SAMPLE: SAM_Open \r\n")));
    return OPENHANDLE;
}   

BOOL
SAM_Close(
    DWORD OpenHandle
    )
{
    DEBUGMSG(ZONE_CLOSE, (TEXT("SAMPLE: SAM_Close \r\n")));
    return TRUE;
}   

BOOL
SAM_IOControl(
    DWORD OpenHandle,
    DWORD dwIoControlCode,
    PBYTE pInBuf,
    DWORD nInBufSize,
    PBYTE pOutBuf,
    DWORD nOutBufSize,
    PDWORD pBytesReturned
    )
{
    DEBUGMSG(ZONE_IOCONTROL, (TEXT("SAMPLE: SAM_IOControl \r\n")));

	switch( dwIoControlCode )
	{
	case IOCTL_SAMPLE_FIRST:
		break;
	}
	return TRUE;
}   

DWORD SAM_Write(
	DWORD OpenHandle, 
	LPCVOID pBuffer, 
	DWORD dwNumBytes
	)
{
    DEBUGMSG(ZONE_WRITE, (TEXT("SAMPLE: SAM_Write \r\n")));
	return 0;
}


⌨️ 快捷键说明

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