diff options
| author | ya-solnyshko <[email protected]> | 2024-12-29 18:38:40 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-12-29 18:38:40 +0100 |
| commit | 3dbe73da0848fce170ff4f59459bc597f0d0cd34 (patch) | |
| tree | 878510e10356226b2b529cac769be4c3573f5ef9 /filesys/miniFilter | |
| parent | d0b2ae23542a22bdddcb30c9d82d89c614027faa (diff) | |
| parent | 57ecdd5d16347ef3bc1348a164ce90288c44c243 (diff) | |
Merge branch 'main' into fix-transaction-processing
Diffstat (limited to 'filesys/miniFilter')
15 files changed, 26 insertions, 26 deletions
diff --git a/filesys/miniFilter/MetadataManager/fmm.inf b/filesys/miniFilter/MetadataManager/fmm.inf Binary files differindex ad231a8c..63f0bd4b 100644 --- a/filesys/miniFilter/MetadataManager/fmm.inf +++ b/filesys/miniFilter/MetadataManager/fmm.inf diff --git a/filesys/miniFilter/NameChanger/NameChanger.inf b/filesys/miniFilter/NameChanger/NameChanger.inf Binary files differindex 7c0b2364..b4474bb1 100644 --- a/filesys/miniFilter/NameChanger/NameChanger.inf +++ b/filesys/miniFilter/NameChanger/NameChanger.inf diff --git a/filesys/miniFilter/avscan/avscan.inf b/filesys/miniFilter/avscan/avscan.inf Binary files differindex cfc9c9ab..8c1e329d 100644 --- a/filesys/miniFilter/avscan/avscan.inf +++ b/filesys/miniFilter/avscan/avscan.inf diff --git a/filesys/miniFilter/cancelSafe/cancelSafe.inf b/filesys/miniFilter/cancelSafe/cancelSafe.inf Binary files differindex 69d0ccf1..5367e66e 100644 --- a/filesys/miniFilter/cancelSafe/cancelSafe.inf +++ b/filesys/miniFilter/cancelSafe/cancelSafe.inf diff --git a/filesys/miniFilter/cdo/cdo.inf b/filesys/miniFilter/cdo/cdo.inf Binary files differindex cdac24d9..37af1d59 100644 --- a/filesys/miniFilter/cdo/cdo.inf +++ b/filesys/miniFilter/cdo/cdo.inf diff --git a/filesys/miniFilter/change/change.inf b/filesys/miniFilter/change/change.inf Binary files differindex e7da4250..6a1923d2 100644 --- a/filesys/miniFilter/change/change.inf +++ b/filesys/miniFilter/change/change.inf diff --git a/filesys/miniFilter/ctx/ctx.inf b/filesys/miniFilter/ctx/ctx.inf Binary files differindex 8edaf764..bc637613 100644 --- a/filesys/miniFilter/ctx/ctx.inf +++ b/filesys/miniFilter/ctx/ctx.inf diff --git a/filesys/miniFilter/delete/delete.inf b/filesys/miniFilter/delete/delete.inf Binary files differindex da348874..e0c8c04c 100644 --- a/filesys/miniFilter/delete/delete.inf +++ b/filesys/miniFilter/delete/delete.inf diff --git a/filesys/miniFilter/minispy/minispy.inf b/filesys/miniFilter/minispy/minispy.inf Binary files differindex 60eb8684..a368bd75 100644 --- a/filesys/miniFilter/minispy/minispy.inf +++ b/filesys/miniFilter/minispy/minispy.inf diff --git a/filesys/miniFilter/nullFilter/nullFilter.inf b/filesys/miniFilter/nullFilter/nullFilter.inf Binary files differindex c04e9f06..1fffa028 100644 --- a/filesys/miniFilter/nullFilter/nullFilter.inf +++ b/filesys/miniFilter/nullFilter/nullFilter.inf diff --git a/filesys/miniFilter/passThrough/passThrough.inf b/filesys/miniFilter/passThrough/passThrough.inf Binary files differindex 129a2ab6..f77c3e4c 100644 --- a/filesys/miniFilter/passThrough/passThrough.inf +++ b/filesys/miniFilter/passThrough/passThrough.inf diff --git a/filesys/miniFilter/scanner/scanner.inf b/filesys/miniFilter/scanner/scanner.inf Binary files differindex d7bf6256..b7c3ac9e 100644 --- a/filesys/miniFilter/scanner/scanner.inf +++ b/filesys/miniFilter/scanner/scanner.inf diff --git a/filesys/miniFilter/scanner/user/scanUser.c b/filesys/miniFilter/scanner/user/scanUser.c index e766261c..08b948b3 100644 --- a/filesys/miniFilter/scanner/user/scanUser.c +++ b/filesys/miniFilter/scanner/user/scanUser.c @@ -254,8 +254,6 @@ Return Value } } - free( message ); - return hr; } @@ -268,13 +266,12 @@ main ( { DWORD requestCount = SCANNER_DEFAULT_REQUEST_COUNT; DWORD threadCount = SCANNER_DEFAULT_THREAD_COUNT; - HANDLE threads[SCANNER_MAX_THREAD_COUNT]; + HANDLE threads[SCANNER_MAX_THREAD_COUNT] = { NULL }; SCANNER_THREAD_CONTEXT context; HANDLE port, completion; - PSCANNER_MESSAGE msg; + PSCANNER_MESSAGE messages; DWORD threadId; HRESULT hr; - DWORD i, j; // // Check how many threads and per thread requests are desired. @@ -343,11 +340,23 @@ main ( context.Completion = completion; // - // Create specified number of threads. + // Allocate messages. // - for (i = 0; i < threadCount; i++) { + messages = calloc(((size_t) threadCount) * requestCount, sizeof(SCANNER_MESSAGE)); + + if (messages == NULL) { + hr = ERROR_NOT_ENOUGH_MEMORY; + goto main_cleanup; + } + + // + // Create specified number of threads. + // + + for (DWORD i = 0; i < threadCount; i++) { + threads[i] = CreateThread( NULL, 0, (LPTHREAD_START_ROUTINE) ScannerWorker, @@ -366,20 +375,9 @@ main ( goto main_cleanup; } - for (j = 0; j < requestCount; j++) { - - // - // Allocate the message. - // - -#pragma prefast(suppress:__WARNING_MEMORY_LEAK, "msg will not be leaked because it is freed in ScannerWorker") - msg = malloc( sizeof( SCANNER_MESSAGE ) ); - - if (msg == NULL) { - - hr = ERROR_NOT_ENOUGH_MEMORY; - goto main_cleanup; - } + for (DWORD j = 0; j < requestCount; j++) { + + PSCANNER_MESSAGE msg = &(messages[i * requestCount + j]); memset( &msg->Ovlp, 0, sizeof( OVERLAPPED ) ); @@ -393,24 +391,26 @@ main ( &msg->Ovlp ); if (hr != HRESULT_FROM_WIN32( ERROR_IO_PENDING )) { - - free( msg ); goto main_cleanup; } } } hr = S_OK; - - WaitForMultipleObjectsEx( i, threads, TRUE, INFINITE, FALSE ); - + main_cleanup: + for (INT i = 0; threads[i] != NULL; ++i) { + WaitForSingleObjectEx(threads[i], INFINITE, FALSE); + } + printf( "Scanner: All done. Result = 0x%08x\n", hr ); CloseHandle( port ); CloseHandle( completion ); + free(messages); + return hr; } diff --git a/filesys/miniFilter/simrep/simrep.inf b/filesys/miniFilter/simrep/simrep.inf Binary files differindex 8eea42ce..76aa1f0c 100644 --- a/filesys/miniFilter/simrep/simrep.inf +++ b/filesys/miniFilter/simrep/simrep.inf diff --git a/filesys/miniFilter/swapBuffers/swapBuffers.inf b/filesys/miniFilter/swapBuffers/swapBuffers.inf Binary files differindex 0aab9452..e5acbdd3 100644 --- a/filesys/miniFilter/swapBuffers/swapBuffers.inf +++ b/filesys/miniFilter/swapBuffers/swapBuffers.inf |
