Home > other >  Have a great god know the sound card driver development? There is a blue screen problem to consult
Have a great god know the sound card driver development? There is a blue screen problem to consult

Time:09-30

I wrote a virtual sound card driver, in Windows 7 there is no problem, but in win10 some users will turn blue, blue screen appear, every time is in IDMAChannel CopyFrom method body,

STDMETHODIMP_ (void)
WaveStream: : CopyFrom
(
IN PVOID Destination,
IN PVOID Source,
IN ULONG ByteCount
)
{

For (int I=0; i {
BYTE b=data [I];
Destination [I]=b;//this code cause blue screen
}

}

In the Destination memory assignment, trigger a blue screen DRIVER_IRQL_NOT_LESS_OR_EQUAL, give me feeling, like is Destination has failed, what reason is this?

CodePudding user response:

This is the dump file information:

DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)
An attempt was made to access a pageable (or completely invalid) address at An
Interrupt request level (IRQL) that is too high. This is usually
Under caused by drivers using improper addresses.
If the kernel debugger is get stack backtrace.
The Arguments:
Arg1: ffffd000227fd000, referenced memory
Arg2:0000000000000002, IRQL
Arg3:0000000000000001, the value 0=read operation, 1=write operation
Arg4: fffff80182381470, address which referenced memory

As Destination [I]=b; Perform the IRQL is too high, if is really the IRQL is too high, that is to say the Destination is belong to the paging memory?

But the dump file analysis, continue to look down, and the message:

FAULTING_MODULE: fffff800d6417000 nt

5 d69d7b1 DEBUG_FLR_IMAGE_TIMESTAMP:

WRITE_ADDRESS: unable to get the nt! MmSpecialPoolStart
Unable to get the nt! MmSpecialPoolEnd
Unable to get the nt! MmPoolCodeStart
Unable to get the nt! MmPoolCodeEnd
Ffffd000227fd000

CURRENT_IRQL: 0

FAULTING_IP:
The monster! Data_transfer_record + 50
82381470 8802 mov fffff801 ` byte PTR (RDX), al

CUSTOMER_CRASH_COUNT: 1

DEFAULT_BUCKET_ID: VISTA_DRIVER_FAULT

BUGCHECK_STR: 0 xd1

LAST_CONTROL_TRANSFER: from fffff800d6563fe9 to fffff800d6559480

This information added CURRENT_IRQL: 0, it executes code, IRQL is 0 or 2? Don't understand the

CodePudding user response:

Should be set interrupt request
  • Related