Convert result struct only if NtUserEnumDisplayDevices returned success

svn path=/trunk/; revision=22205
This commit is contained in:
Hervé Poussineau 2006-06-04 13:36:39 +00:00
parent 36c9262fd0
commit cc12e88784

View file

@ -67,25 +67,27 @@ EnumDisplayDevicesA(
iDevNum, iDevNum,
&DisplayDeviceW, &DisplayDeviceW,
dwFlags ); dwFlags );
if (!rc)
/* Copy result from DisplayDeviceW to lpDisplayDevice */ {
lpDisplayDevice->StateFlags = DisplayDeviceW.StateFlags; /* Copy result from DisplayDeviceW to lpDisplayDevice */
WideCharToMultiByte(CP_ACP,0, lpDisplayDevice->StateFlags = DisplayDeviceW.StateFlags;
DisplayDeviceW.DeviceName,wcslen(DisplayDeviceW.DeviceName), WideCharToMultiByte(CP_ACP,0,
lpDisplayDevice->DeviceName,sizeof(lpDisplayDevice->DeviceName) / sizeof(lpDisplayDevice->DeviceName[0]), DisplayDeviceW.DeviceName,wcslen(DisplayDeviceW.DeviceName),
NULL,NULL); lpDisplayDevice->DeviceName,sizeof(lpDisplayDevice->DeviceName) / sizeof(lpDisplayDevice->DeviceName[0]),
WideCharToMultiByte(CP_ACP,0, NULL,NULL);
DisplayDeviceW.DeviceString,wcslen(DisplayDeviceW.DeviceString), WideCharToMultiByte(CP_ACP,0,
lpDisplayDevice->DeviceString,sizeof(lpDisplayDevice->DeviceString) / sizeof(lpDisplayDevice->DeviceString[0]), DisplayDeviceW.DeviceString,wcslen(DisplayDeviceW.DeviceString),
NULL,NULL); lpDisplayDevice->DeviceString,sizeof(lpDisplayDevice->DeviceString) / sizeof(lpDisplayDevice->DeviceString[0]),
WideCharToMultiByte(CP_ACP,0, NULL,NULL);
DisplayDeviceW.DeviceID,wcslen(DisplayDeviceW.DeviceID), WideCharToMultiByte(CP_ACP,0,
lpDisplayDevice->DeviceID,sizeof(lpDisplayDevice->DeviceID) / sizeof(lpDisplayDevice->DeviceID[0]), DisplayDeviceW.DeviceID,wcslen(DisplayDeviceW.DeviceID),
NULL,NULL); lpDisplayDevice->DeviceID,sizeof(lpDisplayDevice->DeviceID) / sizeof(lpDisplayDevice->DeviceID[0]),
WideCharToMultiByte(CP_ACP,0, NULL,NULL);
DisplayDeviceW.DeviceKey,wcslen(DisplayDeviceW.DeviceKey), WideCharToMultiByte(CP_ACP,0,
lpDisplayDevice->DeviceKey,sizeof(lpDisplayDevice->DeviceKey) / sizeof(lpDisplayDevice->DeviceKey[0]), DisplayDeviceW.DeviceKey,wcslen(DisplayDeviceW.DeviceKey),
NULL,NULL); lpDisplayDevice->DeviceKey,sizeof(lpDisplayDevice->DeviceKey) / sizeof(lpDisplayDevice->DeviceKey[0]),
NULL,NULL);
}
RtlFreeUnicodeString ( &Device ); RtlFreeUnicodeString ( &Device );