Mit WDK 8.0 kompilierter FileSystem MiniFilter-Treiber zeigt keine DbgPrint-Ausgabe an (DbgView / Win7 32-Bit)

Ich habe einen Minifilter-Treiber mit dem Build-Dienstprogramm WDK 7.0 für Windows 7 32 Bit geschrieben und kompiliert. Dann installierte ich es auf einem Windows 7 (32-Bit) Computer, der unter VMWare mit dem Treiberladedienstprogramm von OSR ausgeführt wurde. Als ich DbgView ausführte, konnte ich die DbgPrint-Ausgabe genau sehen.

Dann habe ich denselben Treiber mit WDK 8.0 kompiliert, das in Microsoft Visual Studio Pro 2012 für Windows 7 (32 Bit) integriert ist. Als Ergebnis wurden 3 Dateien erstellt, eine sys-, cat- und inf-Datei. Ich habe den Treiber auf einem Windows 7-Computer (32 Bit) unter VMWare installiert, indem ich mit der rechten Maustaste auf die INF-Datei geklickt und "Installieren" ausgewählt habe. Dann startete ich den Dienst von der Eingabeaufforderung, die gut gestartet wurde. Aber obwohl es derselbe Code / Treiber war, kann ich die DbgPrint-Ausgabe in DbgView nicht von dem Treiber aus sehen, der mit WDK 8.0 / VS2012 Pro kompiliert wurde. Hier ist der Code, der den Druck tatsächlich ausführt (Post-Operation-Callback-Funktion für IRP_MJ_CREATE):

FLT_POSTOP_CALLBACK_STATUS CreateFilePostOpCallback(__in PFLT_CALLBACK_DATA Data, __in PCFLT_RELATED_OBJECTS FltObjects,
                                                    __in_opt PVOID CompletionContext, __in FLT_POST_OPERATION_FLAGS Flags)
{
    PFLT_FILE_NAME_INFORMATION fileNameInfo;
    NTSTATUS status;

    UNREFERENCED_PARAMETER(FltObjects);
    UNREFERENCED_PARAMETER(CompletionContext);
    UNREFERENCED_PARAMETER(Flags);

    status = FltGetFileNameInformation(Data, FLT_FILE_NAME_NORMALIZED|FLT_FILE_NAME_QUERY_DEFAULT, &fileNameInfo);

    if(!NT_SUCCESS(status))
        return FLT_POSTOP_FINISHED_PROCESSING;

    FltParseFileNameInformation(fileNameInfo);

    DbgPrint("%wZ created/opened", &fileNameInfo->Name);

    FltReleaseFileNameInformation(fileNameInfo);

    return FLT_POSTOP_FINISHED_PROCESSING;
}

Was vermisse ich hier?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage