summaryrefslogtreecommitdiff
path: root/filesys/miniFilter
diff options
context:
space:
mode:
authorya-solnyshko <[email protected]>2024-12-29 18:38:40 +0100
committerGitHub <[email protected]>2024-12-29 18:38:40 +0100
commit3dbe73da0848fce170ff4f59459bc597f0d0cd34 (patch)
tree878510e10356226b2b529cac769be4c3573f5ef9 /filesys/miniFilter
parentd0b2ae23542a22bdddcb30c9d82d89c614027faa (diff)
parent57ecdd5d16347ef3bc1348a164ce90288c44c243 (diff)
Merge branch 'main' into fix-transaction-processing
Diffstat (limited to 'filesys/miniFilter')
-rw-r--r--filesys/miniFilter/MetadataManager/fmm.infbin8292 -> 4012 bytes
-rw-r--r--filesys/miniFilter/NameChanger/NameChanger.infbin9004 -> 4361 bytes
-rw-r--r--filesys/miniFilter/avscan/avscan.infbin8858 -> 4274 bytes
-rw-r--r--filesys/miniFilter/cancelSafe/cancelSafe.infbin8792 -> 4262 bytes
-rw-r--r--filesys/miniFilter/cdo/cdo.infbin8270 -> 4004 bytes
-rw-r--r--filesys/miniFilter/change/change.infbin7816 -> 3782 bytes
-rw-r--r--filesys/miniFilter/ctx/ctx.infbin8252 -> 3993 bytes
-rw-r--r--filesys/miniFilter/delete/delete.infbin8084 -> 3913 bytes
-rw-r--r--filesys/miniFilter/minispy/minispy.infbin9920 -> 4817 bytes
-rw-r--r--filesys/miniFilter/nullFilter/nullFilter.infbin7928 -> 3836 bytes
-rw-r--r--filesys/miniFilter/passThrough/passThrough.infbin8116 -> 3930 bytes
-rw-r--r--filesys/miniFilter/scanner/scanner.infbin8340 -> 4035 bytes
-rw-r--r--filesys/miniFilter/scanner/user/scanUser.c52
-rw-r--r--filesys/miniFilter/simrep/simrep.infbin9280 -> 4496 bytes
-rw-r--r--filesys/miniFilter/swapBuffers/swapBuffers.infbin8270 -> 4005 bytes
15 files changed, 26 insertions, 26 deletions
diff --git a/filesys/miniFilter/MetadataManager/fmm.inf b/filesys/miniFilter/MetadataManager/fmm.inf
index ad231a8c..63f0bd4b 100644
--- a/filesys/miniFilter/MetadataManager/fmm.inf
+++ b/filesys/miniFilter/MetadataManager/fmm.inf
Binary files differ
diff --git a/filesys/miniFilter/NameChanger/NameChanger.inf b/filesys/miniFilter/NameChanger/NameChanger.inf
index 7c0b2364..b4474bb1 100644
--- a/filesys/miniFilter/NameChanger/NameChanger.inf
+++ b/filesys/miniFilter/NameChanger/NameChanger.inf
Binary files differ
diff --git a/filesys/miniFilter/avscan/avscan.inf b/filesys/miniFilter/avscan/avscan.inf
index cfc9c9ab..8c1e329d 100644
--- a/filesys/miniFilter/avscan/avscan.inf
+++ b/filesys/miniFilter/avscan/avscan.inf
Binary files differ
diff --git a/filesys/miniFilter/cancelSafe/cancelSafe.inf b/filesys/miniFilter/cancelSafe/cancelSafe.inf
index 69d0ccf1..5367e66e 100644
--- a/filesys/miniFilter/cancelSafe/cancelSafe.inf
+++ b/filesys/miniFilter/cancelSafe/cancelSafe.inf
Binary files differ
diff --git a/filesys/miniFilter/cdo/cdo.inf b/filesys/miniFilter/cdo/cdo.inf
index cdac24d9..37af1d59 100644
--- a/filesys/miniFilter/cdo/cdo.inf
+++ b/filesys/miniFilter/cdo/cdo.inf
Binary files differ
diff --git a/filesys/miniFilter/change/change.inf b/filesys/miniFilter/change/change.inf
index e7da4250..6a1923d2 100644
--- a/filesys/miniFilter/change/change.inf
+++ b/filesys/miniFilter/change/change.inf
Binary files differ
diff --git a/filesys/miniFilter/ctx/ctx.inf b/filesys/miniFilter/ctx/ctx.inf
index 8edaf764..bc637613 100644
--- a/filesys/miniFilter/ctx/ctx.inf
+++ b/filesys/miniFilter/ctx/ctx.inf
Binary files differ
diff --git a/filesys/miniFilter/delete/delete.inf b/filesys/miniFilter/delete/delete.inf
index da348874..e0c8c04c 100644
--- a/filesys/miniFilter/delete/delete.inf
+++ b/filesys/miniFilter/delete/delete.inf
Binary files differ
diff --git a/filesys/miniFilter/minispy/minispy.inf b/filesys/miniFilter/minispy/minispy.inf
index 60eb8684..a368bd75 100644
--- a/filesys/miniFilter/minispy/minispy.inf
+++ b/filesys/miniFilter/minispy/minispy.inf
Binary files differ
diff --git a/filesys/miniFilter/nullFilter/nullFilter.inf b/filesys/miniFilter/nullFilter/nullFilter.inf
index c04e9f06..1fffa028 100644
--- a/filesys/miniFilter/nullFilter/nullFilter.inf
+++ b/filesys/miniFilter/nullFilter/nullFilter.inf
Binary files differ
diff --git a/filesys/miniFilter/passThrough/passThrough.inf b/filesys/miniFilter/passThrough/passThrough.inf
index 129a2ab6..f77c3e4c 100644
--- a/filesys/miniFilter/passThrough/passThrough.inf
+++ b/filesys/miniFilter/passThrough/passThrough.inf
Binary files differ
diff --git a/filesys/miniFilter/scanner/scanner.inf b/filesys/miniFilter/scanner/scanner.inf
index d7bf6256..b7c3ac9e 100644
--- a/filesys/miniFilter/scanner/scanner.inf
+++ b/filesys/miniFilter/scanner/scanner.inf
Binary files differ
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
index 8eea42ce..76aa1f0c 100644
--- a/filesys/miniFilter/simrep/simrep.inf
+++ b/filesys/miniFilter/simrep/simrep.inf
Binary files differ
diff --git a/filesys/miniFilter/swapBuffers/swapBuffers.inf b/filesys/miniFilter/swapBuffers/swapBuffers.inf
index 0aab9452..e5acbdd3 100644
--- a/filesys/miniFilter/swapBuffers/swapBuffers.inf
+++ b/filesys/miniFilter/swapBuffers/swapBuffers.inf
Binary files differ