nancy.liao
2025-05-28 78c4103171732369725487b5f0e43816e1ea1256
src/library/os/windows/os_win.cpp
@@ -5,6 +5,7 @@
#include <iphlpapi.h>
#include <stdio.h>
#include "../../base/string_utils.h"
#include "../../base/logger.h"
#include "../os.h"
using namespace std;
@@ -29,12 +30,12 @@
   DWORD fileMaxLen;
   size_t ndrives = 0, drives_scanned = 0;
   DWORD fileFlags;
   char volName[MAX_PATH], fileSysName[MAX_PATH];
   char volName[MAX_PATH];
   DWORD volSerial = 0;
   const DWORD dwSize = MAX_PATH;
   char szLogicalDrives[MAX_PATH] = {0};
   FUNCTION_RETURN return_value = FUNC_RET_NOT_AVAIL;
   FUNCTION_RETURN return_value;
   const DWORD dwResult = GetLogicalDriveStrings(dwSize, szLogicalDrives);
   if (dwResult > 0) {
@@ -44,6 +45,7 @@
         // get the next drive
         UINT driveType = GetDriveType(szSingleDrive);
         if (driveType == DRIVE_FIXED) {
            char fileSysName[MAX_PATH];
            BOOL success = GetVolumeInformation(szSingleDrive, volName, MAX_PATH, &volSerial, &fileMaxLen,
                                       &fileFlags, fileSysName, MAX_PATH);
            if (success) {
@@ -52,9 +54,8 @@
               DiskInfo diskInfo = {};
               diskInfo.id = (int)ndrives;
               diskInfo.label_initialized = true;
               strncpy(diskInfo.device, volName, min(std::size_t{MAX_PATH}, sizeof(volName)) - 1);
               strncpy(diskInfo.label, fileSysName,
                     min(sizeof(diskInfos[ndrives].label), sizeof(fileSysName)) - 1);
               license::mstrlcpy(diskInfo.device, volName, min(std::size_t{MAX_PATH}, sizeof(volName)));
               license::mstrlcpy(diskInfo.label, fileSysName, min(sizeof(diskInfos[ndrives].label), sizeof(fileSysName)));
               memcpy(diskInfo.disk_sn, &volSerial, sizeof(DWORD));
               diskInfo.sn_initialized = true;
               diskInfo.preferred = (szSingleDrive[0] == 'C');
@@ -74,7 +75,7 @@
      return_value = FUNC_RET_OK;
   } else {
      return_value = FUNC_RET_NOT_AVAIL;
      LOG_INFO("No fixed drive were detected");
      LOG_DEBUG("No fixed drive were detected");
   }
   return return_value;