#include #include #include #include #include "stringutils.h" void dumpndisbindings(const std::string& adaptername) { NDIS_STATUS status; ByteVector outbuf(256); DWORD nreturned; // note: missing const on 2nd param NdisGetAdapterBindings(&status, const_cast(ToWString(adaptername).c_str()), &outbuf[0], outbuf.size(), &nreturned); outbuf.resize(nreturned); printf("status=%08x, outbuf: %s\n", status, vhexdump(outbuf).c_str()); } void dumpndisadapters() { NDIS_STATUS status; ByteVector outbuf(256); DWORD nreturned; NdisGetAdapterNames(&status, &outbuf[0], outbuf.size(), &nreturned); outbuf.resize(nreturned); printf("status=%08x, outbuf: %s\n", status, vhexdump(outbuf).c_str()); } void dumpndisprotocols() { NDIS_STATUS status; ByteVector outbuf(256); DWORD nreturned; NdisGetProtocolNames(&status, &outbuf[0], outbuf.size(), &nreturned); outbuf.resize(nreturned); printf("status=%08x, outbuf: %s\n", status, vhexdump(outbuf).c_str()); } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { dumpndisprotocols(); dumpndisadapters(); }