// Update the adapter list void UtSpeedMeterDlgRefreshList(HWND hWnd) { wchar_t *old; MS_ADAPTER_LIST *o; UINT i; // Validate arguments if (hWnd == NULL) { return; } if (g_ut_adapter_list_updating) { return; } g_ut_adapter_list_updating = true; // Get the current selection old = GetText(hWnd, E_LIST); if (old != NULL) { if (UniStrLen(old) == 0) { Free(old); old = NULL; } } o = MsCreateAdapterList(); CbReset(hWnd, E_LIST); CbSetHeight(hWnd, E_LIST, 18); for (i = 0;i < o->Num;i++) { wchar_t tmp[MAX_SIZE]; MS_ADAPTER *a = o->Adapters[i]; if (a->Info) { StrToUni(tmp, sizeof(tmp), a->Title); CbAddStr(hWnd, E_LIST, tmp, 0); } } // Re-select the previous selection if (old != NULL) { CbSelectIndex(hWnd, E_LIST, CbFindStr(hWnd, E_LIST, old)); Free(old); } MsFreeAdapterList(o); g_ut_adapter_list_updating = false; }
// アダプタリストの更新 void UtSpeedMeterDlgRefreshList(HWND hWnd) { wchar_t *old; MS_ADAPTER_LIST *o; UINT i; // 引数チェック if (hWnd == NULL) { return; } // 現在の選択を取得 old = GetText(hWnd, E_LIST); if (old != NULL) { if (UniStrLen(old) == 0) { Free(old); old = NULL; } } o = MsCreateAdapterList(); CbReset(hWnd, E_LIST); CbSetHeight(hWnd, E_LIST, 18); for (i = 0;i < o->Num;i++) { wchar_t tmp[MAX_SIZE]; MS_ADAPTER *a = o->Adapters[i]; if (a->Info) { StrToUni(tmp, sizeof(tmp), a->Title); CbAddStr(hWnd, E_LIST, tmp, 0); } } // 前回の選択を再選択 if (old != NULL) { CbSelectIndex(hWnd, E_LIST, CbFindStr(hWnd, E_LIST, old)); Free(old); } MsFreeAdapterList(o); }