Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1990 - 2000 Microsoft Corporation All rights reserved.
Module Name:
wmidata.h
Abstract:
Header file for the WMI trace event datatypes.
Note -- link with spoolss.lib or perflib.lib to find these routines
Author:
Bryan Kilian (BryanKil) May 2000
Revision History:
--*/
#ifndef __WMIDEF
#define __WMIDEF
//
// WMI Structures
//
// NOTE: Placing the spooler WMI types in a public header accessible to the
// sdktools depot would help a lot. These structures are duplicated in the pdh
// source, so to change you need to change this header, the mofdata.guid file,
// and pdh\tracectr.
// JOB TRANSACTIONS
// The first four events correspond to the start and end event values found in
// evntrace.h. Spooljob is the start and deletejob is the end. Printjob is
// when the job is taken off the queue and printing has started. Trackthread is
// used to track secondary threads spun off to help process a job, like RPC calls.
#define EVENT_TRACE_TYPE_SPL_SPOOLJOB EVENT_TRACE_TYPE_START
#define EVENT_TRACE_TYPE_SPL_PRINTJOB EVENT_TRACE_TYPE_DEQUEUE
#define EVENT_TRACE_TYPE_SPL_DELETEJOB EVENT_TRACE_TYPE_END
#define EVENT_TRACE_TYPE_SPL_TRACKTHREAD EVENT_TRACE_TYPE_CHECKPOINT
// Non-reserved event types start at 0x0A. These match values in reducer code
// so they cannot be changed.
#define EVENT_TRACE_TYPE_SPL_ENDTRACKTHREAD 0x0A
#define EVENT_TRACE_TYPE_SPL_JOBRENDERED 0x0B
#define EVENT_TRACE_TYPE_SPL_PAUSE 0x0C
#define EVENT_TRACE_TYPE_SPL_RESUME 0x0D
typedef enum { eDataTypeRAW = 1, eDataTypeEMF = 2, eDataTypeTEXT = 3 } SPLDATATYPE;
// The fields in this struct correspond to the records in \nt\sdktools\trace\tracedmp\mofdata.guid
typedef union _WMI_SPOOL_DATA { // A zero indicates that the field was not filled in (i.e. WMI will ignore
// the field).
struct _WMI_JOBDATA { ULONG ulSize; // Size of spooled job (post-rendered).
SPLDATATYPE eDataType; ULONG ulPages; ULONG ulPagesPerSide; // 0-3 indicates whether the spool writer, spool reader, and/or shadow
// file were opened. If not opened then the handles must of come from
// the file pool cache.
SHORT sFilesOpened; } uJobData; // See wingdi.h for definitions of the different possible values.
struct _WMI_EMFDATA { ULONG ulSize; // Size of spooled job (pre-rendered).
ULONG ulICMMethod; SHORT sColor; SHORT sXRes; SHORT sYRes; SHORT sQuality; SHORT sCopies; SHORT sTTOption; } uEmfData; } WMI_SPOOL_DATA, * PWMI_SPOOL_DATA;
ULONG LogWmiTraceEvent( DWORD JobId, UCHAR EventTraceType, WMI_SPOOL_DATA *data // Could be NULL
);
#endif
|