File:  [WindowsNT SDKs] / ntddk / src / mmedia / synth / dll / registry.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Thu Aug 9 18:31:12 2018 UTC (7 years, 9 months ago) by root
Branches: msft, MAIN
CVS tags: ntddk-nov-1993, HEAD
Microsoft Windows NT Build 511 (DDK SDK) 11-01-1993

/****************************************************************************
 *
 *   registry.h
 *
 *   Copyright (c) 1992 Microsoft Corporation.  All Rights Reserved.
 *
 *   This file contains public definitions for maintaining registry information
 *   for drivers managing kernel driver registry related data.
 ****************************************************************************/


/****************************************************************************

 Our registry access data

 ****************************************************************************/

 typedef struct {
     SC_HANDLE ServiceManagerHandle;  // Handle to the service controller
//     SC_HANDLE ServiceHandle;         // Handle to our particular service
//     HKEY NodeHandle;                 // Handle to device's key
     LPTSTR DriverName;               // Name of driver
 } REG_ACCESS, *PREG_ACCESS;

/****************************************************************************

 Test if configuration etc can be supported

 ****************************************************************************/

 #define DrvAccess(RegAccess) ((RegAccess)->ServiceManagerHandle != NULL)


/****************************************************************************

 Driver types

 ****************************************************************************/

 typedef enum {
     SoundDriverTypeNormal = 1,
     SoundDriverTypeSynth           /* Go in the synth group */
 } SOUND_KERNEL_MODE_DRIVER_TYPE;

/****************************************************************************

 Function prototypes

 ****************************************************************************/

/*
 *      Create a services node for our driver if there isn't one already,
 *      otherwise open the existing one.  Returns ERROR_SUCCESS if OK.
 */
 BOOL
 DrvCreateServicesNode(PTCHAR DriverName,
                       SOUND_KERNEL_MODE_DRIVER_TYPE DriverType,
                       PREG_ACCESS RegAccess,
                       BOOL Create);

/*
 *      Close down our connection to the services manager
 */

 VOID
 DrvCloseServiceManager(
     PREG_ACCESS RegAccess);
/*
 *      Delete the services node for our driver
 */

 BOOL
 DrvDeleteServicesNode(
     PREG_ACCESS RegAccess);

/*
 *  Create the 'Parameters' subkey
 */
 LONG
 DrvCreateParamsKey(
     PREG_ACCESS RegAccess);

/*
 *      Set a device parameter
 */
 LONG
 DrvSetDeviceParameter(
     PREG_ACCESS RegAccess,
     PTCHAR ValueName,
     DWORD Value);

/*
 *      Read current parameter setting
 */

 LONG
 DrvQueryDeviceParameter(
     PREG_ACCESS RegAccess,
     PTCHAR ValueName,
     PDWORD pValue);


/*
 *      Try loading a kernel driver
 */
 BOOL
 DrvLoadKernelDriver(
     PREG_ACCESS RegAccess);
/*
 *      Try unloading a kernel driver
 */

 BOOL
 DrvUnloadKernelDriver(
     PREG_ACCESS RegAccess);

/*
 *      See if driver is loaded
 */

 BOOL
 DrvIsDriverLoaded(
     PREG_ACCESS RegAccess);

/*
 *      Do driver (installation+) configuration
 */

 BOOL DrvConfigureDriver(
          PREG_ACCESS RegAccess,
          LPTSTR      DriverName,
          SOUND_KERNEL_MODE_DRIVER_TYPE
                      DriverType,
          BOOL (*     SetParms    )(PVOID),
          PVOID       Context);


/*
 *      Remove a driver
 */

 LRESULT DrvRemoveDriver(
             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.