[Now Supported on Windows NT]
更改文件对象或子文件夹的名称,更改其进程中的项目标识符。
HRESULT SetNameOf(
HWND【hwndOwner】, | //处理所有者窗口 |
LPCITEMIDLIST 【PIDL】, | //指向ITEMIDLIST结构的指针 |
LPCOLESTR 【lpszName】, | //指向指定新显示名称的字符串的指针 |
DWORD 【uFlags】, | // 【lpszName】中指定的名称类型 |
LPITEMIDLIST *【ppidlOut】 | //指向新的ITEMIDLIST |
); |
参数
【hwndOwner】
如果显示对话框或消息框,客户端应指定的所有者窗口的句柄。
【PIDL】
指向ITEMIDLIST相对于父文件夹唯一标识文件对象或子文件夹的结构。
【lpszName】
指向指定新显示名称的以空值终止的字符串的指针。
【uFlags】
指示由【lpszName】参数指定的名称的类型的值。有关可能值的列表,请参阅SHCONTF枚举类型的说明。
【ppidlOut】
该方法返回指向新的ITEMIDLIST结构的指针的地址。该参数可以为NULL,在这种情况下,该方法不返回对象的新的ITEMIDLIST.
如果此参数不为NULL,则此方法释放指定的ITEMIDLIST结构,并使用任务分配器分配新的结果。呼叫应用程序负责释放新的ITEMIDLIST结构。如果发生错误,该方法将在此地址中返回NULL。
返回值
如果成功返回NOERROR,否则返回OLE定义的错误值。
备注
SetNameOf设置指定对象的显示名称。如果它也改变了项目标识符,那么它返回由任务分配器分配的新项目标识符(一个【PIDL】)。更改文件系统对象或文件夹的显示名称重命名文件或目录。
也可以看看