Annotation of ntddk/src/perf/vgactrs/datavga.h, revision 1.1.1.1

1.1       root        1: /*++ BUILD Version: 0001    // Increment this if a change has global effects
                      2: 
                      3: Copyright (c) 1992 Microsoft Corporation
                      4: 
                      5: Module Name:
                      6: 
                      7:       datavga.h
                      8: 
                      9: Abstract:
                     10: 
                     11:     Header file for the VGA Extensible Object data definitions
                     12: 
                     13:     This file contains definitions to construct the dynamic data
                     14:     which is returned by the Configuration Registry.  Data from
                     15:     various system API calls is placed into the structures shown
                     16:     here.
                     17: 
                     18: Author:
                     19: 
                     20:    Russ Blake  02/24/93
                     21: 
                     22: Revision History:
                     23: 
                     24: 
                     25: --*/
                     26: 
                     27: #ifndef _DATAVGA_H_
                     28: #define _DATAVGA_H_
                     29: 
                     30: /****************************************************************************\
                     31:                                                                   18 Jan 92
                     32:                                                                   russbl
                     33: 
                     34:            Adding a Counter to the Extensible Objects Code
                     35: 
                     36: 
                     37: 
                     38: 1.  Modify the object definition in extdata.h:
                     39: 
                     40:     a. Add a define for the offset of the counter in the
                     41:        data block for the given object type.
                     42: 
                     43:     b. Add a PERF_COUNTER_DEFINITION to the <object>_DATA_DEFINITION.
                     44: 
                     45: 2.  Add the Titles to the Registry in perfctrs.ini and perfhelp.ini:
                     46: 
                     47:     a. Add Text for the Counter Name and the Text for the Help.
                     48: 
                     49:     b. Add them to the bottom so we don't have to change all the
                     50:         numbers.
                     51: 
                     52:     c.  Change the Last Counter and Last Help entries under
                     53:         PerfLib in software.ini.
                     54: 
                     55:     d.  To do this at setup time, see section in pmintrnl.txt for
                     56:         protocol.
                     57: 
                     58: 3.  Now add the counter to the object definition in extdata.c.
                     59:     This is the initializing, constant data which will actually go
                     60:     into the structure you added to the <object>_DATA_DEFINITION in
                     61:     step 1.b.  The type of the structure you are initializing is a
                     62:     PERF_COUNTER_DEFINITION.  These are defined in winperf.h.
                     63: 
                     64: 4.  Add code in extobjct.c to collect the data.
                     65: 
                     66: Note: adding an object is a little more work, but in all the same
                     67: places.  See the existing code for examples.  In addition, you must
                     68: increase the *NumObjectTypes parameter to Get<object>PerfomanceData
                     69: on return from that routine.
                     70: 
                     71: \****************************************************************************/
                     72:  
                     73: //
                     74: //  The routines that load these structures assume that all fields
                     75: //  are packed and aligned on DWORD boundries. Alpha support may 
                     76: //  change this assumption so the pack pragma is used here to insure
                     77: //  the DWORD packing assumption remains valid.
                     78: //
                     79: #pragma pack (4)
                     80: 
                     81: //
                     82: //  Extensible Object definitions
                     83: //
                     84: 
                     85: //  Update the following sort of define when adding an object type.
                     86: 
                     87: #define VGA_NUM_PERF_OBJECT_TYPES 1
                     88: 
                     89: //----------------------------------------------------------------------------
                     90: 
                     91: //
                     92: //  Nbf Resource object type counter definitions.
                     93: //
                     94: //  These are used in the counter definitions to describe the relative
                     95: //  position of each counter in the returned data.
                     96: //
                     97: 
                     98: #define NUM_BITBLTS_OFFSET         sizeof(DWORD)
                     99: #define NUM_TEXTOUTS_OFFSET        NUM_BITBLTS_OFFSET + sizeof(DWORD)
                    100: #define SIZE_OF_VGA_PERFORMANCE_DATA \
                    101:                                    NUM_TEXTOUTS_OFFSET + sizeof(DWORD)
                    102: 
                    103: 
                    104: //
                    105: //  This is the counter structure presently returned by Nbf for
                    106: //  each Resource.  Each Resource is an Instance, named by its number.
                    107: //
                    108: 
                    109: typedef struct _VGA_DATA_DEFINITION {
                    110:     PERF_OBJECT_TYPE           VgaObjectType;
                    111:     PERF_COUNTER_DEFINITION    NumBitBlts;
                    112:     PERF_COUNTER_DEFINITION    NumTextOuts;
                    113: } VGA_DATA_DEFINITION;
                    114: 
                    115: #pragma pack ()
                    116: 
                    117: #endif //_DATANBF_H_

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.