25#include "FxSupportPch.hpp"
29#if defined(EVENT_TRACING)
30#include "TracingUM.tmh"
339#pragma prefast(suppress:__WARNING_BUFFER_OVERFLOW, "Recommneded by EndClean");
415 status = FxRegKey::_QueryULong(parameters.
m_Key, &valueName, &numPages);
465 IWudfDeviceStack2 *pDeviceStack2;
468 size_t bufferLengthCch;
469 ULONG allocatedBufferLengthCb;
476 ASSERT(FxDriverGlobals->WdfLogHeader ==
NULL);
482 if (FxDriverGlobals ==
NULL || FxDriverGlobals->WdfLogHeader !=
NULL) {
501 for (
i = (
ULONG)bufferLengthCch - 1;
522 pDeviceStack2 = (IWudfDeviceStack2 *)umDriverObject->
WudfDevStack;
524 if(pDeviceStack2 ==
NULL) {
528 allocatedBufferLengthCb = 0;
534 &allocatedBufferLengthCb);
550 pHeader->Offset.u.s.Current = 0;
551 pHeader->Offset.u.s.Previous = 0;
556 FxDriverGlobals->WdfLogHeader =
pHeader;
559 "FxIFR logging started" );
564 "FxIFR has been started with a size override: size 0x%x bytes, "
565 "# Pages %d. An extended IFR size may not be written to a minidump!",
569 if (sizeCb != allocatedBufferLengthCb) {
570 ASSERTMSG(
"FxIFR requested buffer size could not be allocated",
FALSE);
573 "FxIFR requested an allocation of size 0x%x bytes, "
574 "Allocated memory was of size 0x%x bytes",
575 sizeCb, allocatedBufferLengthCb);
655 ASSERT(FxDriverGlobals->WdfLogHeader ==
NULL);
659 if ( FxDriverGlobals->WdfLogHeader ==
NULL) {
704#pragma prefast(suppress: __WARNING_BUFFER_OVERFLOW, "Recommneded by EndClean");
749 offsetNew.
u.
AsLONG = offsetRet.
u.
s.Current;
756 offsetNew.
u.
s.Current = 0;
757 offsetNew.
u.
s.Previous = offsetRet.
u.
s.Previous;
767 offsetNew.
u.
s.Current = offsetCur.
u.
s.Current + usSize;
768 offsetNew.
u.
s.Previous = offsetRet.
u.
s.Current;
772 offsetNew.
u.
s.Current = offsetCur.
u.
s.Current + usSize;
773 offsetNew.
u.
s.Previous = offsetCur.
u.
s.Current;
795 record->MessageGuid = *MessageGuid;
810#pragma prefast(suppress: __WARNING_BUFFER_OVERFLOW, "Recommneded by EndClean");
#define InterlockedIncrement
#define NT_SUCCESS(StatCode)
#define WPP_INIT_TRACING(a, b)
EXTERN_C ULONG WMIAPI TraceMessageVa(IN TRACEHANDLE LoggerHandle, IN ULONG MessageFlags, IN LPCGUID MessageGuid, IN USHORT MessageNumber, IN va_list MessageArgList)
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
struct _WDF_IFR_HEADER * PWDF_IFR_HEADER
struct _WDF_IFR_RECORD WDF_IFR_RECORD
#define WDF_IFR_RECORD_SIGNATURE
struct _WDF_IFR_HEADER WDF_IFR_HEADER
struct _WDF_IFR_RECORD * PWDF_IFR_RECORD
#define WDF_IFR_HEADER_NAME_LEN
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
FxContextHeader * pHeader
#define InterlockedCompareExchange
struct _DRIVER_OBJECT_UM * PDRIVER_OBJECT_UM
#define _Must_inspect_result_
#define ASSERTMSG(msg, exp)
#define UNREFERENCED_PARAMETER(P)
FxLibraryGlobalsType FxLibraryGlobals
#define TRACE_LEVEL_WARNING
#define TRACE_LEVEL_VERBOSE
#define TRACE_LEVEL_INFORMATION
STRSAFEAPI StringCchCopyA(STRSAFE_LPSTR pszDest, size_t cchDest, STRSAFE_LPCSTR pszSrc)
IWudfDeviceStack2 * WudfDevStack
struct _WDF_IFR_OFFSET::@4763::@4764 s
union _WDF_IFR_OFFSET::@4763 u
_Must_inspect_result_ NTSTATUS FxIFR(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in UCHAR MessageLevel, __in ULONG MessageFlags, __in LPGUID MessageGuid, __in USHORT MessageNumber,...)
_Must_inspect_result_ NTSTATUS FxWmiQueryTraceInformation(__in TRACE_INFORMATION_CLASS, __out_bcount(TraceInformationLength) PVOID, __in ULONG, __out_opt PULONG, __in_opt PVOID)
ULONG FxIFRGetSize(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PCUNICODE_STRING RegistryPath)
VOID FxIFRStart(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PCUNICODE_STRING RegistryPath, __in MdDriverObject DriverObject)
VOID TraceUninitialize(VOID)
VOID FxIFRStop(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
_Must_inspect_result_ NTSTATUS FxTraceInitialize(VOID)
_Must_inspect_result_ NTSTATUS FxWmiTraceMessage(__in TRACEHANDLE LoggerHandle, __in ULONG MessageFlags, __in LPGUID MessageGuid, __in USHORT MessageNumber,...)
#define RtlCopyMemory(Destination, Source, Length)
#define STATUS_UNSUCCESSFUL
#define DECLARE_CONST_UNICODE_STRING(_variablename, _string)
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
void int int ULONGLONG int va_list * ap
_In_ ULONG TraceInformationLength
enum _TRACE_INFORMATION_CLASS TRACE_INFORMATION_CLASS
_Must_inspect_result_ typedef _In_ ULONG _In_ ULONG MessageNumber