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

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

?? audiorouting.cpp

?? AudioRouting.cpp : Defines the entry point for the DLL application. Audio Routing Service
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
                pC->hThread = NULL;
            }
        }
        DeleteCriticalSection( &pC->cs );
        LocalFree( pC );
        pC=NULL;
    }
    FUNCTRACEOUT();
    return TRUE;
}
extern "C" __declspec(dllexport) ULONG ARS_Init(
    ULONG Data
)
{  
    ARSCONTEXT *Context;
    FUNCTRACEIN();
    Context = (ARSCONTEXT*)LocalAlloc(LPTR, sizeof(ARSCONTEXT));

    if ( Context )
    {
        InitializeCriticalSection( &Context->cs );
        Context->hDllCoredll = LoadLibrary(TEXT("coredll.dll"));
        if ( Context->hDllCoredll )
        {
            Context->pfnKernelIoControl = (_KernelIoControl)GetProcAddress(Context->hDllCoredll,TEXT("KernelIoControl"));
            if ( NULL == Context->pfnKernelIoControl )
            {
                DebugMsg(L"Could not grab KernelIoControl\r\n");
                ARS_Deinit( (ULONG)Context );
                Context = NULL;
                goto ErrorExit;
            }

            // Get CPU type
            PROCESSOR_INFO pi;
            ULONG bytesWritten;
            BOOL bRet = Context->pfnKernelIoControl( IOCTL_PROCESSOR_INFORMATION, NULL, 0, &pi, sizeof( pi ), &bytesWritten);
            if (bRet)
            {
                // look for OMAP730,850 or 1030
                if ( wcsstr( pi.szProcessorName, L"OMAP730") 
                    || wcsstr( pi.szProcessorName, L"OMAP850") 
                    || wcsstr( pi.szProcessorName, L"OMAP1030") )
                {
                    DebugMsg(L"ProcName: %s\r\n", pi.szProcessorName );

                    // Go with omap
                    Context->AudioRouting = (CAudioRouting *) new CAudioRoutingTIOmap();
                    bool boolRet = Context->AudioRouting->Init();
                    if ( !boolRet )
                    {
                        DebugMsg(L"Could not grab KernelIoControl\r\n");
                        delete Context->AudioRouting;
                        Context->AudioRouting = NULL;
                        ARS_Deinit( (ULONG)Context );
                        Context = NULL;
                        goto ErrorExit;
                    }

                }
            }
            else
            {
                DebugMsg(L"KernelIoControl call failed %d", GetLastError() );
            }
        }
#if 0
        // Start the service
        if (StartService( Context ))
        {
            Context->ServiceStatus = SERVICE_STATE_ON;
        }
#endif
    }

ErrorExit:
    FUNCTRACEOUT();

    return (ULONG)Context;    
}



extern "C" __declspec(dllexport) ULONG ARS_Open(  
    ULONG Data,
    ULONG Access,
    ULONG ShareMode
)
{
    return Data;
}

extern "C" __declspec(dllexport) BOOL ARS_Close(
    ULONG Data
    )
{
    return TRUE;
}

extern "C" __declspec(dllexport) ULONG ARS_Read(
    ULONG Data,
    LPVOID  Buffer,
    ULONG   Length

    )
{
    return 0;
}
extern "C" __declspec(dllexport) ULONG ARS_Write(
    ULONG   Data,
    LPVOID  Buffer,
    ULONG   Length
    )
{
    return 0;
}


//______________________________________________________
extern "C" __declspec(dllexport) BOOL ARS_IOControl(
  ULONG Data,
  ULONG Code,
  PBYTE pBufIn,
  ULONG LenIn,
  PBYTE pBufOut,
  ULONG LenOut,
  ULONG *pActualOut
)
{
    ARSCONTEXT *pC = (ARSCONTEXT*)Data;
    ULONG ErrorCode = ERROR_INVALID_PARAMETER;
    BOOL bRet=FALSE;

    FUNCTRACEIN();

    DebugMsg(L"IOCTL_SERVICE_STATUS: %x (code:%x)\r\n", IOCTL_SERVICE_STATUS, Code);
    switch (Code)
    {
    case IOCTL_SERVICE_START:
        DebugMsg(L"IOCTL_SERVICE_START\r\n");
        if ( SERVICE_STATE_ON == pC->ServiceStatus )
        {
            ErrorCode=ERROR_SERVICE_ALREADY_RUNNING;
        }
        else
        {
            if (StartService(pC))
            {
                pC->ServiceStatus = SERVICE_STATE_ON;
                ErrorCode=ERROR_SUCCESS;
                bRet = TRUE;
            }
        }
        break;

    case IOCTL_SERVICE_STOP:
        DebugMsg(L"IOCTL_SERVICE_STOP\r\n");
        if (SERVICE_STATE_ON == pC->ServiceStatus)
        {
            if (StopService(pC))
            {
                pC->ServiceStatus = SERVICE_STATE_OFF;
                ErrorCode=ERROR_SUCCESS;
                bRet = TRUE;
            }
        } 
        else 
	    {
		    ErrorCode = ERROR_SERVICE_NOT_ACTIVE;
	    }
        break;
    case IOCTL_SERVICE_STATUS:
        DebugMsg(L"IOCTL_SERVICE_STATUS\r\n");
        if (pBufOut && (LenOut>=sizeof(ULONG)) )
        {
            *(ULONG*)pBufOut = pC->ServiceStatus;
            if (pActualOut)
            {
                DebugMsg(L"ServiceStatus: %x\r\n",pC->ServiceStatus);
                *pActualOut = sizeof(ULONG);
                bRet=TRUE;
                ErrorCode=ERROR_SUCCESS;
            }
        }
        break;
    case IOCTL_SERVICE_QUERY_CAN_DEINIT:
        DebugMsg(L"IOCTL_SERVICE_QUERY_CAN_DEINIT\r\n");
        if (pBufOut && (LenOut>=sizeof(ULONG)) )
        {
            *(ULONG*)pBufOut = TRUE;
            if (pActualOut)
            {
                *pActualOut = sizeof(ULONG);
                bRet=TRUE;
                ErrorCode=ERROR_SUCCESS;
            }
        }
        break;

    case IOCTL_SERVICE_INSTALL:
        DebugMsg(L"IOCTL_SERVICE_INSTALL\r\n");
    break;
    case IOCTL_SERVICE_UNINSTALL:
        DebugMsg(L"IOCTL_SERVICE_UNINSTALL\r\n");
    break;
    default:
        DebugMsg(L"ARS_IOControl: Unhandled IOCTL 0x%x\r\n", (Code >> 2) & 0x3fff);
        break;

    }

    FUNCTRACEOUT();
    SetLastError(ErrorCode);
    
    return bRet;
}


extern "C" __declspec(dllexport) BOOL PopulateAudioRoutingServiceRegistry(void)
{

    FUNCTRACEIN();

    HKEY hKey;
    ULONG Dispo;
    long r=RegCreateKeyEx(HKEY_LOCAL_MACHINE, L"Services\\AudioRouting", 0, NULL, 0, NULL, NULL, &hKey, &Dispo);
    if (ERROR_SUCCESS!=r)
    {
        DebugMsg(L"Could not create  HCConfigService key (%d)\r\n", GetLastError());
    }
    else
    {
        RegCloseKey(hKey);
    }


    HRESULT hr = RegistrySetString( HKEY_LOCAL_MACHINE, L"Services\\AudioRouting", L"Dll", L"AudioRouting.dll");
    if (S_OK != hr)
    {
        DebugMsg(L"Failed to write reg key %s\r\n", L"Dll");
    }
    hr = RegistrySetString( HKEY_LOCAL_MACHINE, L"Services\\AudioRouting", L"Prefix", L"ARS");
    if (S_OK != hr)
    {
        DebugMsg(L"Failed to write reg key %s\r\n",  L"Prefix");
    }
    hr = RegistrySetString( HKEY_LOCAL_MACHINE, L"Services\\AudioRouting", L"DisplayName", L"ColumbusAudio");
    if (S_OK != hr)
    {
        DebugMsg(L"Failed to write reg key %s\r\n", L"DisplayName");
    }
    hr = RegistrySetString( HKEY_LOCAL_MACHINE, L"Services\\AudioRouting", L"Description", L"Columbus Audio Rotuing Service");
    if (S_OK != hr)
    {
        DebugMsg(L"Failed to write reg key %s\r\n", L"Description");
    }
    hr = RegistrySetDWORD( HKEY_LOCAL_MACHINE, L"Services\\AudioRouting", L"Flags", 0);
    if (S_OK != hr)
    {
        DebugMsg(L"Failed to write reg key %s\r\n",  L"Flags");
    }
    hr = RegistrySetDWORD( HKEY_LOCAL_MACHINE, L"Services\\AudioRouting", L"Index", 1);
    if (S_OK != hr)
    {
        DebugMsg(L"Failed to write reg key %s\r\n",  L"Index");
    }
        hr = RegistrySetDWORD( HKEY_LOCAL_MACHINE, L"Services\\AudioRouting", L"Keep", 1);
    if (S_OK != hr)
    {
        DebugMsg(L"Failed to write reg key %s\r\n",L"Keep" );
    }
    hr = RegistrySetDWORD( HKEY_LOCAL_MACHINE, L"Services\\AudioRouting", L"Index", 80);
    if (S_OK != hr)
    {
        DebugMsg(L"Failed to write reg key %s\r\n",L"Index" );
    }
    FUNCTRACEOUT();
    return TRUE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区二区欧美| 久久精品夜色噜噜亚洲a∨| 欧美一区中文字幕| 久久亚洲欧美国产精品乐播 | 日本不卡123| 国产精品综合网| 日本伦理一区二区| 精品国产露脸精彩对白| 亚洲黄色录像片| 精品亚洲porn| 色哟哟一区二区三区| 欧美成人高清电影在线| ㊣最新国产の精品bt伙计久久| 香蕉成人啪国产精品视频综合网| 国产成人一区在线| 欧美日韩欧美一区二区| 欧美激情一区二区三区蜜桃视频 | 欧美一区二区三区男人的天堂| 国产日韩亚洲欧美综合| 亚洲va欧美va人人爽午夜 | 亚洲日本在线看| 蜜桃视频第一区免费观看| 99re这里只有精品首页| 精品日韩一区二区三区免费视频| 自拍偷拍国产亚洲| 国产麻豆一精品一av一免费 | 日本在线不卡一区| eeuss鲁片一区二区三区在线观看| 337p亚洲精品色噜噜狠狠| 中文字幕亚洲区| 国产自产高清不卡| 欧美一区二区三区男人的天堂| 亚洲人亚洲人成电影网站色| 国产呦精品一区二区三区网站| 欧美三级一区二区| 亚洲欧洲韩国日本视频| 国产在线播放一区三区四| 欧美日韩视频一区二区| 自拍偷拍亚洲欧美日韩| 国产盗摄一区二区| 日韩精品一区二区三区在线观看| 玉足女爽爽91| voyeur盗摄精品| 国产亚洲一区二区三区在线观看 | 精品电影一区二区| 日韩精品1区2区3区| 色八戒一区二区三区| 中文字幕巨乱亚洲| 国产激情一区二区三区四区 | 国产欧美一区二区三区网站 | 欧美性做爰猛烈叫床潮| 亚洲第一激情av| 欧美一区二区福利视频| 久久机这里只有精品| 欧美怡红院视频| 亚洲男人的天堂网| av不卡在线观看| 久久女同精品一区二区| 久久99国产精品成人| 在线播放国产精品二区一二区四区| 亚洲精品乱码久久久久久日本蜜臀| 成人午夜电影网站| 日韩视频免费观看高清完整版| 亚洲第一搞黄网站| 欧美性做爰猛烈叫床潮| 亚洲一线二线三线视频| 成人免费三级在线| 欧美激情一区不卡| 国产99一区视频免费| 欧美国产视频在线| 岛国av在线一区| 国产精品毛片无遮挡高清| 国产99久久精品| 久久一区二区三区四区| 国产一区日韩二区欧美三区| 精品国产免费一区二区三区四区 | 欧美性做爰猛烈叫床潮| 亚洲一区二区三区在线看| 欧美在线高清视频| 亚洲欧美激情在线| 在线视频综合导航| 亚洲成人在线观看视频| 欧美一区午夜视频在线观看| 蜜桃在线一区二区三区| ww亚洲ww在线观看国产| 国产成人一区在线| 日韩一区中文字幕| 日本道精品一区二区三区| 夜色激情一区二区| 欧美一级淫片007| 国产在线不卡一卡二卡三卡四卡| 国产欧美日韩视频一区二区| 99天天综合性| 亚洲综合男人的天堂| 91精品久久久久久蜜臀| 激情综合色综合久久| 亚洲国产精品99久久久久久久久| 91欧美激情一区二区三区成人| 一区二区三区影院| 91精品国产综合久久久久久久| 极品美女销魂一区二区三区免费| 国产日韩欧美精品综合| 色就色 综合激情| 日韩专区中文字幕一区二区| 久久综合给合久久狠狠狠97色69| 成人激情文学综合网| 一区二区三区四区不卡视频| 91精品国产一区二区三区蜜臀| 韩国精品主播一区二区在线观看| 国产精品久久影院| 3atv一区二区三区| 成人一二三区视频| 亚洲精品五月天| 精品久久久久一区| 欧美性猛交xxxxxx富婆| 亚洲欧美福利一区二区| 在线免费观看一区| 久久99国产精品尤物| 色屁屁一区二区| 中文字幕字幕中文在线中不卡视频| 欧美伊人久久大香线蕉综合69| 蜜臀91精品一区二区三区| 国产精品久久久久9999吃药| 欧美高清视频在线高清观看mv色露露十八| 精一区二区三区| 一卡二卡欧美日韩| 久久精品一二三| 欧美精品在线观看一区二区| 国产成人在线影院| 三级亚洲高清视频| ㊣最新国产の精品bt伙计久久| 日韩一区二区电影| 91高清在线观看| 国产成人免费视频精品含羞草妖精| 亚洲成人先锋电影| 一区在线中文字幕| 久久综合九色欧美综合狠狠 | 亚洲一区二区三区在线| 欧美tickling挠脚心丨vk| 日本韩国欧美三级| 国产精品一线二线三线精华| 午夜日韩在线观看| 亚洲视频一区二区在线观看| 欧美精品一区二区在线观看| 欧美喷潮久久久xxxxx| 成人av网站免费观看| 狠狠久久亚洲欧美| 日本欧美在线看| 亚洲午夜私人影院| 一本色道综合亚洲| 韩国午夜理伦三级不卡影院| 一区二区三区**美女毛片| www国产精品av| 欧美一级欧美三级在线观看| 色香蕉成人二区免费| 国产精品综合视频| 久久精品国产澳门| 午夜一区二区三区视频| 亚洲视频一区在线| 国产精品美女久久久久久久久| 精品国精品国产| 欧美美女激情18p| 91久久一区二区| 91美女片黄在线观看91美女| 成人久久视频在线观看| 老司机午夜精品99久久| 日韩激情中文字幕| 午夜视频一区在线观看| 亚洲国产日韩av| 亚洲在线观看免费| 一区二区三区免费| 亚洲女厕所小便bbb| 专区另类欧美日韩| 亚洲美女区一区| 亚洲精品一二三| 亚洲免费观看视频| 亚洲黄色免费电影| 亚洲一区二区三区四区五区黄| 一区二区三区在线免费观看| 亚洲卡通动漫在线| 亚洲一区二区av在线| 一区二区三区视频在线看| 悠悠色在线精品| 亚洲一二三级电影| 亚洲国产一区二区三区青草影视| 亚洲综合无码一区二区| 一区二区三区在线视频播放| 悠悠色在线精品| 亚州成人在线电影| 日韩电影在线免费看| 美女视频一区二区| 国精产品一区一区三区mba桃花| 国产一区二区三区四区五区美女 | 久久综合久色欧美综合狠狠| 精品国产麻豆免费人成网站| 久久久777精品电影网影网| 中文字幕欧美国产| 自拍偷在线精品自拍偷无码专区| 一级日本不卡的影视| 亚洲第一成年网|