亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bak_io.cpp

?? windows ce 50 drive program
?? CPP
字號:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
/*

THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.

*/

#include <windows.h>
#include <pm.h>
#include "pmplatform.h"
#include "bak_hw.h"



//  Global structure
extern BLStruct g_BLInfo;
extern HANDLE   g_evtSignal[NUM_EVENTS];

DWORD 
BAK_Init(DWORD dwContext)
{
	HANDLE  hThread;
	DWORD   dwThreadID;
	
	RETAILMSG(1, (TEXT("BAK_Init: dwContext = 0x%x\r\n"), dwContext));

	// Perform all one-time initialization of the backlight
	if (!BacklightInitialize())
	{
		RETAILMSG(1, (TEXT("BAK_Init:couldn't initialize backlight hardware \r\n")));
		return 0;
	}

	// Create the backlight service thread
	hThread = CreateThread(NULL, 0, BL_MonitorThread, NULL, 0, &dwThreadID);
	if (hThread == NULL) 
	{
		RETAILMSG(1, (TEXT("BAK_Init: failed to create BL_MonitorThread\r\n")));
		return 0;
	}

	return dwThreadID;
}



BOOL 
BAK_Deinit(DWORD dwContext)
{
	BL_Deinit();
    return TRUE;
}



DWORD 
BAK_Open(DWORD dwData, DWORD dwAccess, DWORD dwShareMode)
{
	return dwData;
}



BOOL 
BAK_Close(DWORD Handle)
{
    return TRUE;
}



void 
BAK_PowerDown(void)
{
    BL_On(FALSE);
}



void
BAK_PowerUp(void)
{
	BL_PowerOn(TRUE);
}



DWORD 
BAK_Read(DWORD Handle, LPVOID pBuffer, DWORD dwNumBytes)
{
	return 0;
}



DWORD 
BAK_Write(DWORD Handle, LPCVOID pBuffer, DWORD dwNumBytes)
{
	return 0;
}



DWORD 
BAK_Seek(DWORD Handle, long lDistance, DWORD dwMoveMethod)
{
	return (DWORD) -1;
}



BOOL 
BAK_IOControl(
			  DWORD Handle, 
			  DWORD dwCode, 
			  PBYTE pBufIn, 
			  DWORD dwLenIn,
			  PBYTE pBufOut, 
			  DWORD dwLenOut, 
			  PDWORD pdwActualOut
			  )
{
    BOOL RetVal = TRUE;
    DWORD dwErr = ERROR_SUCCESS;    

    switch (dwCode) 
	{
		RETAILMSG(1, (TEXT("BAK_IOControl: Handle = 0x%x, dwCode = 0x%x\r\n"), Handle, dwCode));
		RETAILMSG(1, (TEXT("               pBufIn = 0x%x, dwLenIn = 0x%x\r\n"), pBufIn, dwLenIn));
		RETAILMSG(1, (TEXT("               pOutBuf = 0x%x, dwLenOut = 0x%x\r\n"), pBufOut, dwLenOut));
		RETAILMSG(1, (TEXT("               pdwActualOut = 0x%x\r\n"), pdwActualOut));
        //
        // Power Management
        //
		case IOCTL_POWER_CAPABILITIES: 
        {
            PPOWER_CAPABILITIES ppc;
			RETAILMSG(1, (TEXT("BAK: IOCTL_POWER_CAPABILITIES\r\n")));   
            
			if ( !pdwActualOut || !pBufOut || (dwLenOut < sizeof(POWER_CAPABILITIES)) ) {
                RetVal = FALSE;
                dwErr = ERROR_INVALID_PARAMETER;
                break;
            }
			
            ppc = (PPOWER_CAPABILITIES)pBufOut;
            
            memset(ppc, 0, sizeof(POWER_CAPABILITIES));

            // support D0, D4 
            ppc->DeviceDx = 0x11;

            // Report our power consumption in uAmps rather than mWatts. 
            ppc->Flags = POWER_CAP_PREFIX_MICRO | POWER_CAP_UNIT_AMPS;
            
			// 25 m = 25000 uA
            // TODO: find out a more accurate value
			ppc->Power[D0] = 25000;
            
            *pdwActualOut = sizeof(POWER_CAPABILITIES);
        } break;

		case IOCTL_POWER_SET: 
        {
            CEDEVICE_POWER_STATE NewDx;

            if ( !pdwActualOut || !pBufOut || (dwLenOut < sizeof(CEDEVICE_POWER_STATE)) ) {
                RetVal = FALSE;
                dwErr = ERROR_INVALID_PARAMETER;
                break;
            }
            
            NewDx = *(PCEDEVICE_POWER_STATE)pBufOut;

            if ( VALID_DX(NewDx) ) {
                switch ( NewDx ) {
                case D0:
                    //  Power changed, we need to notify the monitor thread to resync
                    //  the timer
                    SetEvent(g_evtSignal[BL_POWEREVT]);
                    BL_On(TRUE);
                    break;

                default:
                    BL_On(FALSE);
                    break;
                }

                RETAILMSG(1, (TEXT("BAK: IOCTL_POWER_SET: D%u \r\n"), NewDx));

                *pdwActualOut = sizeof(CEDEVICE_POWER_STATE);
            } else {
                RetVal = FALSE;
                dwErr = ERROR_INVALID_PARAMETER;
            }
            
        } break;

        case IOCTL_POWER_GET: 
            if ( !pdwActualOut || !pBufOut || (dwLenOut < sizeof(CEDEVICE_POWER_STATE)) ) {
                RetVal = FALSE;
                dwErr = ERROR_INVALID_PARAMETER;
                break;
            }

			CEDEVICE_POWER_STATE Dx;


			if (g_BLInfo.m_dwStatus == BL_ON){
				Dx = D4;
			}
			else {
				Dx = D0;
			}

			*(PCEDEVICE_POWER_STATE)pBufOut = Dx;
            RETAILMSG(1, (TEXT("USB_SER: IOCTL_POWER_GET: D%u \r\n"), Dx));

            *pdwActualOut = sizeof(CEDEVICE_POWER_STATE);
	        break;

		default:
            RetVal = FALSE;
            RETAILMSG(1, (TEXT(" Unsupported ioctl 0x%X\r\n"), dwCode));
            break;
	}
	
	return(RetVal);
}



BOOL
WINAPI
DllMain(
    HANDLE  hinstDll,
    DWORD   dwReason,
    LPVOID  lpReserved
    )
{
	switch(dwReason)
	{
		case DLL_PROCESS_ATTACH:
			// RETAILMSG(1, (TEXT("BAK_DllMain: DLL_PROCESS_ATTACH\r\n")));
			break;

		case DLL_PROCESS_DETACH:
			// RETAILMSG(1, (TEXT("BAK_DllMain: DLL_PROCESS_DETACH\r\n")));
			break;
    }
    return TRUE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费在线观看视频| 欧美精品一区二区三区蜜桃 | 毛片一区二区三区| 成人av在线网| 2014亚洲片线观看视频免费| 亚洲一区二区精品3399| 成人福利视频在线看| 欧美成人女星排名| 亚洲国产一区在线观看| a美女胸又www黄视频久久| 26uuu色噜噜精品一区| 日韩综合小视频| 在线观看日韩av先锋影音电影院| 国产女同性恋一区二区| 精品影院一区二区久久久| 欧美精品乱码久久久久久按摩| 中文字幕一区二区不卡| 国产激情一区二区三区四区 | bt7086福利一区国产| 久久在线免费观看| 精品一二三四区| 日韩一级片网址| 日本三级韩国三级欧美三级| 欧美日韩在线三级| 亚洲香肠在线观看| 91久久精品一区二区| 亚洲日本乱码在线观看| 成人av电影在线观看| 国产欧美日韩精品一区| 国产成人av福利| 久久久久久久久久久久电影 | 奇米影视一区二区三区| 欧美日本国产一区| 亚洲成av人片在www色猫咪| 在线影院国内精品| 亚洲一区二区三区视频在线播放| 一本大道综合伊人精品热热| 亚洲欧美国产77777| 91免费版在线| 亚洲狼人国产精品| 欧美专区在线观看一区| 亚洲一区二区不卡免费| 欧美日韩国产免费| 喷水一区二区三区| 精品少妇一区二区三区免费观看| 喷水一区二区三区| 精品久久久久一区| 国产一区二区不卡| 国产精品美女久久久久久久网站| 成人免费电影视频| 亚洲免费电影在线| 欧美日韩高清一区二区三区| 亚洲成av人片在线观看| 欧美一级高清片| 国产一区中文字幕| 国产亚洲自拍一区| 99久久国产免费看| 一区二区三区四区激情| 欧美高清hd18日本| 久久精品国内一区二区三区| 久久久影视传媒| av一二三不卡影片| 亚洲视频一区二区在线观看| 欧洲亚洲精品在线| 蜜臀国产一区二区三区在线播放 | 欧美日韩三级一区| 久久精品国产在热久久| 精品日韩在线观看| 成人精品免费看| 亚洲国产婷婷综合在线精品| 欧美一区二区日韩| 国产成人精品影视| 一区二区三区四区在线播放| 欧美一区二区在线观看| 国产99久久久国产精品潘金网站| 亚洲免费观看高清在线观看| 欧美理论电影在线| 国产精品亚洲成人| 亚洲综合在线五月| www成人在线观看| 色婷婷国产精品综合在线观看| 日韩成人免费看| 欧美国产综合一区二区| 欧美影院精品一区| 精品一区二区久久| 一区二区三区四区五区视频在线观看 | 另类综合日韩欧美亚洲| 国产精品美女视频| 91精品国产综合久久久久久久久久 | 亚洲制服丝袜av| wwwwww.欧美系列| 在线免费观看日韩欧美| 黑人巨大精品欧美黑白配亚洲| 亚洲图片你懂的| 日韩欧美一区二区在线视频| 99国产精品久久| 韩国一区二区在线观看| 亚洲一二三区在线观看| 国产婷婷一区二区| 欧美另类z0zxhd电影| 成人高清视频在线| 久久国内精品视频| 一区二区三区精品在线观看| 久久久久久麻豆| 欧美精品在线一区二区三区| av在线播放一区二区三区| 麻豆久久久久久| 亚洲综合一二三区| 中文无字幕一区二区三区| 欧美一级二级三级乱码| 91麻豆产精品久久久久久| 国产一二三精品| 日本网站在线观看一区二区三区 | 国产精品国产成人国产三级 | 色综合久久久久综合体| 国产精品亚洲а∨天堂免在线| 日日骚欧美日韩| 一区二区三区国产精品| 亚洲国产精品t66y| 亚洲精品一区二区三区精华液| 欧美日韩亚洲综合在线 | 91精选在线观看| 色综合久久久久久久久久久| 国产精品中文字幕日韩精品| 青青草精品视频| 亚洲一区在线视频| 最新不卡av在线| 国产精品天天看| 久久亚洲综合av| 日韩写真欧美这视频| 欧美亚男人的天堂| 日本精品裸体写真集在线观看 | 奇米色一区二区| 亚洲影视资源网| 亚洲黄色小说网站| 欧美国产日韩a欧美在线观看| 精品国产成人系列| 欧美一级日韩免费不卡| 欧美日韩一区二区欧美激情| 91黄色免费观看| 91老师片黄在线观看| 成人久久18免费网站麻豆 | 成人综合婷婷国产精品久久蜜臀| 久久精品二区亚洲w码| 日本不卡免费在线视频| 午夜激情综合网| 天堂蜜桃91精品| 午夜精品久久久久久久99樱桃| 一区二区三区日韩精品| 亚洲美女精品一区| 亚洲人成精品久久久久| 亚洲少妇最新在线视频| 国产精品乱码妇女bbbb| 中文字幕av一区二区三区| 久久精品亚洲国产奇米99| 久久久精品天堂| 国产欧美日韩精品在线| 欧美经典一区二区三区| 亚洲国产高清aⅴ视频| 欧美韩日一区二区三区四区| 国产色婷婷亚洲99精品小说| 欧美激情一区二区三区蜜桃视频| 国产色产综合产在线视频| 国产婷婷一区二区| 欧美激情艳妇裸体舞| 中文字幕一区二区三区在线不卡| 综合激情网...| 亚洲综合一二区| 天天操天天干天天综合网| 日韩av不卡一区二区| 美日韩一级片在线观看| 狠狠狠色丁香婷婷综合激情| 国产成人亚洲综合a∨猫咪| 丁香激情综合国产| 91在线码无精品| 欧美午夜在线观看| 日韩欧美一级二级三级 | 欧美天堂一区二区三区| 欧美精品tushy高清| 日韩欧美的一区| 国产亚洲一区二区三区在线观看| 中文字幕av免费专区久久| 亚洲精品日日夜夜| 天天色综合天天| 国产一区二区电影| 一本色道久久加勒比精品| 欧美亚洲一区二区在线| 日韩视频一区在线观看| 久久久久青草大香线综合精品| 国产精品入口麻豆原神| 一区二区三区欧美久久| 日韩激情在线观看| 国产成人一级电影| 色婷婷久久99综合精品jk白丝| 欧美精品日韩综合在线| 久久久久久一二三区| 亚洲蜜臀av乱码久久精品蜜桃| 日精品一区二区| 成人午夜电影小说| 欧美日韩一区高清|