		// For each needle:
		for (int i = 0; i < aNeedleCount; ++i)
			// For each character in this needle:
			for (LPTSTR needle_pos = aNeedle[i], str_pos = aStr; ; ++needle_pos, ++str_pos)
			{
				if (!*needle_pos)
				{
					// All characters in needle matched aStr at this position, so we've
					// found our string.  If this needle is empty, it implicitly matches
					// at the first position in the string.
					aFoundLen = needle_pos - aNeedle[i];
					return aStr;
				}