Annotation of ntddk/src/mmedia/synth/dll/registry.h, revision 1.1.1.1

1.1       root        1: /****************************************************************************
                      2:  *
                      3:  *   registry.h
                      4:  *
                      5:  *   Copyright (c) 1992 Microsoft Corporation.  All Rights Reserved.
                      6:  *
                      7:  *   This file contains public definitions for maintaining registry information
                      8:  *   for drivers managing kernel driver registry related data.
                      9:  ****************************************************************************/
                     10: 
                     11: 
                     12: /****************************************************************************
                     13: 
                     14:  Our registry access data
                     15: 
                     16:  ****************************************************************************/
                     17: 
                     18:  typedef struct {
                     19:      SC_HANDLE ServiceManagerHandle;  // Handle to the service controller
                     20: //     SC_HANDLE ServiceHandle;         // Handle to our particular service
                     21: //     HKEY NodeHandle;                 // Handle to device's key
                     22:      LPTSTR DriverName;               // Name of driver
                     23:  } REG_ACCESS, *PREG_ACCESS;
                     24: 
                     25: /****************************************************************************
                     26: 
                     27:  Test if configuration etc can be supported
                     28: 
                     29:  ****************************************************************************/
                     30: 
                     31:  #define DrvAccess(RegAccess) ((RegAccess)->ServiceManagerHandle != NULL)
                     32: 
                     33: 
                     34: /****************************************************************************
                     35: 
                     36:  Driver types
                     37: 
                     38:  ****************************************************************************/
                     39: 
                     40:  typedef enum {
                     41:      SoundDriverTypeNormal = 1,
                     42:      SoundDriverTypeSynth           /* Go in the synth group */
                     43:  } SOUND_KERNEL_MODE_DRIVER_TYPE;
                     44: 
                     45: /****************************************************************************
                     46: 
                     47:  Function prototypes
                     48: 
                     49:  ****************************************************************************/
                     50: 
                     51: /*
                     52:  *      Create a services node for our driver if there isn't one already,
                     53:  *      otherwise open the existing one.  Returns ERROR_SUCCESS if OK.
                     54:  */
                     55:  BOOL
                     56:  DrvCreateServicesNode(PTCHAR DriverName,
                     57:                        SOUND_KERNEL_MODE_DRIVER_TYPE DriverType,
                     58:                        PREG_ACCESS RegAccess,
                     59:                        BOOL Create);
                     60: 
                     61: /*
                     62:  *      Close down our connection to the services manager
                     63:  */
                     64: 
                     65:  VOID
                     66:  DrvCloseServiceManager(
                     67:      PREG_ACCESS RegAccess);
                     68: /*
                     69:  *      Delete the services node for our driver
                     70:  */
                     71: 
                     72:  BOOL
                     73:  DrvDeleteServicesNode(
                     74:      PREG_ACCESS RegAccess);
                     75: 
                     76: /*
                     77:  *  Create the 'Parameters' subkey
                     78:  */
                     79:  LONG
                     80:  DrvCreateParamsKey(
                     81:      PREG_ACCESS RegAccess);
                     82: 
                     83: /*
                     84:  *      Set a device parameter
                     85:  */
                     86:  LONG
                     87:  DrvSetDeviceParameter(
                     88:      PREG_ACCESS RegAccess,
                     89:      PTCHAR ValueName,
                     90:      DWORD Value);
                     91: 
                     92: /*
                     93:  *      Read current parameter setting
                     94:  */
                     95: 
                     96:  LONG
                     97:  DrvQueryDeviceParameter(
                     98:      PREG_ACCESS RegAccess,
                     99:      PTCHAR ValueName,
                    100:      PDWORD pValue);
                    101: 
                    102: 
                    103: /*
                    104:  *      Try loading a kernel driver
                    105:  */
                    106:  BOOL
                    107:  DrvLoadKernelDriver(
                    108:      PREG_ACCESS RegAccess);
                    109: /*
                    110:  *      Try unloading a kernel driver
                    111:  */
                    112: 
                    113:  BOOL
                    114:  DrvUnloadKernelDriver(
                    115:      PREG_ACCESS RegAccess);
                    116: 
                    117: /*
                    118:  *      See if driver is loaded
                    119:  */
                    120: 
                    121:  BOOL
                    122:  DrvIsDriverLoaded(
                    123:      PREG_ACCESS RegAccess);
                    124: 
                    125: /*
                    126:  *      Do driver (installation+) configuration
                    127:  */
                    128: 
                    129:  BOOL DrvConfigureDriver(
                    130:           PREG_ACCESS RegAccess,
                    131:           LPTSTR      DriverName,
                    132:           SOUND_KERNEL_MODE_DRIVER_TYPE
                    133:                       DriverType,
                    134:           BOOL (*     SetParms    )(PVOID),
                    135:           PVOID       Context);
                    136: 
                    137: 
                    138: /*
                    139:  *      Remove a driver
                    140:  */
                    141: 
                    142:  LRESULT DrvRemoveDriver(
                    143:              PREG_ACCESS RegAccess);

unix.superglobalmegacorp.com

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