Windows Mobile アプリ用の CESetup.dll を作成しています。管理されていない必要がありますが、これについてはほとんど経験がありません。そのため、割り当てたメモリを解放する必要があるかどうか、およびその方法がわかりません。
ここに私が書いた関数があります:
Uninstall_Init(
HWND hwndParent,
LPCTSTR pszInstallDir
)
{
LPTSTR folderPath = new TCHAR[256];
_stprintf(folderPath, _T("%s\\cache"), pszInstallDir);
EmptyDirectory(folderPath);
RemoveDirectory(folderPath);
_stprintf(folderPath, _T("%s\\mobileadmin.dat"), pszInstallDir);
DeleteFile(folderPath);
// To continue uninstallation, return codeUNINSTALL_INIT_CONTINUE
// If you want to cancel installation,
// return codeUNINSTALL_INIT_CANCEL
return codeUNINSTALL_INIT_CONTINUE;
}
私が理解しているように、folderPathはヒープに割り当てられています。EmptyDirectory() は、ディレクトリ内のすべてのコンテンツを削除する独自の関数です。RemoveDirectory() と DeleteFile() はシステム コールです。
私の質問はfolderPath
、関数が終了する前に割り当てを解除する必要がありますか? 必要な場合、どうすればよいですか?