93 lines
2 KiB
C
93 lines
2 KiB
C
|
#if !defined(_FUSION_SETTINGS_SETTINGSP_H_INCLUDED_)
|
||
|
#define _FUSION_SETTINGS_SETTINGSP_H_INCLUDED_
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
typedef struct _SXSP_SETTINGS_KEY SXSP_SETTINGS_KEY;
|
||
|
typedef struct _SXSP_SETTINGS_KEY *PSXSP_SETTINGS_KEY;
|
||
|
typedef const struct _SXSP_SETTINGS_KEY *PCSXSP_SETTINGS_KEY;
|
||
|
|
||
|
typedef struct _SXSP_SETTINGS_VALUE SXSP_SETTINGS_VALUE;
|
||
|
typedef struct _SXSP_SETTINGS_VALUE *PSXSP_SETTINGS_VALUE;
|
||
|
typedef const struct _SXSP_SETTINGS_VALUE *PCSXSP_SETTINGS_VALUE;
|
||
|
|
||
|
typedef struct _SXSP_SETTINGS_VALUE
|
||
|
{
|
||
|
PCWSTR m_pszValueName;
|
||
|
BYTE *m_pbValue;
|
||
|
ULONG m_cchValueName;
|
||
|
ULONG m_cbValue;
|
||
|
DWORD m_dwValueType;
|
||
|
} SXSP_SETTINGS_VALUE, *PSXSP_SETTINGS_VALUE;
|
||
|
|
||
|
#define SXSP_SETTINGS_KEY_FLAG_DETACHED (0x00000001)
|
||
|
|
||
|
typedef struct _SXSP_SETTINGS_KEY
|
||
|
{
|
||
|
PSXSP_SETTINGS_KEY m_Parent;
|
||
|
PSXSP_SETTINGS_KEY *m_prgSubKeys;
|
||
|
PSXSP_SETTINGS_VALUE *m_prgValues;
|
||
|
PCWSTR m_pszKeyName;
|
||
|
PCWSTR m_pszClassName;
|
||
|
LONG m_cRef;
|
||
|
DWORD m_dwFlags;
|
||
|
ULONG m_cchKeyName;
|
||
|
ULONG m_cchClassName;
|
||
|
ULONG m_cSubKeys;
|
||
|
ULONG m_cSubKeyArraySize;
|
||
|
ULONG m_cValues;
|
||
|
ULONG m_cValueArraySize;
|
||
|
} SXSP_SETTINGS_KEY, *PSXSP_SETTINGS_KEY;
|
||
|
|
||
|
typedef const struct _SXSP_SETTINGS_KEY *PCSXSP_SETTINGS_KEY;
|
||
|
|
||
|
typedef struct _SXS_SETTINGS_KEY
|
||
|
{
|
||
|
PSXSP_SETTINGS_KEY m_InternalKey;
|
||
|
REGSAM m_SamGranted;
|
||
|
} SXS_SETTINGS_KEY;
|
||
|
|
||
|
void
|
||
|
SxspAddRefSettingsKey(
|
||
|
PSXSP_SETTINGS_KEY Key
|
||
|
);
|
||
|
|
||
|
void
|
||
|
SxspReleaseSettingsKey(
|
||
|
PSXSP_SETTINGS_KEY Key
|
||
|
);
|
||
|
|
||
|
int __cdecl
|
||
|
SxspCompareKeys(
|
||
|
const void *pv1,
|
||
|
const void *pv2
|
||
|
);
|
||
|
|
||
|
LONG
|
||
|
SxspInternalKeyToExternalKey(
|
||
|
PSXSP_SETTINGS_KEY KeyIn,
|
||
|
REGSAM samGranted,
|
||
|
PSXS_SETTINGS_KEY &KeyOut
|
||
|
);
|
||
|
|
||
|
LONG
|
||
|
SxspNavigateKey(
|
||
|
DWORD Flags,
|
||
|
PSXSP_SETTINGS_KEY KeyIn,
|
||
|
PCWSTR SubKeyPath,
|
||
|
ULONG &SubKeyPathConsumed,
|
||
|
PSXSP_SETTINGS_KEY &KeyOut
|
||
|
);
|
||
|
|
||
|
void
|
||
|
SxspDestroySettingsValue(
|
||
|
PSXSP_SETTINGS_VALUE Value
|
||
|
);
|
||
|
|
||
|
void
|
||
|
SxspDetachSettingsKey(
|
||
|
PSXSP_SETTINGS_KEY Key
|
||
|
);
|
||
|
|
||
|
#endif // !defined(_FUSION_SETTINGS_SETTINGSP_H_INCLUDED_)
|