From: Indira on
Hi,

Is it possible to generate custom error log messages for SCSI miniport driver?
I tried the following but no luck:

1. Created a message (.mc) file, compiled and generated a corresponding .rc
and .bin file, as per WDK and sample code.

2. Updated .inf file for event log as mentioned in the WDK and added .sys
file to look for messages.

3. Calling StorPortLogError() with this custom error ID.

After installing this driver, an event is getting logged in the event log,
however it complains that it's not able to find the description.

The following message is displayed in the description instead of my custom
error message.

“The description for Event ID ( 11 ) in Source (xyz) cannot be found. The
local computer may not have the necessary registry information or message DLL
files to display messages from a remote computer. You may be able to use the
/AUXSOURCE= flag to retrieve this description; see Help and Support for
details. The following information is part of the event: \Device\RaidPort8.
"

Is it possible to have custom error messages in storport-miniport driver? If
so could some one please point out the missing thing in the above steps?

Thanks,
Indira

From: Volodymyr M. Shcherbyna on
If you open your sys file in resource editor (for example, reshacker), and
goto message table, what id do you see there for your custom message?

--
Volodymyr, blog: http://www.shcherbyna.com/
(This posting is provided "AS IS" with no warranties, and confers no
rights)

"Indira" <Indira(a)discussions.microsoft.com> wrote in message
news:29503D5E-AF48-491B-986F-D97A391D9424(a)microsoft.com...
> Hi,
>
> Is it possible to generate custom error log messages for SCSI miniport
> driver?
> I tried the following but no luck:
>
> 1. Created a message (.mc) file, compiled and generated a corresponding
> .rc
> and .bin file, as per WDK and sample code.
>
> 2. Updated .inf file for event log as mentioned in the WDK and added .sys
> file to look for messages.
>
> 3. Calling StorPortLogError() with this custom error ID.
>
> After installing this driver, an event is getting logged in the event log,
> however it complains that it's not able to find the description.
>
> The following message is displayed in the description instead of my custom
> error message.
>
> "The description for Event ID ( 11 ) in Source (xyz) cannot be found. The
> local computer may not have the necessary registry information or message
> DLL
> files to display messages from a remote computer. You may be able to use
> the
> /AUXSOURCE= flag to retrieve this description; see Help and Support for
> details. The following information is part of the event:
> \Device\RaidPort8.
> "
>
> Is it possible to have custom error messages in storport-miniport driver?
> If
> so could some one please point out the missing thing in the above steps?
>
> Thanks,
> Indira
>


From: DeStefan on
Here a sample (considering that the mc file is named msglog.mc)

1.) Make sure that you use the custom build step for your .mc file:
Command Line: "mc msglog.mc -c"
Outputs: "msglog.rc;msglog.h"

2.) Make sure that you really link agains the .res file (which is
autogenerated by "mc.exe"). Usually this step is forgotten, but it is
mandatory else, the "mc.exe" will make the resource file, but the
resourcelinker does not know about this, since it is not involved
automatically. So add also at "Resources"->"Resource File Name"
"directory\msglog.res"

3.) Also make the necessary entries in the registry by your inf file. Here a
sample inf file section

4.) At least you need to reboot your machine one time to to give the
eventlog system the chance to update its registry values, which you modified
by your inf file


[ClassInstall32.Services]
AddService="MyService",0x00000002,AddServiceCommonSection,EventLogCommonSection,System,"MyServiceDescription"

;--------- EventLog Section -----------------------------------------------
[EventLogCommonSection]
AddReg=AddRegCommonEventLogSection

[AddRegCommonEventLogSection]
HKR,,"EventMessageFile",0x00020000,"%SystemRoot%\System32\iologmsg.dll;%12%\MyDriver.sys"
HKR,,"TypesSupported",0x00010001,0x00000007


"Volodymyr M. Shcherbyna" wrote:

> If you open your sys file in resource editor (for example, reshacker), and
> goto message table, what id do you see there for your custom message?
>
> --
> Volodymyr, blog: http://www.shcherbyna.com/
> (This posting is provided "AS IS" with no warranties, and confers no
> rights)
>
> "Indira" <Indira(a)discussions.microsoft.com> wrote in message
> news:29503D5E-AF48-491B-986F-D97A391D9424(a)microsoft.com...
> > Hi,
> >
> > Is it possible to generate custom error log messages for SCSI miniport
> > driver?
> > I tried the following but no luck:
> >
> > 1. Created a message (.mc) file, compiled and generated a corresponding
> > .rc
> > and .bin file, as per WDK and sample code.
> >
> > 2. Updated .inf file for event log as mentioned in the WDK and added .sys
> > file to look for messages.
> >
> > 3. Calling StorPortLogError() with this custom error ID.
> >
> > After installing this driver, an event is getting logged in the event log,
> > however it complains that it's not able to find the description.
> >
> > The following message is displayed in the description instead of my custom
> > error message.
> >
> > "The description for Event ID ( 11 ) in Source (xyz) cannot be found. The
> > local computer may not have the necessary registry information or message
> > DLL
> > files to display messages from a remote computer. You may be able to use
> > the
> > /AUXSOURCE= flag to retrieve this description; see Help and Support for
> > details. The following information is part of the event:
> > \Device\RaidPort8.
> > "
> >
> > Is it possible to have custom error messages in storport-miniport driver?
> > If
> > so could some one please point out the missing thing in the above steps?
> >
> > Thanks,
> > Indira
> >
>
>
>
From: DeStefan on
Sorry, forgot to mention it:

Use this API-Functions for error logging in eventlog instead of your
StorPortLogError():
IoAllocateErrorLogEntry(), IoWriteErrorLogEntry()


"DeStefan" wrote:

> Here a sample (considering that the mc file is named msglog.mc)
>
> 1.) Make sure that you use the custom build step for your .mc file:
> Command Line: "mc msglog.mc -c"
> Outputs: "msglog.rc;msglog.h"
>
> 2.) Make sure that you really link agains the .res file (which is
> autogenerated by "mc.exe"). Usually this step is forgotten, but it is
> mandatory else, the "mc.exe" will make the resource file, but the
> resourcelinker does not know about this, since it is not involved
> automatically. So add also at "Resources"->"Resource File Name"
> "directory\msglog.res"
>
> 3.) Also make the necessary entries in the registry by your inf file. Here a
> sample inf file section
>
> 4.) At least you need to reboot your machine one time to to give the
> eventlog system the chance to update its registry values, which you modified
> by your inf file
>
>
> [ClassInstall32.Services]
> AddService="MyService",0x00000002,AddServiceCommonSection,EventLogCommonSection,System,"MyServiceDescription"
>
> ;--------- EventLog Section -----------------------------------------------
> [EventLogCommonSection]
> AddReg=AddRegCommonEventLogSection
>
> [AddRegCommonEventLogSection]
> HKR,,"EventMessageFile",0x00020000,"%SystemRoot%\System32\iologmsg.dll;%12%\MyDriver.sys"
> HKR,,"TypesSupported",0x00010001,0x00000007
>
>
> "Volodymyr M. Shcherbyna" wrote:
>
> > If you open your sys file in resource editor (for example, reshacker), and
> > goto message table, what id do you see there for your custom message?
> >
> > --
> > Volodymyr, blog: http://www.shcherbyna.com/
> > (This posting is provided "AS IS" with no warranties, and confers no
> > rights)
> >
> > "Indira" <Indira(a)discussions.microsoft.com> wrote in message
> > news:29503D5E-AF48-491B-986F-D97A391D9424(a)microsoft.com...
> > > Hi,
> > >
> > > Is it possible to generate custom error log messages for SCSI miniport
> > > driver?
> > > I tried the following but no luck:
> > >
> > > 1. Created a message (.mc) file, compiled and generated a corresponding
> > > .rc
> > > and .bin file, as per WDK and sample code.
> > >
> > > 2. Updated .inf file for event log as mentioned in the WDK and added .sys
> > > file to look for messages.
> > >
> > > 3. Calling StorPortLogError() with this custom error ID.
> > >
> > > After installing this driver, an event is getting logged in the event log,
> > > however it complains that it's not able to find the description.
> > >
> > > The following message is displayed in the description instead of my custom
> > > error message.
> > >
> > > "The description for Event ID ( 11 ) in Source (xyz) cannot be found. The
> > > local computer may not have the necessary registry information or message
> > > DLL
> > > files to display messages from a remote computer. You may be able to use
> > > the
> > > /AUXSOURCE= flag to retrieve this description; see Help and Support for
> > > details. The following information is part of the event:
> > > \Device\RaidPort8.
> > > "
> > >
> > > Is it possible to have custom error messages in storport-miniport driver?
> > > If
> > > so could some one please point out the missing thing in the above steps?
> > >
> > > Thanks,
> > > Indira
> > >
> >
> >
> >
From: Indira on
Hi,

Thank you for the replies, here is the message table from .sys file.
I have added just one message to test and I don't see this message in the
log description.

1 MESSAGETABLE
{
65573, "Testing TEsting HBA"
}

Does this table look good?

I also include the msg.rc file generated by mc.exe as part of driver.rc.
The driver.res generated by the compiler has a message table and which is
same as .sys as shown above.

Isn't it already linked as .sys file is referencing the table? And also if I
use IoWriteErrorLogEntry() instead of StorPortLogError(), does WHQL test not
complain about it?

Thanks,
Indira



"Volodymyr M. Shcherbyna" wrote:

> If you open your sys file in resource editor (for example, reshacker), and
> goto message table, what id do you see there for your custom message?
>
> --
> Volodymyr, blog: http://www.shcherbyna.com/
> (This posting is provided "AS IS" with no warranties, and confers no
> rights)
>
> "Indira" <Indira(a)discussions.microsoft.com> wrote in message
> news:29503D5E-AF48-491B-986F-D97A391D9424(a)microsoft.com...
> > Hi,
> >
> > Is it possible to generate custom error log messages for SCSI miniport
> > driver?
> > I tried the following but no luck:
> >
> > 1. Created a message (.mc) file, compiled and generated a corresponding
> > .rc
> > and .bin file, as per WDK and sample code.
> >
> > 2. Updated .inf file for event log as mentioned in the WDK and added .sys
> > file to look for messages.
> >
> > 3. Calling StorPortLogError() with this custom error ID.
> >
> > After installing this driver, an event is getting logged in the event log,
> > however it complains that it's not able to find the description.
> >
> > The following message is displayed in the description instead of my custom
> > error message.
> >
> > "The description for Event ID ( 11 ) in Source (xyz) cannot be found. The
> > local computer may not have the necessary registry information or message
> > DLL
> > files to display messages from a remote computer. You may be able to use
> > the
> > /AUXSOURCE= flag to retrieve this description; see Help and Support for
> > details. The following information is part of the event:
> > \Device\RaidPort8.
> > "
> >
> > Is it possible to have custom error messages in storport-miniport driver?
> > If
> > so could some one please point out the missing thing in the above steps?
> >
> > Thanks,
> > Indira
> >
>
>
>