Is either one universally preferred? The book I'm currently reading uses memset() exclusively without ever mentioning ZeroMemory() and the only time they use memset() is to set a block of memory to 0's. Wouldn't it just be better (1 less param) to use ZeroMemory()? I haven't found anything that said ZeroMemory() was compiler or OS specific, but I was wondering if it was and that was why the author prefered memset().