Microsoft provides API to access hardware using high level languages. Native API is among them, through which most of the kernel’s task can be programed. If you have to decide then what you will prefer; a code in assembly language to access hardware or a code in high level language to access hardware using APIs. Does your selection have a drawback?
What a riviting question there OP, I can't even begin to guess what the people at this site will respond with ... wait, what is the name of this site again? Hmmm....
Does your selection have a drawback?
Maybe you want to reword that? Otherwise stop trying to flame the board.