From f18a140b31cfd0cbd46ceea3e060e78581ee04dd Mon Sep 17 00:00:00 2001 From: J M Rossy Date: Tue, 25 Aug 2015 11:20:13 -0700 Subject: [PATCH] Fix #12 by modifying gitignore to include some debug folders --- .gitignore | 2 - network/wlan/ihvfrm/x64/rc4utils.dll | Bin 0 -> 12288 bytes network/wlan/ihvfrm/x64/rc4utils.lib | Bin 0 -> 2696 bytes network/wlan/ihvfrm/x86/rc4utils.dll | Bin 0 -> 10240 bytes network/wlan/ihvfrm/x86/rc4utils.lib | Bin 0 -> 2772 bytes print/XPSDrvSmpl/.gitignore | 2 + print/XPSDrvSmpl/src/debug/debug.cpp | 189 +++++++++++++++++ print/XPSDrvSmpl/src/debug/debug.h | 186 +++++++++++++++++ print/XPSDrvSmpl/src/debug/precomp.h | 67 ++++++ print/XPSDrvSmpl/src/debug/precompsrc.cpp | 1 + print/XPSDrvSmpl/src/debug/xdsdbg.vcxproj | 195 ++++++++++++++++++ .../src/debug/xdsdbg.vcxproj.Filters | 25 +++ 12 files changed, 665 insertions(+), 2 deletions(-) create mode 100644 network/wlan/ihvfrm/x64/rc4utils.dll create mode 100644 network/wlan/ihvfrm/x64/rc4utils.lib create mode 100644 network/wlan/ihvfrm/x86/rc4utils.dll create mode 100644 network/wlan/ihvfrm/x86/rc4utils.lib create mode 100644 print/XPSDrvSmpl/.gitignore create mode 100644 print/XPSDrvSmpl/src/debug/debug.cpp create mode 100644 print/XPSDrvSmpl/src/debug/debug.h create mode 100644 print/XPSDrvSmpl/src/debug/precomp.h create mode 100644 print/XPSDrvSmpl/src/debug/precompsrc.cpp create mode 100644 print/XPSDrvSmpl/src/debug/xdsdbg.vcxproj create mode 100644 print/XPSDrvSmpl/src/debug/xdsdbg.vcxproj.Filters diff --git a/.gitignore b/.gitignore index 57a1574c4..7f8fa260b 100644 --- a/.gitignore +++ b/.gitignore @@ -15,8 +15,6 @@ [Dd]ebugPublic/ [Rr]elease/ [Rr]eleases/ -x64/ -x86/ build/ bld/ [Bb]in/ diff --git a/network/wlan/ihvfrm/x64/rc4utils.dll b/network/wlan/ihvfrm/x64/rc4utils.dll new file mode 100644 index 0000000000000000000000000000000000000000..a5a8228f1ea50b6470a7861c2f1f779c790c2048 GIT binary patch literal 12288 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 literal 0 HcmV?d00001 diff --git a/network/wlan/ihvfrm/x86/rc4utils.dll b/network/wlan/ihvfrm/x86/rc4utils.dll new file mode 100644 index 0000000000000000000000000000000000000000..aebeab234c42e7394b3470d601b113137dccd2d4 GIT binary patch literal 10240 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 literal 0 HcmV?d00001 diff --git a/network/wlan/ihvfrm/x86/rc4utils.lib b/network/wlan/ihvfrm/x86/rc4utils.lib new file mode 100644 index 0000000000000000000000000000000000000000..4de2c1746c1c532d64ae5ec6ddc8f3366942bf51 GIT binary patch literal 2772 zcmcImK~EDw6#m+Rl%^6QUOZ?@LLwvv+tOAr#w<{cgch2my_qa)yGn5p(k=&1UP!$7 z6FB<|@ZyOx2M-?n0sH{Ga>Ms__rdOVi`xVznVorW-pu!A-uGs9@`c`MZoN!B&G<{M zF!yYsn9t1>{rapc7IG!Gx0wQP7f74}!xz9v7DygCb#xoxntJQhf7j-GMVw3TXY zU9D^7R~yUfO0B-GYHG94u-ax9nzq)cRC+D&Sxg**`kThus#adCFG4GuW>s&0QgV5k z-rm{Md>VDxS^9OyFjkF&s%{ybwr(o(Vtj*v4At~bmnYZs=10R)@;!4y3}kNEXm$?v zEY;}ln-w9A?M)^t6q!OEL8SnN#Ol>$Kutc4& zBDk%B@uk^zOSkl?ybRr^&QGe8;&vhOKtcAzwJW)5jB$tX#EwM;nUgrR6CheqNqaZ- z7!%{fK=6WG(n#U>=w7wm?Cf@T-&>h!btY3;SzC36{ogc+Jdqb*wsLQrzC>&4d11(l z=I+iOxqE!{2bY%u$aA=`e{smJ6~Oj*OEmWW7%3r|0^5)RS2o3K4eKZQ;}%{Wc&mb z=DPYP;eQX#&`OMNuLt)2(!LkR8!rqTy;8v?ea4UUgpgu%0cmnkhd&5DaIX+0<4QuD v0QNLt$GzCS?~E79ceh2tl|&EV&Jb=Qh#Ppme87XB_6<88@*?*>i$37LpObb5 literal 0 HcmV?d00001 diff --git a/print/XPSDrvSmpl/.gitignore b/print/XPSDrvSmpl/.gitignore new file mode 100644 index 000000000..4a89120b2 --- /dev/null +++ b/print/XPSDrvSmpl/.gitignore @@ -0,0 +1,2 @@ +# Allow tracking debug folder for this sample +!debug/ diff --git a/print/XPSDrvSmpl/src/debug/debug.cpp b/print/XPSDrvSmpl/src/debug/debug.cpp new file mode 100644 index 000000000..330a4a1d9 --- /dev/null +++ b/print/XPSDrvSmpl/src/debug/debug.cpp @@ -0,0 +1,189 @@ +/*++ + +Copyright (c) 2005 Microsoft Corporation + +All rights reserved. + +THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +PARTICULAR PURPOSE. + +File Name: + + debug.cpp + +Abstract: + + Debug implementations. + +--*/ + +#include "precomp.h" +#include "debug.h" +#include "xdstring.h" + +/*++ + +Routine Name: + + RealDebugMessage + +Routine Description: + + This routine takes a debug message and va_list and outputs the message via OutputDebugString + +Arguments: + + dwSize - Maximum size of the debug message in number of characters + pszMessage - The debug message string + arglist - The arg list for the debug message string + +Return Value: + + BOOL + TRUE - On success + FALSE - On error + +--*/ +BOOL +RealDebugMessage( + _In_ DWORD dwSize, + _In_ PCSTR pszMessage, + va_list arglist + ) +{ + HRESULT hr = S_OK; + PSTR pszMsgBuf; + + if (NULL == pszMessage || + 0 == dwSize) + { + hr = E_INVALIDARG; + } + + if (SUCCEEDED(hr)) + { + // + // Allocate memory for message buffer. + // + pszMsgBuf = new(std::nothrow) CHAR[dwSize + 1]; + + if (NULL != pszMsgBuf) + { + // + // Pass the variable parameters to wvsprintf to be formated. + // + hr = StringCbVPrintfA(pszMsgBuf, (dwSize + 1) * sizeof(CHAR), pszMessage, arglist); + + // + // Dump string to debug output. + // + OutputDebugStringA(pszMsgBuf); + + // + // Clean up. + // + delete[] pszMsgBuf; + pszMsgBuf = NULL; + } + else + { + hr = E_OUTOFMEMORY; + } + } + + return SUCCEEDED(hr); +} + +/*++ + +Routine Name: + + DbgPrint + +Routine Description: + + This routine takes a format string and arguments and outputs as a debug string + +Arguments: + + pszFormatString - Format string for the debug message + ... - argument list + +Return Value: + + BOOL + TRUE - On success + FALSE - On error + +--*/ +BOOL +DbgPrint( + _In_ PCSTR pszFormatString, + ... + ) +{ + BOOL bResult; + va_list VAList; + + // + // Pass the variable parameters to RealDebugMessage to be processed. + // + va_start(VAList, pszFormatString); + bResult = RealDebugMessage(0x8000, pszFormatString, VAList); + va_end(VAList); + + return bResult; +} + +/*++ + +Routine Name: + + DbgDOMDoc + +Routine Description: + + This routine outputs an XML DOM document to the debug output stream + +Arguments: + + pszMessage - Debug message + pDomDoc - DOM document to be output + +Return Value: + + None. + +--*/ +VOID +DbgDOMDoc( + _In_ PCSTR pszMessage, + _In_ IXMLDOMDocument2* pDomDoc + ) +{ + try + { + CComBSTR xml; + + if (pDomDoc != NULL && + SUCCEEDED(pDomDoc->get_xml(&xml))) + { + CStringXDA ansi(xml); + + if (pszMessage != NULL) + { + DbgPrint("%s%s\n", pszMessage, ansi.GetBuffer()); + } + else + { + DbgPrint("%s\n", ansi.GetBuffer()); + } + } + } + catch (CXDException&) + { + } +} + diff --git a/print/XPSDrvSmpl/src/debug/debug.h b/print/XPSDrvSmpl/src/debug/debug.h new file mode 100644 index 000000000..ddfdc038b --- /dev/null +++ b/print/XPSDrvSmpl/src/debug/debug.h @@ -0,0 +1,186 @@ +/*++ + +Copyright (c) 2005 Microsoft Corporation + +All rights reserved. + +THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +PARTICULAR PURPOSE. + +File Name: + + xdsdbg.h + +Abstract: + + Debug definitions. + +--*/ + +#pragma once + +// +// These macros are used for debugging purposes. They expand +// to white spaces on a free build. Here is a brief description +// of what they do and how they are used: +// +// giDebugLevel +// Global variable which set the current debug level to control +// the amount of debug messages emitted. +// +// VERBOSE(msg) +// Display a message if the current debug level is <= DBG_VERBOSE. +// +// TERSE(msg) +// Display a message if the current debug level is <= DBG_TERSE. +// +// WARNING(msg) +// Display a message if the current debug level is <= DBG_WARNING. +// The message format is: WRN filename (linenumber): message +// +// ERR(msg) +// Similiar to WARNING macro above - displays a message +// if the current debug level is <= DBG_ERROR. +// +// ASSERT(cond) +// Verify a condition is true. If not, force a breakpoint. +// +// ASSERTMSG(cond, msg) +// Verify a condition is true. If not, display a message and +// force a breakpoint. +// +// RIP(msg) +// Display a message and force a breakpoint. +// +// Usage: +// These macros require extra parantheses for the msg argument +// example, ASSERTMSG(x > 0, ("x is less than 0\n")); +// WARNING(("App passed NULL pointer, ignoring...\n")); +// + +#pragma once + +#define DBG_VERBOSE 1 +#define DBG_TERSE 2 +#define DBG_WARNING 3 +#define DBG_ERROR 4 +#define DBG_RIP 5 + +BOOL +RealDebugMessage( + _In_ DWORD dwSize, + _In_ PCSTR pszMessage, + va_list arglist + ); + +BOOL +DbgPrint( + _In_ PCSTR pszFormatString, + ... + ); + +VOID +DbgDOMDoc( + _In_ PCSTR pszMessage, + _In_ IXMLDOMDocument2* pDomDoc + ); + +#if DBG + +#ifndef MAX_DEBUG_LEVEL +#define MAX_DEBUG_LEVEL DBG_VERBOSE +#endif + +#define DBGMSG(level, prefix, msg) { \ + INT dbgLevel = level; \ + if (MAX_DEBUG_LEVEL <= (dbgLevel)) { \ + DbgPrint("%s %s (%d): ", prefix, __FILE__, __LINE__); \ + DbgPrint(msg); \ + } \ + } + +#define DBGMSG_ON_HR(level, prefix, hr) { \ + INT dbgLevel = level; \ + HRESULT hres = hr; \ + if (MAX_DEBUG_LEVEL <= (dbgLevel) && FAILED(hres)) { \ + DbgPrint("%s %s (%d): Call failed with HRESULT = 0x%x\n", prefix, __FILE__, __LINE__, hr); \ + } \ + } + +#define DBGMSG_ON_HR_EXC(level, prefix, hr, hr_exc) { \ + INT dbgLevel = level; \ + HRESULT hres = hr; \ + if (MAX_DEBUG_LEVEL <= (dbgLevel) && FAILED(hres) && hres != hr_exc) { \ + DbgPrint("%s %s (%d): Call failed with HRESULT = 0x%x\n", prefix, __FILE__, __LINE__, hr); \ + } \ + } + +#define DBGPRINT(level, msg) { \ + INT dbgLevel = level; \ + if (MAX_DEBUG_LEVEL <= (dbgLevel)) { \ + DbgPrint(msg); \ + } \ + } + +#define DBGXML(msg, pDomDoc) { \ + INT dbgLevel = DBG_VERBOSE; \ + if (MAX_DEBUG_LEVEL <= dbgLevel) { \ + DbgDOMDoc(msg, pDomDoc); \ + } \ + } + +#define VERBOSE(msg) DBGPRINT(DBG_VERBOSE, msg) +#define TERSE(msg) DBGPRINT(DBG_TERSE, msg) +#define WARNING(msg) DBGMSG(DBG_WARNING, "WRN", msg) +#define ERR(msg) DBGMSG(DBG_ERROR, "ERR", msg) +#define ERR_ON_HR(hr) DBGMSG_ON_HR(DBG_ERROR, "ERR", hr) +#define ERR_ON_HR_EXC(hr, hr_exc) DBGMSG_ON_HR_EXC(DBG_ERROR, "ERR", hr, hr_exc) + +#define ASSERT(cond) { \ + if (! (cond)) { \ + RIP(("\n")); \ + } \ + } + +#define ASSERTMSG(cond, msg) { \ + if (!(cond)) { \ + RIP(msg); \ + } \ + } + +#define RIP(msg) { \ + DBGMSG(DBG_RIP, "RIP", msg); \ + DebugBreak(); \ + } + +#define DBG_ONLY(p) p + +#else // !DBG + +#define VERBOSE(msg) +#define TERSE(msg) +#define WARNING(msg) +#define ERR(msg) +#define ERR_ON_HR(hr) +#define ERR_ON_HR_EXC(hr, hr_exc) + +#define ASSERT(cond) + +#define ASSERTMSG(cond, msg) + +#define RIP(msg) + +#define DBG_ONLY(p) + +#define DBGMSG(level, prefix, msg) + +#define DBGMSG_ON_HR(level, prefix, hr) + +#define DBGPRINT(level, msg) + +#define DBGXML(msg, pDomDoc) + +#endif + diff --git a/print/XPSDrvSmpl/src/debug/precomp.h b/print/XPSDrvSmpl/src/debug/precomp.h new file mode 100644 index 000000000..fe3809587 --- /dev/null +++ b/print/XPSDrvSmpl/src/debug/precomp.h @@ -0,0 +1,67 @@ +/*++ + +Copyright (c) 2005 Microsoft Corporation + +All rights reserved. + +THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF +ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A +PARTICULAR PURPOSE. + +File Name: + + precomp.h + +Abstract: + + Precompiled header. + +--*/ + +#pragma once + +// +// Annotate this as a usermode driver for static analysis +// +#include +_Analysis_mode_(_Analysis_code_type_user_driver_) + +// +// Standard Annotation Language include +// +#include + +// +// Windows includes +// +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif // WIN32_LEAN_AND_MEAN +#include + +// +// COM includes +// +#include +#include + +// +// ATL Includes +// +#include + +// +// STL Includes +// +#include + +// +// MSXML includes +// +#include + +#include + +#include "common.ver" + diff --git a/print/XPSDrvSmpl/src/debug/precompsrc.cpp b/print/XPSDrvSmpl/src/debug/precompsrc.cpp new file mode 100644 index 000000000..5944cf515 --- /dev/null +++ b/print/XPSDrvSmpl/src/debug/precompsrc.cpp @@ -0,0 +1 @@ +#include "precomp.h" \ No newline at end of file diff --git a/print/XPSDrvSmpl/src/debug/xdsdbg.vcxproj b/print/XPSDrvSmpl/src/debug/xdsdbg.vcxproj new file mode 100644 index 000000000..5b0050497 --- /dev/null +++ b/print/XPSDrvSmpl/src/debug/xdsdbg.vcxproj @@ -0,0 +1,195 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + {5DD79EE3-3778-4674-9537-70EA840F13B4} + $(MSBuildProjectName) + false + true + Debug + Win32 + {338FD8A5-95F5-403D-9637-6BE35412F9C7} + + + + Windows10 + False + Desktop + + WindowsApplicationForDrivers10.0 + StaticLibrary + + + Windows10 + True + Desktop + + WindowsApplicationForDrivers10.0 + StaticLibrary + + + Windows10 + False + Desktop + + WindowsApplicationForDrivers10.0 + StaticLibrary + + + Windows10 + True + Desktop + + WindowsApplicationForDrivers10.0 + StaticLibrary + + + + $(IntDir) + + + + + + + + + + + + + + + + xdsdbg + + + xdsdbg + + + xdsdbg + + + xdsdbg + + + + MultiThreaded + MultiThreadedDebug + Sync + true + Level4 + %(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE + %(AdditionalIncludeDirectories);.\;.\..\inc;$(DDK_INC_PATH) + + + %(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE + %(AdditionalIncludeDirectories);.\;.\..\inc;$(DDK_INC_PATH) + + + %(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE + %(AdditionalIncludeDirectories);.\;.\..\inc;$(DDK_INC_PATH) + + + + + MultiThreaded + MultiThreadedDebug + Sync + true + Level4 + %(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE + %(AdditionalIncludeDirectories);.\;.\..\inc;$(DDK_INC_PATH) + + + %(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE + %(AdditionalIncludeDirectories);.\;.\..\inc;$(DDK_INC_PATH) + + + %(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE + %(AdditionalIncludeDirectories);.\;.\..\inc;$(DDK_INC_PATH) + + + + + MultiThreaded + MultiThreadedDebug + Sync + true + Level4 + %(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE + %(AdditionalIncludeDirectories);.\;.\..\inc;$(DDK_INC_PATH) + + + %(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE + %(AdditionalIncludeDirectories);.\;.\..\inc;$(DDK_INC_PATH) + + + %(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE + %(AdditionalIncludeDirectories);.\;.\..\inc;$(DDK_INC_PATH) + + + + + MultiThreaded + MultiThreadedDebug + Sync + true + Level4 + %(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE + %(AdditionalIncludeDirectories);.\;.\..\inc;$(DDK_INC_PATH) + + + %(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE + %(AdditionalIncludeDirectories);.\;.\..\inc;$(DDK_INC_PATH) + + + %(PreprocessorDefinitions);USERMODE_DRIVER;_UNICODE;UNICODE + %(AdditionalIncludeDirectories);.\;.\..\inc;$(DDK_INC_PATH) + + + + + ;%(AdditionalIncludeDirectories) + precomp.h + Use + $(IntDir)\precomp.h.pch + + + ;%(AdditionalIncludeDirectories) + precomp.h + Create + $(IntDir)\precomp.h.pch + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/print/XPSDrvSmpl/src/debug/xdsdbg.vcxproj.Filters b/print/XPSDrvSmpl/src/debug/xdsdbg.vcxproj.Filters new file mode 100644 index 000000000..a250ce5e3 --- /dev/null +++ b/print/XPSDrvSmpl/src/debug/xdsdbg.vcxproj.Filters @@ -0,0 +1,25 @@ + + + + + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;* + {1AC0F303-AF4F-4DCA-A630-2304E2DAD1E1} + + + h;hpp;hxx;hm;inl;inc;xsd + {84B52639-2381-44A5-94B2-CE2323343A4E} + + + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms;man;xml + {41355B51-46D2-499F-BB82-8C06DFD9DC2F} + + + + + Source Files + + + Source Files + + + \ No newline at end of file