Taking Ownership and Setting Admin Rights on a System Object in C# – Mike O’Brien
Taking object ownership in C++
Modifying the ACLs of an object in C++
Full example of file permission changes
http://www.pinvoke.net/default.aspx/advapi32.setnamedsecurityinfo
How Security Descriptors and Access Control Lists Work
Path names
File name manipulation and long names
MSDN Library Reference FileCopy