Windows Phone 上的 GetTempPath 等效项
Equivalent of the GetTempPath on Windows Phone
我正在为 Windows 通用应用程序编译第三方库 libkml。我注意到下面的 Win32 API 除了 WINAPI_PARTITION_DESKTOP
以外的任何东西都不可用。
以下内容来自fileapi.h:
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI
DWORD
WINAPI
GetTempPathW(
_In_ DWORD nBufferLength,
_Out_writes_to_opt_(nBufferLength, return + 1) LPWSTR lpBuffer
);
...
#endif
有谁知道 GetTempPath
对于 Windows 商店应用程序和 Windows Phone 应用程序的等效功能?
这是一个示例 GetTemporaryDirectory()
包装函数,摘自以下 MSDN 博客文章“为 Windows Store 和 Win32 桌面应用程序编写共享代码” :
Dual-use Coding Techniques for Games, part 3.
void GetTemporaryDirectory( wchar_t* dir, size_t maxsize )
{
if ( !maxsize ) return;
*dir = 0;
#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)
DWORD nChars = GetTempPath( maxsize, dir );
if ( nChars > 0 )
dir[nChars-1] = '[=10=]'; // Trim trialing '\'
else
*dir = 0;
#else // Windows Store WinRT app
auto folder = Windows::Storage::ApplicationData::Current->TemporaryFolder;
wcscpy_s( dir, maxsize, folder->Path->Data() );
#endif // WINAPI_FAMILY_PARTITION
}
我正在为 Windows 通用应用程序编译第三方库 libkml。我注意到下面的 Win32 API 除了 WINAPI_PARTITION_DESKTOP
以外的任何东西都不可用。
以下内容来自fileapi.h:
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI
DWORD
WINAPI
GetTempPathW(
_In_ DWORD nBufferLength,
_Out_writes_to_opt_(nBufferLength, return + 1) LPWSTR lpBuffer
);
...
#endif
有谁知道 GetTempPath
对于 Windows 商店应用程序和 Windows Phone 应用程序的等效功能?
这是一个示例 GetTemporaryDirectory()
包装函数,摘自以下 MSDN 博客文章“为 Windows Store 和 Win32 桌面应用程序编写共享代码” :
Dual-use Coding Techniques for Games, part 3.
void GetTemporaryDirectory( wchar_t* dir, size_t maxsize )
{
if ( !maxsize ) return;
*dir = 0;
#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)
DWORD nChars = GetTempPath( maxsize, dir );
if ( nChars > 0 )
dir[nChars-1] = '[=10=]'; // Trim trialing '\'
else
*dir = 0;
#else // Windows Store WinRT app
auto folder = Windows::Storage::ApplicationData::Current->TemporaryFolder;
wcscpy_s( dir, maxsize, folder->Path->Data() );
#endif // WINAPI_FAMILY_PARTITION
}