Я начал играть с образцами WDK / DDK (я предполагаю, что они одно и то же) и, в частности, пример монитора порта принтера. У меня есть эта компиляция с использованием их инструмента сборки, и я могу присоединиться к процессу буфера и отладить с помощью ... хороших вещей!
.. Проблема возникает, когда я просто хочу написать отладку. Я действительно думал, что это будет просто (не занимался с ++ некоторое время!), Но, похоже, нет!
Текущая проблема, с которой я столкнулся - это просто попытка создать экземпляр std :: wchar, как показано ниже:
std::wstring test("Blah");
Проблема в том, что при компиляции с помощью инструмента сборки wdk я получаю следующие ошибки:
1>c:\winddk\7600.16385.1\src\print\monitors\localmon\localmon.c(361) :
error C2143: syntax error : missing ';' before ':'
1>c:\winddk\7600.16385.1\src\print\monitors\localmon\localmon.c(363) :
error C2143: syntax error : missing ';' before 'type'
Я предполагаю, что это потому, что компилятор не понимает std :: bit, может быть? Номер строки указывает на объявление wstring выше.
Я добавил include <string.h>
, но это не помогло, и мой исходный файл находится ниже:
!IFNDEF MSC_WARNING_LEVEL
MSC_WARNING_LEVEL=/W3
!ENDIF
MSC_WARNING_LEVEL=$(MSC_WARNING_LEVEL) /WX
C_DEFINES=-DUNICODE -D_UNICODE -D_SPL_CLUST
TARGETNAME=ddklocalmon
TARGETTYPE=DYNLINK
DLLENTRY=_DllMainCRTStartup
DLLDEF=localmon.def
DLLORDER=localmon.prf
TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib \
$(SDK_LIB_PATH)\advapi32.lib \
$(SDK_LIB_PATH)\user32.lib \
$(SDK_LIB_PATH)\ws2_32.lib \
$(SDK_LIB_PATH)\spoolss.lib
INCLUDES=$(INCLUDES); \
$(DDK_INC_PATH); \
USE_MSVCRT=1
SOURCES=localmon.rc \
localmon.c \
winspool.c \
util.c \
config.c \
xcv.c \
irda.c \
mem.c \
PRECOMPILED_INCLUDE=precomp.h
Кроме того, если бы я когда-либо работал с wstring, я собирался использовать это с OutputDebugString () для обработки моей отладки на консоли вывода visual studio, но я думаю, что где-то читал, что это может не сработать, так как монитор порта работает в режиме ядра?
Если бы кто-нибудь мог пролить свет на это, я был бы очень благодарен! :)
Энди.