1
0
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:
dan
2023-07-26 18:34:34 +00:00
parent 5202b7ca75
commit 5e22dfb6a5
3 changed files with 15 additions and 10 deletions

View File

@@ -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;