windows-nt/Source/XPSP1/NT/net/tapi/skywalker/cc/inc/reg.h

145 lines
4.9 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/****************************************************************************
*
* $Archive: S:/STURGEON/SRC/INCLUDE/VCS/reg.h_v $
*
* INTEL Corporation Prorietary Information
*
* This listing is supplied under the terms of a license agreement
* with INTEL Corporation and may not be copied nor disclosed except
* in accordance with the terms of that agreement.
*
* Copyright (c) 1993-1994 Intel Corporation.
*
* $Revision: 1.11 $
* $Date: Nov 13 1996 14:11:28 $
* $Author: rdowning $
*
* Deliverable:
*
* Abstract:
*
* Notes:
*
***************************************************************************/
#ifndef __REG_HEADER__
#define __REG_HEADER__
#include <winreg.h>
#include "h245api.h"
#include "q931.h"
#include "callcont.h"
#include <winerror.h>
#include "apierror.h"
#ifdef __cplusplus
extern "C" { // Assume C declarations for C++.
#endif // __cplusplus
extern __declspec(dllexport) long CreateRegStringValue(char *pKey,char *pSubKey,char *pValue,char *pValueData,int iRootKey);
extern __declspec(dllexport) long CreateRegNumValue(char *pKey,char *pSubKey,char *pValue,DWORD dwValueData,int iRootKey);
extern __declspec(dllexport) long GetRegNumValue(char *pKey,char *pSubKey,char *pValue,DWORD *pRetBuf,int iRootKey);
extern __declspec(dllexport) long GetRegStringValue(char *pKey,char *pSubKey,char *pValue,BYTE *pRetBuf,DWORD *pRetBufSize,int iRootKey);
extern __declspec(dllexport) long GetNumSubkeys(char *pKey,char *pSubKey,DWORD *pRetBuf,int iRootKey);
extern __declspec(dllexport) long GetSubkeyString(char *pKey,char *pSubKey,DWORD iIndex,char *pRetBuf,DWORD *pRetBufSize,int iRootKey);
// Capability read/write to the registry.
// Read a single capability structure out of the given key and
// subkey. The format of the capability is defined as follows:
//
//
// Key/SubKey
// CapabilityType = REG_SZ (G723 | LNH | H263)
// The CapabilityType value is common to any capability
// It defines the format of the capability structure and
// the further values to read.
//
//
// G723 audio capability fields All DWORDs
//
// MaxALSDUAudioFrames
// SilenceSupression
//
// H263 video capability fields All DWORDs
//
// SqcifMPI
// QcifMPI
// CifMPI
// Cif4MPI
// Cif16MPI
// Hrdb
// Maxkb
// MaxBitRate
// UnrestrictedVector
// ArithmeticCoding
// AdvancedPrediction
// Frames
// TemporalSpatialTradeoff
//
// L&H audio capability fields All DWORDs
// Stored into a nonStandardCapability structure
//
// FormatTag
// DataRate
// FrameSize
// FramesPerPkt
// UseSilenceDet
// UsePostFilter
//
//
extern __declspec(dllexport) HRESULT GetRegCapability(char *pKey, char *pSubKey, CC_TERMCAP *CapEntry, int iRootKey);
extern __declspec(dllexport) HRESULT CreateRegCapability(char *pKey, char *pSubKey, CC_TERMCAP *CapEntry, int iRootKey);
// Check for compatibility between two capabilities
extern __declspec(dllexport) BOOLEAN IsCapInteroperable(CC_TERMCAP *CapEntry1, CC_TERMCAP *CapEntry2);
extern __declspec(dllexport) HRESULT IsVideoCapInteroperable(CC_TERMCAP *CapEntry1, CC_TERMCAP *CapEntry2, CC_TERMCAP *CapEntry0);
// Read an entire capability list from the registry.
// GetRegCapTable - Allocate and read a capability table from
// the registry.
// A Capability table is stored in the registry as follows
// Key/SubKey/CapTable
// NumEntries REG_DWORD
// Entry0 REG_SZ
// Entry1 REG_SZ
// ...
// Each entry is numbered and will be returned in the corresponding
// position in the array. This allows the capability table to
// define an order of the entries.
// Each entry is a string which corresponds to the name of a key
// in the
// HKEY_LOCAL_MACHINE\SOFTWARE\Intel\RMS\CodecCapabilities
// area. From this new key, the system can get all of the
// fields of the indicated capability.
//
// The return values are:
// RetCapEntryTable, Value is an allocated pointer to the array of
// capability structures. The caller is responsible
// to free this memory when they are finished with it.
// RetCapEntryTableSize Size of the allocated array in number of cap entries
//
extern __declspec(dllexport) HRESULT GetRegCapTable(char *pProdKey, char* pCapKey, char *pSubKey, CC_TERMCAP **RetCapEntryTable, int *RetCapEntryTableSize, int iRootKey);
// Return codes for the registry capability functions
#define CR_OK ((HRESULT)MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_CAPREG, ERROR_SUCCESS))
#define CR_KEYINVALID ((HRESULT)MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CAPREG, ERROR_BADKEY))
#define CR_OUTOFMEM ((HRESULT)MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CAPREG, ERROR_OUTOFMEMORY))
#define CR_UNKNOWNCAP ((HRESULT)MAKE_HRESULT(SEVERITY_ERROR, FACILITY_CAPREG, ERROR_NOT_SUPPORTED))
#ifdef __cplusplus
} // End of extern "C" {
#endif // __cplusplus
#define GetRegStringSize(pKey,pSubKey,pValue,pSize,iRootKey) GetRegStringValue(pKey,pSubKey,pValue,NULL,pSize,iRootKey)
#define CURRENT_USER 0
#define LOCAL_MACHINE 1
#define CLASSES_ROOT 2
#define USERS 3
#endif