REGDSAPI.H

/*++ 

Copyright (c) 1996 Microsoft Corporation

Module Name:

RegDsAPI.h

Abstract:

Author:

Environment:

User mode

Revision History :

--*/
#ifndef _REGDSAPI_
#define _REGDSAPI_

#define REG_DS 1
#define REG_SCHEMA 2

#define SAMPLEDS_UNKNOWN 0
#define SAMPLEDS_PROPERTY 1
#define SAMPLEDS_CLASS 2

typedef struct REGDS_ENUM{
DWORD dwIndex;
HANDLE hContainerKey;
} *LPREGDS_ENUM;

HRESULT
SampleDSOpenObject(
LPWSTR szRegPath,
HANDLE *phKey,
LPWSTR szClass,
DWORD dwType);

HRESULT
SampleDSCloseObject(
HANDLE hKey);


HRESULT
SampleDSRDNEnum(
HANDLE *phEnum,
HANDLE hContainerKey);


HRESULT
SampleDSNextRDN(
HANDLE hEnum,
LPWSTR *pszName,
LPWSTR *pszClass);

HRESULT
SampleDSFreeEnum(HANDLE hEnum);


HRESULT
SampleDSModifyObject(HANDLE hKey,
HANDLE hOperationData
);

HRESULT
SampleDSReadObject(
HANDLE hkey,
HANDLE *phOperationData
);


HRESULT
SampleDSGetPropertyDefinition(
LPSampleDS_ATTR_DEF* ppAttrDefReturn,
DWORD *pnumObject
);

HRESULT
SampleDSGetPropertyDefinition(
LPSampleDS_ATTR_DEF* ppAttrDefReturn,
LPWSTR szPropName
);

HRESULT
SampleDSGetType(HKEY hKey,
LPWSTR szPropertyName,
DWORD *pdwType
);

HRESULT
SampleDSGetPropertyInfo(HKEY hKey,
LPWSTR szPropertyName,
LPSampleDS_ATTR_DEF pAttrDef
);

HRESULT
SampleDSGetClassDefinition(
LPSampleDS_CLASS_DEF* ppClassDefsReturn,
DWORD *pnumObject
);

HRESULT
SampleDSGetClassDefinition(
LPSampleDS_CLASS_DEF* ppClassDefReturn,
LPWSTR szClassName
);

HRESULT
SampleDSGetClassInfo(HKEY hKey,
LPWSTR szClassName,
LPSampleDS_CLASS_DEF pClassDef
);
HRESULT
SampleDSAddObject(HANDLE hKey,
LPWSTR szObject,
LPWSTR szClass,
HANDLE hOperationData
);

HRESULT
SampleDSRemoveObject(
HANDLE hKey,
LPWSTR szObject);

HRESULT
SampleDSGetTypeText(HKEY hKey,
LPWSTR szPropertyName,
LPWSTR szClassName,
DWORD *pdwClassName);
HRESULT
SampleDSCreateBuffer(HANDLE *phOperationData);

HRESULT
SampleDSFreeBuffer(HANDLE hOperationData);

HRESULT
SampleDSFreeClassDefinition(LPSampleDS_CLASS_DEF pClassDefs,
DWORD numObject);

HRESULT
SampleDSFreePropertyDefinition(LPSampleDS_ATTR_DEF pPropertyDefs,
DWORD numObject);


#endif