Cadena doble terminada en nulo

Necesito formatear una cadena para que sea doble cadena terminada en nulo para usar SHFileOperation.

Lo interesante es que encontré uno de los siguientes funcionando, pero no ambos:

  // Example 1
  CString szDir(_T("D:\\Test"));
  szDir = szDir + _T('\0') + _T('\0');

  // Example 2  
  CString szDir(_T("D:\\Test"));
  szDir = szDir + _T("\0\0");

  //Delete folder
  SHFILEOPSTRUCT fileop;
  fileop.hwnd   = NULL;    // no status display
  fileop.wFunc  = FO_DELETE;  // delete operation
  fileop.pFrom  = szDir;  // source file name as double null terminated string
  fileop.pTo    = NULL;    // no destination needed
  fileop.fFlags = FOF_NOCONFIRMATION|FOF_SILENT;  // do not prompt the user
  fileop.fAnyOperationsAborted = FALSE;
  fileop.lpszProgressTitle     = NULL;
  fileop.hNameMappings         = NULL;
  int ret = SHFileOperation(&fileop);

¿Alguien tiene idea sobre esto?

¿Hay alguna otra manera de agregar una cadena de doble terminación?

Respuestas a la pregunta(2)

Su respuesta a la pregunta