Hi,
on W2K->Win7 you have a "DeviceAdvancedProperties" implemented as Ansi&Wide (DeviceAdvancedPropertiesA and DeviceAdvancedPropertiesW) exported from devmgr.dll. The signature looks like this:
INT_PTR
WINAPI
DeviceAdvancedPropertiesA(IN HWND hWndParent OPTIONAL,
IN LPCSTR lpMachineName OPTIONAL,
IN LPCSTR lpDeviceID);
INT_PTR
WINAPI
DeviceAdvancedPropertiesW(IN HWND hWndParent OPTIONAL,
IN LPCWSTR lpMachineName OPTIONAL,
IN LPCWSTR lpDeviceID);
according to this website: http://www.koders.com/c/fid781EF17660D580D35EF019B3D89A82EBBF92B7A6.aspx
Invoking it on Windows Vista and Windows 7 is pretty easy, providing the first parameter a parent window handle, the second either NULL or a computer name and the third a Device Instance Identifier looking e.g. like this "SCSI\CDROM&VEN_ITQB&PROD_MZWHY781&REV_1.03\5&36E5972&0&000000". This will bring up the devices advanced/extend properties dialog with the extended properties with the tabs. If the function fails, you get a return value !=0, on success you get a 0 (zero). Calling the function with the parameters above returns on W2K the value -1 and GetLastError() = 6, the call on XP returns -1 and GetLastError() = 1784, set the processes SetLastError(0). Maybe these GetLastError() results are left fro a very deep call chain, maybe not, but does anybody have a clue how i can successfully invoke these functions on W2K and XP? They are implemented, at least it looks like that, maybe the signatures above are not correct for W2K&XP. Any help would be nice!
Thanks in advance.
regards
radix






