Annotation of ntddk/src/mmedia/synth/dll/registry.h, revision 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.