From: flyingfly on
I tried to minimize my project size to figure out the problem.
Now I have these files in my project folder:
XX.c, makefile, sources, XX.inf

sources file is:
TARGETNAME = XX
TARGETTYPE = MINIPORT

TARGETLIBS = $(DDK_LIB_PATH)\scsiport.lib

SOURCES = XX.c


the XX.c file is constructed as follows:

#include <scsi.h>
#include <miniport.h>
#include <srb.h>

// some macro definition
....

tpyedef struct _XX_REGS_{
// the contents of the PCI regs
...
}XX_REGS, *PXX_REGS;

typedef struct _XX_DEVICE_EXTENSION{
PXX_REGS Regs;
PUCHAR RegsBase;
}XX_DEVICE_EXTENSION, *PXX_DEVICE_EXTSION;

// function prototypes
ULONG DriverEntry( ...);
ULONG XXFindAdapter(...);
BOLEAN XXInitialize(...);
BOOLEAN XXStartIo(...);
BOOLEAN XXResetBus(...);
SCSI_ADAPTER_CONTROL_STATUS XXAdapterControl(...);
VOID XXRTimer(...);

//the implementation of the above functions
....


Now after my compilation, the previous errors accur again:
srb.h(63): error C2061 : syntax error : identifier 'SCSI_PHISYCAL_ADDRESS'
srb.h(63): error C2059 : syntax error : ';'
srb.h(63): error C2059 : syntax error : ','
srb.h(66): error C2061 : C requires that a struct or union has at least one
member

along with huge number of similiar errors.

My building enviroment is 7600.16385.1 and I am using XP SP3.

What can the actual problem be?

Thanks very much!! I'm so confused..

From: Burkhardt Braun on
Hello!
On 20 Jul., 11:50, flyingfly <flying...(a)discussions.microsoft.com>
wrote:
> I tried to minimize my project size to figure out the problem.
That is a good idea.

>
> Now after my compilation, the previous errors accur again:
> srb.h(63): error C2061 : syntax error : identifier 'SCSI_PHISYCAL_ADDRESS'
> srb.h(63): error C2059 : syntax error : ';'
> srb.h(63): error C2059 : syntax error : ','
> srb.h(66): error C2061 : C requires that a struct or union has at least one
> member
>
> along with huge number of similiar errors.
>
> My building enviroment is 7600.16385.1 and I am using XP SP3.
>
> What can the actual problem be?
Seemingly a wrong configuration / build environment.
( Or a wrong header. PHISYCAL again is strange )

>
>  Thanks very much!!   I'm so confused..
You can try what I did:
Take a working example and introduce the headers.
That works for me in an arbitrary example ( see above ).
From that point adapt the working example to your needs step by step.

Kind regards and good luck
Burkhardt Braun





From: flyingfly on


"Burkhardt Braun" wrote:

> Hello!
> On 20 Jul., 11:50, flyingfly <flying...(a)discussions.microsoft.com>
> wrote:
> > I tried to minimize my project size to figure out the problem.
> That is a good idea.
>
> >
> > Now after my compilation, the previous errors accur again:
> > srb.h(63): error C2061 : syntax error : identifier 'SCSI_PHISYCAL_ADDRESS'
> > srb.h(63): error C2059 : syntax error : ';'
> > srb.h(63): error C2059 : syntax error : ','
> > srb.h(66): error C2061 : C requires that a struct or union has at least one
> > member
> >
> > along with huge number of similiar errors.
> >
> > My building enviroment is 7600.16385.1 and I am using XP SP3.
> >
> > What can the actual problem be?
> Seemingly a wrong configuration / build environment.
> ( Or a wrong header. PHISYCAL again is strange )
sorry, i wrote the code by myself without copy(and not able to copy..)and i
am really used to spell PHYSICAL into PHISYCAL, that's a historic problem for
me..
>
> >
> > Thanks very much!! I'm so confused..
> You can try what I did:
> Take a working example and introduce the headers.
> That works for me in an arbitrary example ( see above ).
> From that point adapt the working example to your needs step by step.
Thanks again, I'll try this and hope it will work.

>
> Kind regards and good luck
> Burkhardt Braun
>
>
>
>
>
> .
>
From: eagersh on
On Jul 18, 11:58 pm, flyingfly <flying...(a)discussions.microsoft.com>
wrote:
> Hi:
>
> I am writing a simple SCSI miniport driver for Windows XP, and I have the
> header files <SCSI.h> and <miniport.h>.
> But there are errors in <srb.h> during compilitation
>
> such as:
> srb.h(63): error C2061 : syntax error : identifier 'SCSI_PHISYCAL_ADDRESS'
> srb.h(63): error C2059 : syntax error : ';'
> srb.h(63): error C2059 : syntax error : ','
> srb.h(66): error C2061 : C requires that a struct or union has at least one
> member
>
> And there are huge amount of error, so that the last error i can see is :
> error C10003 : error count exceeds 100; stopping compilation
>
> I am so confused with these errors, can anyone help me to solve them?
>
> Much appreciate!
>
> PS: why there is no SCSI miniport sample drive in WDK, and my version is
> 7600.16385.1. it it really difficult to develop a SCSI miniport driver with
> just the documentaions.

You should load an older version of DDK which contains a miniport SCSI
driver sample. For example, you still could download DDK for 2003
through Microsoft Connect.
This DDK contains sample of miniport SCSI -
\WinDDK\3790.1830\src\storage\miniport\aha154x
The sample build perfectly and you could use as a source to build your
project.

Igor Sharovar
From: flyingfly on
Thanks a lot!
I find the sample and modify its code to generate my project ,and it works!


"eagersh" wrote:

> On Jul 18, 11:58 pm, flyingfly <flying...(a)discussions.microsoft.com>
> wrote:
> > Hi:
> >
> > I am writing a simple SCSI miniport driver for Windows XP, and I have the
> > header files <SCSI.h> and <miniport.h>.
> > But there are errors in <srb.h> during compilitation
> >
> > such as:
> > srb.h(63): error C2061 : syntax error : identifier 'SCSI_PHISYCAL_ADDRESS'
> > srb.h(63): error C2059 : syntax error : ';'
> > srb.h(63): error C2059 : syntax error : ','
> > srb.h(66): error C2061 : C requires that a struct or union has at least one
> > member
> >
> > And there are huge amount of error, so that the last error i can see is :
> > error C10003 : error count exceeds 100; stopping compilation
> >
> > I am so confused with these errors, can anyone help me to solve them?
> >
> > Much appreciate!
> >
> > PS: why there is no SCSI miniport sample drive in WDK, and my version is
> > 7600.16385.1. it it really difficult to develop a SCSI miniport driver with
> > just the documentaions.
>
> You should load an older version of DDK which contains a miniport SCSI
> driver sample. For example, you still could download DDK for 2003
> through Microsoft Connect.
> This DDK contains sample of miniport SCSI -
> \WinDDK\3790.1830\src\storage\miniport\aha154x
> The sample build perfectly and you could use as a source to build your
> project.
>
> Igor Sharovar
> .
>