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

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

?? dalgdo.c

?? 此代碼為WCE5.0下顯示器的源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
* Function creates the key name used for display adjustments sizing and
* and positioning as saved into the registry.
*
* Notes:
*
\**************************************************************************/

VOID vGetDisplayPerModeValueName(
    LPHW_DAL_EXTENSION lpHDE,
    LPUCHAR            lpTypeName,
    LPDEVMODE_INFO     lpMI,
    LPUCHAR            lpValueName
    )
{
  ULONG ulWidth;
  ULONG ulHeight;
  ULONG ulRefresh;
  int   i;

  char szWidth[5];
  char szHeight[5];
  char szRefresh[5];

  DALASSERT(lpTypeName != NULL,
            "vGetDisplayPerModeValueName - does not have a name!");
  DALASSERT(lpMI->ulPelsWidth != 0,
            "vGetDisplayPerModeValueName - invalid mode!");
  DALASSERT(lpMI->ulPelsHeight != 0,
            "vGetDisplayPerModeValueName - invalid mode!");

  strcpy(szWidth, "0000");
  strcpy(szHeight, "0000");
  strcpy(szRefresh, "0000");

  ulWidth   = lpMI->ulPelsWidth;
  ulHeight  = lpMI->ulPelsHeight;
  ulRefresh = lpMI->ulDisplayFrequency;

  for (i = 0; i < 4; i++)
  {
    szWidth[3-i]   += (char)(ulWidth % 10);
    szHeight[3-i]  += (char)(ulHeight % 10);
    szRefresh[3-i] += (char)(ulRefresh % 10);

    ulWidth   /= 10;
    ulHeight  /= 10;
    ulRefresh /= 10;
  }

  strcpy(lpValueName, DALREGKEY_DAL);
  strcat(lpValueName, lpTypeName);
  strcat(lpValueName, "x");
  strcat(lpValueName, szWidth);
  strcat(lpValueName, "x");
  strcat(lpValueName, szHeight);
  strcat(lpValueName, "x0x");
  strcat(lpValueName, szRefresh);
}


/****************************Private*Routine*******************************\
*
* VOID vGetDisplayPerModeAdjustments()
*
* Function queries the registry and references the display adjustments
* for all the per mode adjustments for the mode requested.
*
* Notes:
*
\**************************************************************************/

VOID vGetDisplayPerModeAdjustments(
LPHW_DAL_EXTENSION lpHDE,
LPDEVGDO lpDisplay,
LPDEVMODE_INFO lpMI)
{
  UCHAR aBuffer[MAX_REGISTRY_VALUENAME];
  ULONG ulSize;
  LONG  alAdjustmentBufffer[DAL_MAX_GDO_PER_MODE_ADJUSTMENTS];
  ULONG ulPerModeAdjustments;

  ZEROMEMORY((LPVOID)&alAdjustmentBufffer[0], 
             (sizeof(LONG) * DAL_MAX_GDO_PER_MODE_ADJUSTMENTS));

  vGetDisplayPerModeValueName(lpHDE, lpDisplay->lpHWED->lpDisplayName, lpMI, aBuffer);

  // Specify which adjustments to update
  ulPerModeAdjustments = GDO_HOOK_VERTICAL_POSITION_ADJUSTMENT    |
                         GDO_HOOK_HORIZONTAL_POSITION_ADJUSTMENT  |
                         GDO_HOOK_VERTICAL_SIZE_ADJUSTMENT        |
                         GDO_HOOK_HORIZONTAL_SIZE_ADJUSTMENT      |
                         GDO_HOOK_HORIZONTAL_SYNC                 |
                         GDO_HOOK_VERTICAL_SYNC;

  // DAL_MAX_GDO_PER_MODE_ADJUSTMENTS must correspond to the number
  // of adjustments specified above. Currently it is 6.
  ulSize = sizeof(LONG) * DAL_MAX_GDO_PER_MODE_ADJUSTMENTS;

  if(!(DDLGetRegistryParameters(lpHDE->hDDL,
                                (LPUCHAR) aBuffer,
                                (LPVOID)&alAdjustmentBufffer[0],
                                (LPULONG)&ulSize)) ||
      (ulSize != (sizeof(LONG) * DAL_MAX_GDO_PER_MODE_ADJUSTMENTS)))
  {
    // no user adjusted values in the registry, so read the values from
    // the defaults.

   // Update GDO adjustments from the saved defaults 
    vUpdatePerModeDisplayAdjustments(lpDisplay, ulPerModeAdjustments, 
                                     (LPLONG) &alAdjustmentBufffer[0], 
                                     DAL_SET_DISPLAY_DEFAULT_ADJUSTMENTS);
  }
  else
  {
    // Adjustment exists for this mode in the registry.
    // Buffer is filled with the registry value so fill
    // the GDO adjustment structure with these value.

    // Update GDO adjustments from registry 
    vUpdatePerModeDisplayAdjustments(lpDisplay, ulPerModeAdjustments, 
                                     (LPLONG) &alAdjustmentBufffer[0], 
                                     DAL_SET_DISPLAY_ADJUSTMENTS);
  }
}

/****************************Private*Routine*******************************\
*
* ULONG ulGetDisplayTVStandard()
*
* Reads the TV standard from the display structure, provided the display is
* of TYPE TV.
*
* Notes: the adjutsment structure needs already be initialized
*
*
\**************************************************************************/

ULONG ulGetDisplayTVStandard(
LPHW_DAL_EXTENSION lpHDE,
LPDEVGDO lpDisplay)
{
  ULONG i;

  DALASSERT((lpDisplay->lpHWED->ulDisplayType & HW_DISPLAY_TYPE_TV),
            "ulGetDisplayTVStandard - display not type TV!");

  for (i = 0; (VECTORFROMINDEX(i) != GDO_HOOK_VIDEO_STANDARD_ADJUSTMENT); i++);

  return(lpDisplay->alAdjustments[i]);
}



/****************************Private*Routine*******************************\
*
* VOID vGetDisplayAdjustmentDefaults()
*
* Walks all the adjustments available for the display and retrieves the
* defaults for the adjustments.
*
* Note: function has side effect of updating adjustment structures in the
*       DAL private GDO information.
*
\**************************************************************************/

VOID vGetDisplayAdjustmentDefaults(
LPHW_DAL_EXTENSION lpHDE,
LPDEVGDO lpDisplay,
LPDEVMODE_INFO lpMI)
{
  LPHW_ADJUSTMENT lpAdjustment;
  ULONG           ulIndex;
  ULONG           ulHook;

  for (ulIndex = 0, ulHook = 1;
       ulHook < GDO_ENDOF_ADJUSTMENTS;
       ulIndex ++, ulHook = (ulHook << 1))
  {
    // loop through each possible adjustment for the display, and query
    // the defaults for the adjustment functions hooked by the display.

    if (lpDisplay->lpHWED->ulFunctionHooks & ulHook)
    {
      // adjustment was hooked by the display, query it's defaults

      lpAdjustment = (LPHW_ADJUSTMENT) &lpDisplay->aAdjustment[ulIndex];

      switch(ulHook)
      {
        case GDO_HOOK_BRIGHTNESS_ADJUSTMENT:
          (*lpDisplay->lpHWED->pfnGetBrightnessAdjustment)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        case GDO_HOOK_CHROMA_FLICKER_REMOVAL_ADJUSTMENT:
          (*lpDisplay->lpHWED->pfnGetChromaFlickerAdjustment)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        case GDO_HOOK_COLOR_CONTROL_ADJUSTMENT:
          (*lpDisplay->lpHWED->pfnGetColorControlAdjustment)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        case GDO_HOOK_CONTRAST_ADJUSTMENT:
          (*lpDisplay->lpHWED->pfnGetContrastAdjustment)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        case GDO_HOOK_VERTICAL_POSITION_ADJUSTMENT:
          // lpAdjustment is 2 elements in size for this function, so both
          // horizontal and vertical are programmed with this one call.
          (*lpDisplay->lpHWED->pfnGetDisplayPositionAdjustment)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        case GDO_HOOK_HORIZONTAL_POSITION_ADJUSTMENT:
          // GDO's have a single call for positioning, hence let the vertical
          // hook catch both.
          break;

        case GDO_HOOK_VERTICAL_SIZE_ADJUSTMENT:
          // lpAdjustment is 2 elements in size for this function, so both
          // horizontal and vertical are programmed with this one call.
          (*lpDisplay->lpHWED->pfnGetDisplaySizeAdjustment)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        case GDO_HOOK_HORIZONTAL_SIZE_ADJUSTMENT:
          // GDO's have a single call for sizing, hence let the vertical
          // hook catch both.
          break;

        case GDO_HOOK_DOT_CRAWL_ADJUSTMENT:
          (*lpDisplay->lpHWED->pfnGetDotCrawlAdjustment)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        case GDO_HOOK_FILTER_SVIDEO_ADJUSTMENT:
          (*lpDisplay->lpHWED->pfnGetFilterSVideoAdjustment)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        case GDO_HOOK_FILTER_COMP_ADJUSTMENT:
          (*lpDisplay->lpHWED->pfnGetFilterCompAdjustment)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        case GDO_HOOK_GAMMA_ADJUSTMENT:
          (*lpDisplay->lpHWED->pfnGetGammaAdjustment)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        case GDO_HOOK_LUMA_FLICKER_REMOVAL_ADJUSTMENT:
          (*lpDisplay->lpHWED->pfnGetLumaFlickerAdjustment)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        case GDO_HOOK_VIDEO_STANDARD_ADJUSTMENT:
          (*lpDisplay->lpHWED->pfnGetVideoStandardAdjustment)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        case GDO_HOOK_VIDEO_SIGNAL_STANDARD_ADJUSTMENT:
          (*lpDisplay->lpHWED->pfnGetVideoSignalStandardAdjustment)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        case GDO_HOOK_OVERSCAN_ADJUSTMENT:
          (*lpDisplay->lpHWED->pfnGetOverscanAdjustment)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        case GDO_HOOK_MULTIMEDIAPASSTHRU_ADJUSTMENT:
          (*lpDisplay->lpHWED->pfnGetMultimediaPassThruAdjustment)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        case GDO_HOOK_HORIZONTAL_SYNC:
          (*lpDisplay->lpHWED->pfnGetSyncHorizontalAdjustment)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        case GDO_HOOK_VERTICAL_SYNC:
          (*lpDisplay->lpHWED->pfnGetSyncVerticalAdjustment)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        case GDO_HOOK_COMPOSITE_SYNC:
          (*lpDisplay->lpHWED->pfnGetSyncCompositeAdjustment)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        case GDO_HOOK_FRAMEMODULATION:
          (*lpDisplay->lpHWED->pfnGetFrameModulation)
                       (lpDisplay->hGDO,
                        lpAdjustment,
                        lpMI);
          break;

        default:
          lpAdjustment->lMin = 0;
          lpAdjustment->lMax = 0;
          lpAdjustment->lStep = 0;
          lpAdjustment->lDefault = 0;
          break;

      }

      // some GDO's are passing back bogus adjustments which need be fixed.

      DALASSERT((lpAdjustment->lMin <= lpAdjustment->lMax),
                "vGetDisplayAdjustmentDefaults - error in GDOGetAdjustment data");

      DALASSERT((lpAdjustment->lDefault <= lpAdjustment->lMax),
                "vGetDisplayAdjustmentDefaults - error in GDOGetAdjustment data");

      DALASSERT((lpAdjustment->lDefault >= lpAdjustment->lMin),
                "vGetDisplayAdjustmentDefaults - error in GDOGetAdjustment data");

    }
  }
}



/****************************Private*Routine*******************************\
*
* VOID ulDetectConnectedDisplays()
*
* Function determines which displays are physically connected, by updating
* information for each display
*
* Note: Function rebuilds parts of the mode table when a display was
*       detected previously as not connected and is not detected as
*       as connected.
*
\**************************************************************************/

ULONG ulDetectConnectedDisplays(
LPHW_DAL_EXTENSION lpHDE)
{
  LPDEVGDO lpDisplay;
  LPDEVGDO lpCRTDisplay;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产三级国产普通话蜜臀| www国产精品av| 波多野结衣亚洲| 国内精品国产成人国产三级粉色 | 亚洲情趣在线观看| 国产日韩v精品一区二区| 精品国产一区二区亚洲人成毛片| 91精品国产色综合久久不卡蜜臀| 欧美丝袜丝nylons| 欧美视频三区在线播放| 在线免费观看日本一区| 欧美在线你懂的| 欧美色图片你懂的| 欧美日韩中文字幕一区| 欧美日韩国产片| 69堂成人精品免费视频| 日韩视频免费观看高清完整版在线观看| 欧美日韩国产色站一区二区三区| 欧美精品乱码久久久久久| 在线观看91av| 精品日韩一区二区| 国产片一区二区三区| 国产精品天美传媒沈樵| 亚洲欧美日韩国产综合在线| 夜夜精品浪潮av一区二区三区| 亚洲一级二级在线| 久久99久久99小草精品免视看| 久久99精品久久久久| 国产伦精品一区二区三区视频青涩 | 久久精品人人爽人人爽| 中文字幕一区三区| 亚洲午夜激情网站| 麻豆91在线播放| 国产一区二区在线免费观看| av毛片久久久久**hd| 在线视频你懂得一区二区三区| 欧美丰满少妇xxxxx高潮对白 | 欧美极品另类videosde| 亚洲色图欧洲色图| 日本欧美在线看| 成人一区二区三区视频在线观看| 色综合久久综合| 日韩欧美三级在线| 自拍av一区二区三区| 婷婷久久综合九色综合伊人色| 国产自产v一区二区三区c| a在线欧美一区| 91.麻豆视频| 中文天堂在线一区| 亚洲成av人片| 成人丝袜18视频在线观看| 欧美最猛黑人xxxxx猛交| 欧美电影免费观看完整版| 国产精品久久久久aaaa樱花 | thepron国产精品| 欧美久久免费观看| 国产亚洲综合性久久久影院| 亚洲制服欧美中文字幕中文字幕| 国模无码大尺度一区二区三区| 色狠狠综合天天综合综合| 欧美成人一区二区| 亚洲美女视频在线观看| 国产精品综合二区| 欧美日韩一二三区| 国产精品网站在线观看| 美国十次综合导航| 欧美视频在线不卡| 中文字幕精品在线不卡| 日韩福利视频网| 色婷婷av一区二区| 国产日韩av一区二区| 麻豆成人久久精品二区三区红 | 亚洲欧美福利一区二区| 久久 天天综合| 欧美日韩一区二区三区在线| 国产精品欧美一级免费| 久久精品99国产精品| 欧美日韩免费观看一区三区| ●精品国产综合乱码久久久久| 久久国产剧场电影| 欧美老肥妇做.爰bbww视频| 最新成人av在线| 国产成人综合网站| 日韩一级片网址| 午夜精品久久久| 色综合色狠狠天天综合色| 国产精品久久福利| 国产精品一区二区在线观看不卡 | 国产盗摄视频一区二区三区| 欧美成人aa大片| 首页国产丝袜综合| 欧美性xxxxxxxx| 亚洲色图.com| 99久久精品费精品国产一区二区| 欧美国产日韩一二三区| 国产剧情一区在线| 久久久久久99久久久精品网站| 久久成人18免费观看| 欧美电影精品一区二区| 麻豆精品一二三| 日韩视频在线你懂得| 麻豆精品一区二区三区| 日韩欧美精品在线视频| 奇米一区二区三区av| 日韩三级高清在线| 欧美aaa在线| 欧美精品一区二区精品网| 韩国中文字幕2020精品| 国产亚洲欧美在线| 国产毛片精品国产一区二区三区| 久久综合九色综合97_久久久| 美女脱光内衣内裤视频久久网站| 精品欧美一区二区久久| 精久久久久久久久久久| 久久这里只有精品首页| 国产一区啦啦啦在线观看| 久久久久久黄色| 成人美女视频在线观看18| 国产精品美女视频| 99国产精品国产精品久久| 亚洲欧美日韩久久| 欧美日韩视频一区二区| 蜜臀av性久久久久av蜜臀妖精| 欧美电视剧在线看免费| 国产成人夜色高潮福利影视| 国产精品人成在线观看免费| 91捆绑美女网站| 亚洲一区二区三区中文字幕| 欧美疯狂做受xxxx富婆| 精品一区精品二区高清| 国产欧美日产一区| 91老师片黄在线观看| 无码av免费一区二区三区试看| 欧美一二三区在线| 国产乱码精品一品二品| 国产精品动漫网站| 欧美日产在线观看| 激情伊人五月天久久综合| 中文字幕av免费专区久久| 色美美综合视频| 蜜桃精品视频在线| 国产精品美日韩| 欧美精品久久一区| 国产激情一区二区三区| 一区二区三区日韩欧美精品| 在线不卡一区二区| 国产精品亚洲午夜一区二区三区 | 国产午夜三级一区二区三| 一本久久a久久精品亚洲| 午夜影院在线观看欧美| 2021国产精品久久精品| 暴力调教一区二区三区| 日本欧美肥老太交大片| 国产精品色婷婷久久58| 欧美日韩免费高清一区色橹橹| 国产精品一线二线三线| 亚洲一区二区在线观看视频| 久久久久亚洲蜜桃| 欧美视频在线观看一区二区| 国产精品一级片| 亚洲成在线观看| 国产精品久久久久毛片软件| 69堂成人精品免费视频| 99这里只有精品| 黄色资源网久久资源365| 亚洲精品日日夜夜| 久久久高清一区二区三区| 欧美日韩日日摸| 成人免费视频caoporn| 日韩不卡在线观看日韩不卡视频| 国产精品的网站| 欧美大胆人体bbbb| 欧美在线不卡视频| 国产精品99久久久久久似苏梦涵 | 久久99国产乱子伦精品免费| 亚洲国产日产av| 欧美国产精品中文字幕| 精品久久久影院| 欧美性色黄大片手机版| proumb性欧美在线观看| 国产一区免费电影| 琪琪一区二区三区| 亚洲一级二级三级| 亚洲欧美在线视频| 久久品道一品道久久精品| 7777精品伊人久久久大香线蕉| 91蝌蚪porny| 成人国产一区二区三区精品| 国内精品伊人久久久久影院对白| 午夜久久久影院| 亚洲丝袜自拍清纯另类| 欧美国产日本视频| 亚洲精品一区二区三区福利| 91精品国产综合久久久久| 色狠狠一区二区三区香蕉| 99九九99九九九视频精品| 国产成人精品网址| 国产精品资源网| 国产一区二区在线电影| 韩国女主播一区|