使用ntddscsi.h获取编译错误

Getting a compile error with ntddscsi.h

本文关键字:编译 错误 获取 ntddscsi 使用      更新时间:2023-10-16

我遇到了一些问题,包括:#include <ntddscsi.h>当我编译(使用NetBean 7.1&Cygwin C++编译器)时,我被告知我需要定义"SCSI_PASS_THROUH",然后才能在ntddscsi.h中使用它。然而,它被定义为:

typedef struct _SCSI_PASS_THROUGH {
SHORT  Length;
CHAR  ScsiStatus;
CHAR  PathId;
CHAR  TargetId;
CHAR  Lun;
CHAR  CdbLength;
CHAR  SenseInfoLength;
CHAR  DataIn;
LONG  DataTransferLength;
LONG  TimeOutValue;
LONG_PTR DataBufferOffset;
LONG  SenseInfoOffset;
CHAR  Cdb[16];
} SCSI_PASS_THROUGH, *PSCSI_PASS_THROUGH;

有人知道到底出了什么问题吗??

如果您有循环依赖关系,或者例如LONG_PTR没有在任何地方定义,则可能会发生这种情况。