> For the complete documentation index, see [llms.txt](https://malwaresourcecode.com/home/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://malwaresourcecode.com/home/proxied-functions/deletedirectoryandsubdata.md).

# DeleteDirectoryAndSubData

```
BOOL DeleteDirectoryAndSubDataViaDelNodeW(_In_ LPCWSTR FullPathToDirectory)
{
	DELNODEW DelNodeW = NULL;
	HMODULE hMod = NULL;
	BOOL bFlag = FALSE;

	hMod = LoadLibraryW(L"advpack.dll");
	if (hMod == NULL)
		goto EXIT_ROUTINE;

	DelNodeW = (DELNODEW)GetProcAddress(hMod, "DelNodeW");
	if (!DelNodeW)
		goto EXIT_ROUTINE;

	if (!SUCCEEDED(DelNodeW(FullPathToDirectory, 0)))
		goto EXIT_ROUTINE;


	bFlag = TRUE;

EXIT_ROUTINE:

	if (hMod)
		FreeLibrary(hMod);

	return bFlag;
}

BOOL DeleteDirectoryAndSubDataViaDelNodeA(_In_ LPCSTR FullPathToDirectory)
{
	DELNODEW DelNodeW = NULL;
	HMODULE hMod = NULL;
	BOOL bFlag = FALSE;
	WCHAR ccBuffer[MAX_PATH * sizeof(WCHAR)] = {0};

	if(CharStringToWCharString(ccBuffer, (PCHAR)FullPathToDirectory, StringLengthA(FullPathToDirectory)) == 0)
		goto EXIT_ROUTINE;

	hMod = LoadLibraryW(L"advpack.dll");
	if (hMod == NULL)
		goto EXIT_ROUTINE;

	DelNodeW = (DELNODEW)GetProcAddress(hMod, "DelNodeW");
	if (!DelNodeW)
		goto EXIT_ROUTINE;

	if (!SUCCEEDED(DelNodeW(ccBuffer, 0)))
		goto EXIT_ROUTINE;


	bFlag = TRUE;

EXIT_ROUTINE:

	if (hMod)
		FreeLibrary(hMod);

	return bFlag;
}
```
