Enable Large Block Size Support on W2K3
I was trying to configure the new library, having a great block size for better performance.
Trying to do so, I had an error message coming from DataProtector:
Cannot Write to Device: (87 - the parameter is incorrect)
I tried with different settings, but I finaly found out that only this block size would trigger the error.
As default, the driver will support up to the NT maximum value of 0xFF or 256 for MaximumSGList. This provides a maximum transfer size of 1040384, which is 1MB - 8K.
And if the value is not set, which was my case, the default is for 64k (value of 17 decimal).
You need to change that with a registry hack.
The registry entry is applied by the regedit.exe program. Go to Windows Run and type in regedit or at a command prompt type:
regedit
NOTE: Increasing the value of this setting will consume non-paged pool memory, a critical resource for NT.
The entries below will enable 256K block size support for the SYMMPI driver (using the value of 00000041). The formula to set other block size maximums is:
Block Size Maximum = (MaximumSGList - 1) * 4K
so for the value 00000041, the maximum is 64 (decimal) * 4K = 256K.
To set a different block size maximum, change ONLY the 00000041 to the desired value (between 0x11 and 0xFF). Do not change any other parts of the entries below.
IMPORTANT: The value is always expressed as a hex value, with a string of 8 digits, such as 00000041 (=0x41 or 65 decimal).
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Symmpi\Parameters\Device]
"MaximumSGList"=dword:00000041
Note: The system must be rebooted for this setting to take effect.
KitKatNeko