quote:
Originally posted by SpunkyLoveMuff
Well, I'm using one REG_SZ for EVERY email and nickname, which I'm guessing is gonna be a problem at some stage
No it isn't...
Size limit of a registry value name
In Windows 95/98/ME, the size limit for a value name is 255 characters
In Windows XP this can be up to 16383 characters long.
In Windows 2000, a maximum of 260 Ansi or 16383 Unicode characters may be used in the name of a value.
Size limit of value data
In Windows 95/98/ME, the limit for all types is either 16300 bytes or 64Kb (depends on what source... and I haven't tested this).
In Windows NT/2000/XP, there is no limit as long as your memory can handle it. Except for REG_BINARY and REG_MULTI_SZ values which can 'only' hold 64Kb of data. However, the bigger the size the slower it is to read of course.
Microsoft recommends that data which is more than 2048 bytes big should be stored in a file and only be called from the registry when it is absolutely needed.
Note that these sizes are internal limits. Programs are often way more restricted. eg: Windows regeditor forces smaller sizes. eg: in Windows XP, the name of a registry subkey can only be 209 characters long, the name of a value can only be 259 characters long (the value itself can still be almost 64000 bytes though). A common size limit which is often (wrongfully!) forced by programs is 1024 bytes.
Anyways, you really shouldn't be worried about registry size limits in your case. However you should be worried about the slowness of updating that listview at some stage with such sizes (I know I keep getting back on this, but it is kind-of important if you want a fast working script and not slowing other things (other scripts) down).
note: figures provided by different sources (which I can't remember). So there is a slight chance they may not be absolute. Though if they aren't totally correct, they are certainly extremely close.
-----------
PSS: don't store the emails of the contacts in the registry either for the same reason why you shouldn't use the user's email, but rather his userid.
For other emails than the user's email, you can calculate the userid by using the msnID function as described
here.
(btw, this is also the same as what Plus! does, and for the same reason. It doesn't store the emails of contacts in the registry either, it uses a hash to store them)