CreateFile没有在Delphi中返回正确的Handle - 设备

Ed.*_*d.C 0 windows delphi winapi device-driver delphi-2010

希望在Windows中找到有服务经验的人.

我试图NdisProt在Delphi中使用以太网适配器的驱动程序

my_Handle := CreateFile(PChar('\\.\NdisProt'),
    GENERIC_WRITE or GENERIC_READ, 0, nil,
    OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

(也试过\\.\\NdisProt了)

执行后my_Handle 总是有值'4008'十进制,GetLastError总是返回0

如果我尝试读取或写入文件,我会得到访问冲突,任何人都知道为什么我会得到这种不受欢迎的行为?

Rob*_*edy 8

如果CreateFile没有返回Invalid_Handle_Value,那么它已经给你一个有效的句柄,否则该设备的驱动程序是严重错误的.假设前者.

访问冲突与您的句柄值无关.这意味着您正在访问不属于您的进程的内存(例如通过取消引用空指针,未初始化的指针,非指针或已释放的指针).您的问题出在其他地方,也许是您在此处忽略的阅读或编写代码.