thanks but i cant understand who "Pre-op can be failed by many filters below yours" i think minifilter above me can fail my pre-op with FLT_PREOP_COMPLETE
""""Did you looked at minispy example from WDK? It might help you a bit. """
yes any day and any time 
"""About BSOD, !analyze -v """"
whene i change my log to pre-ope dont get BSOD
it is !analyze -v ( i change passthrough )
kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
ATTEMPTED_SWITCH_FROM_DPC (b8)
A wait operation, attach process, or yield was attempted from a DPC routine.
This is an illegal operation and the stack track will lead to the offending
code and original DPC routine.
Arguments:
Arg1: 00000000, Original thread which is the cause of the failure
Arg2: 00000000, New thread
Arg3: 00000000, Stack address of the original thread
Arg4: 00000000
Debugging Details:
Unable to load image PassThrough.sys, Win32 error 0n2
*** WARNING: Unable to verify timestamp for PassThrough.sys
CUSTOMER_CRASH_COUNT: 1
DEFAULT_BUCKET_ID: DRIVER_FAULT
BUGCHECK_STR: 0xB8
PROCESS_NAME: notepad++.exe
LAST_CONTROL_TRANSFER: from 80541a37 to 804f8c90
STACK_TEXT:
8054992c 80541a37 000000b8 ffffffff 00000202 nt!KeBugCheck+0x14
8054993c 805418af 80549954 806d228d 0000003d nt!SwapContext+0x157
8054994c 806d2a86 805499e0 806d228d badb0d00 nt!KiDispatchInterrupt+0x7f
8054994c 806d228d 805499e0 806d228d badb0d00 hal!HalpDispatchInterrupt+0xba
805499c4 f82da592 00000000 82089e78 00000001 hal!KfRaiseIrql+0x15
805499e0 f82dfda9 821072c0 00000001 00000000 fltMgr!FltpGetNextCallbackNodeForInstance+0x40
80549a14 f82e0366 82089e78 820f8008 820f8064 fltMgr!FltpGetFileNameInformation+0x49
80549a3c f8a05510 030f8064 00000101 80549a54 fltMgr!FltGetFileNameInformation+0x114
80549a58 f8a05661 820f8064 820f80bc 80549ad0 PassThrough!PrintFilePath+0x1c [d:\project\passthrough\passthrough.c @ 737]
80549a68 f82daef3 820f8064 80549a8c 00000000 PassThrough!PtPreRead+0xd [d:\project\passthrough\passthrough.c @ 687]
80549ad0 f82dd338 000f8008 82165153 820f8008 fltMgr!FltpPerformPostCallbacks+0x1c5
80549ae4 f82dd867 820f8008 82165008 80549b24 fltMgr!FltpProcessIoCompletion+0x10
80549af4 804f069e 8221ac08 82165008 820f8008 fltMgr!FltpPassThroughCompletion+0x89
80549b24 f84efbf4 80549b54 f84efed4 823a68d8 nt!IopfCompleteRequest+0xa2
80549b2c f84efed4 823a68d8 82165008 00000001 CLASSPNP!ClassCompleteRequest+0x11
80549b54 804f069e 00000000 82129790 82129928 CLASSPNP!TransferPktComplete+0x180
80549b84 f83196fc 8235e550 823d00e8 00000000 nt!IopfCompleteRequest+0xa2
80549bb0 f8319c8e 82129790 8235e550 80549c2b atapi!IdeProcessCompletedRequest+0x664
80549c2c 80541b8d 823d00a4 823d0030 00000000 atapi!IdePortCompletionDpc+0x204
80549c50 80541b06 00000000 0000000e 00000000 nt!KiRetireDpcList+0x46
80549c54 00000000 0000000e 00000000 00000000 nt!KiIdleLoop+0x26
STACK_COMMAND: kb
FOLLOWUP_IP:
PassThrough!PrintFilePath+1c [d:\project\passthrough\passthrough.c @ 737]
f8a05510 ?? ???
FAULTING_SOURCE_CODE:
733:
734: status = FltGetFileNameInformation
735: (
736: Data,
737: FLT_FILE_NAME_NORMALIZED|FLT_FILE_NAME_QUERY_ALWAYS_ALLOW_CACHE_LOOKUP,
738: &nameInfo
739: );
740:
741: if(NT_ERROR(status))
742: {
SYMBOL_STACK_INDEX: 8
SYMBOL_NAME: PassThrough!PrintFilePath+1c
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: PassThrough
IMAGE_NAME: PassThrough.sys
DEBUG_FLR_IMAGE_TIMESTAMP: 4e478e3d
FAILURE_BUCKET_ID: 0xB8_PassThrough!PrintFilePath+1c
BUCKET_ID: 0xB8_PassThrough!PrintFilePath+1c
Followup: MachineOwner