The correct option is
C I was promised a present by my uncle.
The given sentence is in the active voice, as the subject 'My uncle' performs an action 'promised' against the object 'me'.
If this sentence is changed to passive voice, then the subject is also changed, in order to retain the meaning of the sentence.
So,
the object takes the place of the subject and vice versa and the word
'by' is introduced as now the subject receives the action by the object.
The verb form of the sentence is also changed from active form to
passive.
'Subject (My uncle) + verb (promised) + direct object (me) + indirect object (a present)' changes to:
'New subject (I) + verb (was promised) + indirect object (a present) + by + new object (my uncle)'
The
passive form of 'promised' in the simple past tense is 'was/were promised'.
This can be seen in option B, hence it's the right answer.
Option
A: The given sentence has two possible passive forms, as there are two objects: direct object (me) and indirect object (a present). When the indirect object 'a present' is made the subject, then the direct object 'me' follows the verb. The new object 'my uncle' should come last, and shouldn't be followed by the direct object 'me'.
So, this option does not have the correct passive form.
Option D: Similarly, in this option, the object 'my uncle' should come last and not be followed by the indirect object 'a present'.
Option C: The tense of the sentence has changed from past simple 'was promised' to past perfect tense 'had been promised'.
Hence options A, D and C are incorrect.