Pour obtenir le GUID du volume i essayé le code comme ci-dessousGetVolumeNameForVolumeMountPoint retourne false
int len = wcslen(pDetData->DevicePath);
pDetData->DevicePath[len] = '\\';
pDetData->DevicePath[len+1] = 0;
#define BUFFER_SIZE MAX_PATH
WCHAR volume[BUFFER_SIZE];
BOOL bFlag;
bFlag = GetVolumeNameForVolumeMountPoint(pDetData->DevicePath, volume, BUFFER_SIZE);
int loginErrCode = GetLastError();
printf("loginErrCode: %d\n", loginErrCode);
printf("BFLAG: %d\n", bFlag);
le GetLastError() elle imprime également 1. cela signifie ERROR_INVALID_FUNCTION. Le bFlag renvoie toujours zéro, cela signifie faux.
quel est le problème dans mon code ...
En supposant que ceci soit un autre dans votre ligne de questions, vous ne pouvez pas utiliser le périphérique USB (GUID_DEVINTERFACE_USB_DEVICE) avec GetVolumeNameForVolumeMountPoint; cette fonction ne fonctionne qu'avec des périphériques de volume (GUID_DEVINTERFACE_VOLUME). – Luke