mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-07 02:42:48 +03:00
Add a comment describing the contents of the ExceptionInformation[] array for win32 EXCEPTION_IN_PAGE_ERROR exceptions. No changes to code.
FossilOrigin-Name: 8e20354242d5f34a90b6c00d9034535ef6f6086ee4971230c7fd69985e2777d2
This commit is contained in:
@@ -654,6 +654,11 @@ static int sehExceptionFilter(Wal *pWal, int eCode, EXCEPTION_POINTERS *p){
|
||||
VVA_ONLY(pWal->nSehTry--);
|
||||
if( eCode==EXCEPTION_IN_PAGE_ERROR ){
|
||||
if( p && p->ExceptionRecord && p->ExceptionRecord->NumberParameters>=3 ){
|
||||
/* From MSDN: For this type of exception, the first element of the
|
||||
** ExceptionInformation[] array is a read-write flag - 0 if the exception
|
||||
** was thrown while reading, 1 if while writing. The second element is
|
||||
** the virtual address being accessed. The "third array element specifies
|
||||
** the underlying NTSTATUS code that resulted in the exception". */
|
||||
pWal->iSysErrno = (int)p->ExceptionRecord->ExceptionInformation[2];
|
||||
}
|
||||
return EXCEPTION_EXECUTE_HANDLER;
|
||||
|
Reference in New Issue
Block a user