mirror of
https://github.com/reactos/reactos.git
synced 2024-11-20 06:15:26 +00:00
dfb776380d
[FLTMGR][KMTEST] Squash and push my local branch across to master as the patch is getting a bit large. This is still WIP and none of this code is run in ros yet, so don't fret if you see ugly/unfinished code or int3's dotted around. [FLTMGR] Improve loading/reg of filters and start to implement client connections - Implement handling of connections from clients - Implement closing of client ports - Add a basic message waiter queue using CSQ's (untested) - Hand off messages for the comms object to be handled by the comms file - Initialize the connection list - Add a registry file which will contain lib functions for accessing filter service entries - [KMTEST] Initial usermode support for testing FS mini-filters - Add base routines to wrap the win32 'Filter' APis - Add support routines to be used when testing FS filter drivers - Move KmtCreateService to a private routine so it can be shared with KmtFltCreateService - Completely untested at the mo, so likely contains bugs at this point - Add support for adding altitude and flags registry entries for minifilters - Allow minifilters to setup without requiring instance attach/detach callbacks - Add tests for FltRegisterFilter and FltUnregisterFilter and start to add associated tests
28 lines
946 B
C
28 lines
946 B
C
/*
|
|
* PROJECT: ReactOS kernel-mode tests - Filter Manager
|
|
* LICENSE: GPLv2+ - See COPYING in the top level directory
|
|
* PURPOSE: Tests for checking filters load and connect correctly
|
|
* PROGRAMMER: Ged Murphy <gedmurphy@reactos.org>
|
|
*/
|
|
|
|
#include <kmt_test.h>
|
|
|
|
|
|
START_TEST(FltMgrLoad)
|
|
{
|
|
static WCHAR FilterName[] = L"FltMgrLoad";
|
|
SC_HANDLE hService;
|
|
HANDLE hPort;
|
|
|
|
trace("Message from user-mode\n");
|
|
|
|
ok(KmtFltCreateService(FilterName, L"FltMgrLoad test driver", &hService) == ERROR_SUCCESS, "\n");
|
|
ok(KmtFltLoadDriver(FALSE, FALSE, FALSE, &hPort) == ERROR_PRIVILEGE_NOT_HELD, "\n");
|
|
ok(KmtFltLoadDriver(TRUE, FALSE, FALSE, &hPort) == ERROR_SUCCESS, "\n");
|
|
|
|
ok(KmtFltConnectComms(&hPort) == ERROR_SUCCESS, "\n");
|
|
|
|
ok(KmtFltDisconnectComms(hPort) == ERROR_SUCCESS, "\n");
|
|
ok(KmtFltUnloadDriver(hPort, FALSE) == ERROR_SUCCESS, "\n");
|
|
KmtFltDeleteService(NULL, &hService);
|
|
}
|