SetupDiGetDeviceInterfaceDetail в Windows 2003 64-bit
От: Слава_2 Беларусь  
Дата: 30.05.07 12:41
Оценка:
Вызов функции SetupDiGetDeviceInterfaceDetail, который нормально работает в Windows'98 — Windows 2003 (32-bit) возвращает ошибку 1784 ERROR_INVALID_USER_BUFFER — The supplied user buffer is not valid for the requested operation.
Предварительный вызов SetupDiEnumDeviceInterfaces проходит успешно.

struct _TDetailedData
{
DWORD cbSize;
char DevicePath[260];
}TDetailedData;

TDetailedData DetailedData;
DetailedData.cbSize = 5;
if(
SetupDiGetDeviceInterfaceDetail(PnPHandle, &DeviceInterfaceData,
PSP_INTERFACE_DEVICE_DETAIL_DATA(&DetailedData),
sizeof(DWORD)+sizeof(DetailedData), NULL, 0)
)

Исходники были перекомпилированы в Visual Studio 2005 с использованием библиотек для AMD64 (Поддержка x64 для Visual Studio включена).
Кто-нибудь сталкивался с подобной проблемой? И если да, то как ее решил.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.