I am working on PassThrough driver sample in win 10 x86 but it does not print anything using KdPrint. Why?












0














I print using KdPrint(("Hin")); in FLT_PREOP_CALLBACK_STATUS
PtPreOperationPassThrough(
Inout PFLT_CALLBACK_DATA Data,
In PCFLT_RELATED_OBJECTS FltObjects,
_Flt_CompletionContext_Outptr_ PVOID *CompletionContext
) and seeing what happens in DebugView Program after open a file . The driver is started as I use driverquery. But I see no output after opening files randomly.



the below exists in my code:



CONST FLT_OPERATION_REGISTRATION Callbacks = {
{ IRP_MJ_CREATE,
0,
PtPreOperationPassThrough,
PtPostOperationPassThrough },
{ IRP_MJ_DEVICE_CONTROL,
0,
PtPreOperationPassThrough,
PtPostOperationPassThrough },

{ IRP_MJ_CLEANUP,
0,
PtPreOperationPassThrough,
PtPostOperationPassThrough },

{ IRP_MJ_OPERATION_END }
};

//
// This defines what we want to filter with FltMgr


//



CONST FLT_REGISTRATION FilterRegistration = {

sizeof(FLT_REGISTRATION), // Size
FLT_REGISTRATION_VERSION, // Version
0, // Flags

NULL, // Context
Callbacks, // Operation callbacks

PtUnload, // MiniFilterUnload

PtInstanceSetup, // InstanceSetup
PtInstanceQueryTeardown, // InstanceQueryTeardown
PtInstanceTeardownStart, // InstanceTeardownStart
PtInstanceTeardownComplete, // InstanceTeardownComplete

NULL, // GenerateFileName
NULL, // GenerateDestinationFileName
NULL // NormalizeNameComponent

};


NTSTATUS
DriverEntry(
_In_ PDRIVER_OBJECT DriverObject,
_In_ PUNICODE_STRING RegistryPath
)

{
NTSTATUS status;

UNREFERENCED_PARAMETER(RegistryPath);

PT_DBG_PRINT(PTDBG_TRACE_ROUTINES,
("PassThrough!DriverEntry: Enteredn"));

//
// Register with FltMgr to tell it our callback routines
//

status = FltRegisterFilter(DriverObject,
&FilterRegistration,
&gFilterHandle);

FLT_ASSERT(NT_SUCCESS(status));

if (NT_SUCCESS(status)) {

//
// Start filtering i/o
//

status = FltStartFiltering(gFilterHandle);

if (!NT_SUCCESS(status)) {

FltUnregisterFilter(gFilterHandle);
}
}

return status;
}









share|improve this question



























    0














    I print using KdPrint(("Hin")); in FLT_PREOP_CALLBACK_STATUS
    PtPreOperationPassThrough(
    Inout PFLT_CALLBACK_DATA Data,
    In PCFLT_RELATED_OBJECTS FltObjects,
    _Flt_CompletionContext_Outptr_ PVOID *CompletionContext
    ) and seeing what happens in DebugView Program after open a file . The driver is started as I use driverquery. But I see no output after opening files randomly.



    the below exists in my code:



    CONST FLT_OPERATION_REGISTRATION Callbacks = {
    { IRP_MJ_CREATE,
    0,
    PtPreOperationPassThrough,
    PtPostOperationPassThrough },
    { IRP_MJ_DEVICE_CONTROL,
    0,
    PtPreOperationPassThrough,
    PtPostOperationPassThrough },

    { IRP_MJ_CLEANUP,
    0,
    PtPreOperationPassThrough,
    PtPostOperationPassThrough },

    { IRP_MJ_OPERATION_END }
    };

    //
    // This defines what we want to filter with FltMgr


    //



    CONST FLT_REGISTRATION FilterRegistration = {

    sizeof(FLT_REGISTRATION), // Size
    FLT_REGISTRATION_VERSION, // Version
    0, // Flags

    NULL, // Context
    Callbacks, // Operation callbacks

    PtUnload, // MiniFilterUnload

    PtInstanceSetup, // InstanceSetup
    PtInstanceQueryTeardown, // InstanceQueryTeardown
    PtInstanceTeardownStart, // InstanceTeardownStart
    PtInstanceTeardownComplete, // InstanceTeardownComplete

    NULL, // GenerateFileName
    NULL, // GenerateDestinationFileName
    NULL // NormalizeNameComponent

    };


    NTSTATUS
    DriverEntry(
    _In_ PDRIVER_OBJECT DriverObject,
    _In_ PUNICODE_STRING RegistryPath
    )

    {
    NTSTATUS status;

    UNREFERENCED_PARAMETER(RegistryPath);

    PT_DBG_PRINT(PTDBG_TRACE_ROUTINES,
    ("PassThrough!DriverEntry: Enteredn"));

    //
    // Register with FltMgr to tell it our callback routines
    //

    status = FltRegisterFilter(DriverObject,
    &FilterRegistration,
    &gFilterHandle);

    FLT_ASSERT(NT_SUCCESS(status));

    if (NT_SUCCESS(status)) {

    //
    // Start filtering i/o
    //

    status = FltStartFiltering(gFilterHandle);

    if (!NT_SUCCESS(status)) {

    FltUnregisterFilter(gFilterHandle);
    }
    }

    return status;
    }









    share|improve this question

























      0












      0








      0







      I print using KdPrint(("Hin")); in FLT_PREOP_CALLBACK_STATUS
      PtPreOperationPassThrough(
      Inout PFLT_CALLBACK_DATA Data,
      In PCFLT_RELATED_OBJECTS FltObjects,
      _Flt_CompletionContext_Outptr_ PVOID *CompletionContext
      ) and seeing what happens in DebugView Program after open a file . The driver is started as I use driverquery. But I see no output after opening files randomly.



      the below exists in my code:



      CONST FLT_OPERATION_REGISTRATION Callbacks = {
      { IRP_MJ_CREATE,
      0,
      PtPreOperationPassThrough,
      PtPostOperationPassThrough },
      { IRP_MJ_DEVICE_CONTROL,
      0,
      PtPreOperationPassThrough,
      PtPostOperationPassThrough },

      { IRP_MJ_CLEANUP,
      0,
      PtPreOperationPassThrough,
      PtPostOperationPassThrough },

      { IRP_MJ_OPERATION_END }
      };

      //
      // This defines what we want to filter with FltMgr


      //



      CONST FLT_REGISTRATION FilterRegistration = {

      sizeof(FLT_REGISTRATION), // Size
      FLT_REGISTRATION_VERSION, // Version
      0, // Flags

      NULL, // Context
      Callbacks, // Operation callbacks

      PtUnload, // MiniFilterUnload

      PtInstanceSetup, // InstanceSetup
      PtInstanceQueryTeardown, // InstanceQueryTeardown
      PtInstanceTeardownStart, // InstanceTeardownStart
      PtInstanceTeardownComplete, // InstanceTeardownComplete

      NULL, // GenerateFileName
      NULL, // GenerateDestinationFileName
      NULL // NormalizeNameComponent

      };


      NTSTATUS
      DriverEntry(
      _In_ PDRIVER_OBJECT DriverObject,
      _In_ PUNICODE_STRING RegistryPath
      )

      {
      NTSTATUS status;

      UNREFERENCED_PARAMETER(RegistryPath);

      PT_DBG_PRINT(PTDBG_TRACE_ROUTINES,
      ("PassThrough!DriverEntry: Enteredn"));

      //
      // Register with FltMgr to tell it our callback routines
      //

      status = FltRegisterFilter(DriverObject,
      &FilterRegistration,
      &gFilterHandle);

      FLT_ASSERT(NT_SUCCESS(status));

      if (NT_SUCCESS(status)) {

      //
      // Start filtering i/o
      //

      status = FltStartFiltering(gFilterHandle);

      if (!NT_SUCCESS(status)) {

      FltUnregisterFilter(gFilterHandle);
      }
      }

      return status;
      }









      share|improve this question













      I print using KdPrint(("Hin")); in FLT_PREOP_CALLBACK_STATUS
      PtPreOperationPassThrough(
      Inout PFLT_CALLBACK_DATA Data,
      In PCFLT_RELATED_OBJECTS FltObjects,
      _Flt_CompletionContext_Outptr_ PVOID *CompletionContext
      ) and seeing what happens in DebugView Program after open a file . The driver is started as I use driverquery. But I see no output after opening files randomly.



      the below exists in my code:



      CONST FLT_OPERATION_REGISTRATION Callbacks = {
      { IRP_MJ_CREATE,
      0,
      PtPreOperationPassThrough,
      PtPostOperationPassThrough },
      { IRP_MJ_DEVICE_CONTROL,
      0,
      PtPreOperationPassThrough,
      PtPostOperationPassThrough },

      { IRP_MJ_CLEANUP,
      0,
      PtPreOperationPassThrough,
      PtPostOperationPassThrough },

      { IRP_MJ_OPERATION_END }
      };

      //
      // This defines what we want to filter with FltMgr


      //



      CONST FLT_REGISTRATION FilterRegistration = {

      sizeof(FLT_REGISTRATION), // Size
      FLT_REGISTRATION_VERSION, // Version
      0, // Flags

      NULL, // Context
      Callbacks, // Operation callbacks

      PtUnload, // MiniFilterUnload

      PtInstanceSetup, // InstanceSetup
      PtInstanceQueryTeardown, // InstanceQueryTeardown
      PtInstanceTeardownStart, // InstanceTeardownStart
      PtInstanceTeardownComplete, // InstanceTeardownComplete

      NULL, // GenerateFileName
      NULL, // GenerateDestinationFileName
      NULL // NormalizeNameComponent

      };


      NTSTATUS
      DriverEntry(
      _In_ PDRIVER_OBJECT DriverObject,
      _In_ PUNICODE_STRING RegistryPath
      )

      {
      NTSTATUS status;

      UNREFERENCED_PARAMETER(RegistryPath);

      PT_DBG_PRINT(PTDBG_TRACE_ROUTINES,
      ("PassThrough!DriverEntry: Enteredn"));

      //
      // Register with FltMgr to tell it our callback routines
      //

      status = FltRegisterFilter(DriverObject,
      &FilterRegistration,
      &gFilterHandle);

      FLT_ASSERT(NT_SUCCESS(status));

      if (NT_SUCCESS(status)) {

      //
      // Start filtering i/o
      //

      status = FltStartFiltering(gFilterHandle);

      if (!NT_SUCCESS(status)) {

      FltUnregisterFilter(gFilterHandle);
      }
      }

      return status;
      }






      driver






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 17 '18 at 16:20









      Mustafa Asghari

      12




      12
























          0






          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53353089%2fi-am-working-on-passthrough-driver-sample-in-win-10-x86-but-it-does-not-print-an%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53353089%2fi-am-working-on-passthrough-driver-sample-in-win-10-x86-but-it-does-not-print-an%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Biblatex bibliography style without URLs when DOI exists (in Overleaf with Zotero bibliography)

          ComboBox Display Member on multiple fields

          Is it possible to collect Nectar points via Trainline?