WDK Mini Filter Example
avscan.h File Reference
#include <fltKernel.h>
#include <dontuse.h>
#include <suppress.h>
#include "utility.h"
#include "context.h"
#include "scan.h"
#include "csvfs.h"
#include "avlib.h"

Go to the source code of this file.

Data Structures

struct  _AV_SCAN_CONTEXT
 
struct  _AV_SCANNER_GLOBAL_DATA
 

Macros

#define RTL_USE_AVL_TABLES
 
#define AV_VISTA   (NTDDI_VERSION >= NTDDI_VISTA)
 
#define AV_DBG_PRINT(_dbgLevel, _string)   {NOTHING;}
 

Typedefs

typedef struct _AV_SCAN_CONTEXT AV_SCAN_CONTEXT
 
typedef struct _AV_SCAN_CONTEXTPAV_SCAN_CONTEXT
 
typedef struct _AV_SCANNER_GLOBAL_DATA AV_SCANNER_GLOBAL_DATA
 
typedef struct _AV_SCANNER_GLOBAL_DATAPAV_SCANNER_GLOBAL_DATA
 

Functions

FORCEINLINE VOID AvCancelFileOpen (_Inout_ PFLT_CALLBACK_DATA Data, _In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ NTSTATUS Status)
 
NTSTATUS AvPrepareServerPort (_In_ PSECURITY_DESCRIPTOR SecurityDescriptor, _In_ AVSCAN_CONNECTION_TYPE ConnectionType)
 
NTSTATUS AvSendAbortToUser (_In_ ULONG ScanThreadId, _In_ LONGLONG ScanId)
 
NTSTATUS AvAllocateScanContext (_In_ PFLT_INSTANCE Instance, _In_ PFILE_OBJECT FileObject, _Outptr_ PAV_SCAN_CONTEXT *ScanContext)
 
NTSTATUS AvReferenceScanContext (_In_ PAV_SCAN_CONTEXT ScanContext)
 
NTSTATUS AvReleaseScanContext (_In_ PAV_SCAN_CONTEXT ScanContext)
 
NTSTATUS AvFinalizeScanAndSection (_Inout_ PAV_SCAN_CONTEXT ScanContext)
 
NTSTATUS AvFinalizeSectionContext (_Inout_ PAV_SECTION_CONTEXT SectionContext)
 
VOID AvFinalizeScanContext (_Inout_ PAV_SCAN_CONTEXT ScanContext, _Outptr_result_maybenull_ PAV_SECTION_CONTEXT *SectionContext)
 

Variables

AV_SCANNER_GLOBAL_DATA Globals
 

Macro Definition Documentation

◆ AV_DBG_PRINT

#define AV_DBG_PRINT (   _dbgLevel,
  _string 
)    {NOTHING;}

Definition at line 172 of file avscan.h.

◆ AV_VISTA

#define AV_VISTA   (NTDDI_VERSION >= NTDDI_VISTA)

Definition at line 27 of file avscan.h.

◆ RTL_USE_AVL_TABLES

#define RTL_USE_AVL_TABLES

Definition at line 24 of file avscan.h.

Typedef Documentation

◆ AV_SCAN_CONTEXT

◆ AV_SCANNER_GLOBAL_DATA

◆ PAV_SCAN_CONTEXT

◆ PAV_SCANNER_GLOBAL_DATA

Function Documentation

◆ AvAllocateScanContext()

NTSTATUS AvAllocateScanContext ( _In_ PFLT_INSTANCE  Instance,
_In_ PFILE_OBJECT  FileObject,
_Outptr_ PAV_SCAN_CONTEXT ScanContext 
)

Definition at line 787 of file avscan/filter/context.c.

◆ AvCancelFileOpen()

FORCEINLINE VOID AvCancelFileOpen ( _Inout_ PFLT_CALLBACK_DATA  Data,
_In_ PCFLT_RELATED_OBJECTS  FltObjects,
_In_ NTSTATUS  Status 
)

Definition at line 178 of file avscan.h.

◆ AvFinalizeScanAndSection()

NTSTATUS AvFinalizeScanAndSection ( _Inout_ PAV_SCAN_CONTEXT  ScanContext)

Definition at line 874 of file communication.c.

◆ AvFinalizeScanContext()

VOID AvFinalizeScanContext ( _Inout_ PAV_SCAN_CONTEXT  ScanContext,
_Outptr_result_maybenull_ PAV_SECTION_CONTEXT SectionContext 
)

Definition at line 913 of file communication.c.

◆ AvFinalizeSectionContext()

NTSTATUS AvFinalizeSectionContext ( _Inout_ PAV_SECTION_CONTEXT  SectionContext)

Definition at line 975 of file communication.c.

◆ AvPrepareServerPort()

NTSTATUS AvPrepareServerPort ( _In_ PSECURITY_DESCRIPTOR  SecurityDescriptor,
_In_ AVSCAN_CONNECTION_TYPE  ConnectionType 
)

Definition at line 1335 of file communication.c.

◆ AvReferenceScanContext()

NTSTATUS AvReferenceScanContext ( _In_ PAV_SCAN_CONTEXT  ScanContext)

Definition at line 855 of file avscan/filter/context.c.

◆ AvReleaseScanContext()

NTSTATUS AvReleaseScanContext ( _In_ PAV_SCAN_CONTEXT  ScanContext)

Definition at line 892 of file avscan/filter/context.c.

◆ AvSendAbortToUser()

NTSTATUS AvSendAbortToUser ( _In_ ULONG  ScanThreadId,
_In_ LONGLONG  ScanId 
)

Definition at line 1650 of file filter/avscan.c.

Variable Documentation

◆ Globals

Definition at line 152 of file avscan.h.

Social Network


Services Overview

Architect, implement and test file system filter drivers for a wide range of functionality. We can offer several levels of assistance to meet your specific.

Contact Us

You are welcome to contact us for salse or partnership.

Sales: sales@easefilter.com
Support: support@easefilter.com
Info: info@easefilter.com