The first question is easy: can NDIS drivers be written in C++? The answer: yes. In this case, NDIS doesn’t have any official stance on C++, so we just fall back on the WDK’s general rules. As of Windows Driver Kit 8, Microsoft officially supports using a subset of the C++ language in drivers. (“Subset? What subset?” There’s more precise information here.)
The inevitable follow-up question is more nuanced: should NDIS drivers be written in C++? The answer is: it depends. Here are some facts that will help you derive a more specific answer:
In summary, then, either language works fine, and it all comes down to a matter of your preference.