IoRaiseInformationalHardError and STATUS_LOG_HARD_ERROR

Hi

I need display message from kernel mode. I want use
IoRaiseInformationalHardError
with STATUS_LOG_HARD_ERROR and my strings as %1 and %2. But I don’t know how
to specify %1 and %2. IoRaise… have only one PUNOCODE_STRING parameter and
in my test this is not used. Is there anybody, who knows how to correctly
specify these parameters?

Or maybe better idea is use STATUS_SERVICE_NOTIFICATION? But it seems this
status value is completelly ignored.

My code:
{
static BOOLEAN HardErrorMode;
static UNICODE_STRING String;
static WCHAR Buffer[4096];
if(wcslen(Name1)+wcslen(Name2)+256 < sizeof(Buffer)/sizeof(Buffer[0])){
wcscpy(Buffer, Name1);
wcscat(Buffer, L" bla bla ");
wcscat(Buffer, Name2);
RtlInitUnicodeString(&String, Buffer);
HardErrorMode = IoSetThreadHardErrorMode(TRUE);
IoRaiseInformationalHardError(STATUS_SERVICE_NOTIFICATION, String, NULL);
IoSetThreadHardErrorMode(HardErrorMode);
}
}

Petr Balas (petr at petrbalas dot cz)