Я пытаюсь записать в драйвер NdisProt и отправить необработанные пакеты Ethernet. Я импортировал несколько команд C ++ в свою программу на C #, чтобы получить доступ к драйверу. Когда я пытаюсь открыть дескриптор водителю, я всегда получаю неверный дескриптор. Я уже пробовал это только с «NdisProt» в качестве пути, но это не решило. Есть ли у вас какие-либо предложения, почему я получаю неверный дескриптор?
private bool OpenDriver()
{
// User the CreateFile API to open a handle to the file
this.m_iHandle = CreateFile("\\\\.\\NdisProt,
GENERIC_WRITE | GENERIC_READ, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
// Check to see if we got a valid handle
if ((int)m_iHandle <= 0)
{
// If not, then return false and reset the handle to 0
this.m_iHandle = IntPtr.Zero;
return false;
}
Если у вас есть какие-либо другие решения для отправки необработанных пакетов Ethernet в программе на C #, пожалуйста, сообщите мне.
Спасибо за любую помощь!