Winapi SHCreateDirectoryEx在Windows Vista/7中可用吗?

Winapi SHCreateDirectoryEx在Windows Vista/7中可用吗?,winapi,visual-c++,Winapi,Visual C++,我在SHCreateDirectoryEx的文档中看到,它可能在Windows XP SP2或2003之后的Windows版本中不可用。具体来说,它说: 此功能可通过Windows XP Service Pack 2(SP2)和 WindowsServer2003。它可能在以后的版本中被更改或不可用 Windows版本 但它现在的地位如何?它在Vista/7中可用吗?是否可以安全使用?除非明确说明,否则它应该可用,但您始终可以使用GetProcAddress(GetModuleHandle(\u

我在SHCreateDirectoryEx的文档中看到,它可能在Windows XP SP2或2003之后的Windows版本中不可用。具体来说,它说:

此功能可通过Windows XP Service Pack 2(SP2)和 WindowsServer2003。它可能在以后的版本中被更改或不可用 Windows版本


但它现在的地位如何?它在Vista/7中可用吗?是否可以安全使用?

除非明确说明,否则它应该可用,但您始终可以使用
GetProcAddress(GetModuleHandle(\u T(“Shell32.dll”)、\u T(“SHCreateDirectoryEx”)
进行检查(或使用dumpbin)


根据dumpbin的说法,它在windows server 2008 R2 SP1中可用,windows server 2008 R2 SP1使用了与windows 7类似的内核,因此我认为它是可用的,但在未来的版本中可能会被删除(也就是MS希望您尽可能避免使用它).

所以我最好不要使用它,因为未来的版本/服务包可能会破坏任何使用它的代码,对吗?@MikMik:是的,你的程序只能从XP兼容到win7,但在未来的操作系统上可能会损坏,需要更新,所以现在就省去麻烦吧:)