![]() |
Zentitle SDK and Library
|
-3639 indicates that the Windows system call used to look up the hard drive serial number is timing out after 5 seconds. The reason for the slow response is something specific to the end user's system, such as a slow network file system, a heavily loaded system, a failing hard drive (or memory), a missing mountvol.exe command, a memory constrained machine pushed into swap, etc.
Check that mountvol.exe is located at windir%\System32\mountvol.exe where windir% is a system variable that resolves to the location of the window's system directory. It is usually, but not always,c:\windows (which would give a location of mountvol as c:\windows\System32\mountvol.exe). The library will run with whatever permissions and ownership you use when installing your software, so check that the mountvol command is available to that owner, and works with the owner's permissions. On a normal system, no special permissions are required.
Try rebooting the system, and retrying the command before loading the machine with other work. If a network file system is in use, quiescing the network is advised. If that doesn't work, perhaps a sys admin on the customer end can verify whether or not the system is functioning abnormally in some way.
Programmatically, if there is a return of -3639 from NalpLibOpen(), one could call NalpLibClose() and try NalpLibOpen() again. If some other function returns -3639, one could immediately (or after a short sleep) re-try that function.
One could also create a library for the end user without the HDSN setting enabled. The HDSN is used to distinguish between imaged machines (multiple systems with identical hardware that are created from disk images). If that is not the case here, there would be no loss of security in disabling the setting.