fetch mipmap pixels in cpp

when I read texture’s data in cpp, i want to get a specific mipmap level data. Usually the progress of reading data is:

Texture->CompressionSettings = TextureCompressionSettings::TC_VectorDisplacementmap;
	Texture->MipGenSettings = TextureMipGenSettings::TMGS_NoMipmaps;
	Texture->SRGB = false;
	Texture->UpdateResource();
	int32 MipmapIndex = 0;
	int32 MipNum = Texture->PlatformData->Mips.Num();
	FTexture2DMipMap& mipmap = Texture->PlatformData->Mips[MipmapIndex];
	uint8* FormatedImageData = static_cast<uint8*> (mipmap.BulkData.Lock(LOCK_READ_WRITE));

where FormatedImageData points to the data, and it wont be null. But I can only access the 0 level of mipmap , how can I get level 1 or 2 or 3

i also tried lockmip() function, but i can only get mip0 too, other levels will get null