From 3f7e5bdeae8253e8afbc92c69ce93145e47e8250 Mon Sep 17 00:00:00 2001 From: Dmitry Fleytman Date: Wed, 16 Apr 2014 19:23:43 +0300 Subject: [PATCH] UsbDk: Add UsbTarget instance to redirector strategy Signed-off-by: Dmitry Fleytman --- UsbDk/RedirectorStrategy.cpp | 9 ++++++++- UsbDk/RedirectorStrategy.h | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/UsbDk/RedirectorStrategy.cpp b/UsbDk/RedirectorStrategy.cpp index 16cf4a9..0e8c613 100644 --- a/UsbDk/RedirectorStrategy.cpp +++ b/UsbDk/RedirectorStrategy.cpp @@ -8,7 +8,14 @@ NTSTATUS CUsbDkRedirectorStrategy::MakeAvailable() { - auto status = m_Owner->CreatePerInstanceSymLink(USBDK_REDIRECTOR_NAME_PREFIX); + auto status = m_Target.Create(m_Owner->WdfObject()); + if (!NT_SUCCESS(status)) + { + TraceEvents(TRACE_LEVEL_ERROR, TRACE_REDIRECTOR, "%!FUNC! Cannot create USB target"); + return status; + } + + status = m_Owner->CreatePerInstanceSymLink(USBDK_REDIRECTOR_NAME_PREFIX); if (!NT_SUCCESS(status)) { TraceEvents(TRACE_LEVEL_ERROR, TRACE_REDIRECTOR, "%!FUNC! Cannot create symlink"); diff --git a/UsbDk/RedirectorStrategy.h b/UsbDk/RedirectorStrategy.h index 677f824..e3ca2e0 100644 --- a/UsbDk/RedirectorStrategy.h +++ b/UsbDk/RedirectorStrategy.h @@ -1,6 +1,7 @@ #pragma once #include "FilterStrategy.h" +#include "UsbTarget.h" class CRegText; @@ -19,6 +20,7 @@ public: private: void PatchDeviceID(PIRP Irp); + CWdfUsbTarget m_Target; CObjHolder m_DeviceID; CObjHolder m_InstanceID;