116 lines
2.1 KiB
C++
116 lines
2.1 KiB
C++
#if !defined( _NSEPM_INCLUDE )
|
|
#define _NSEPM_INCLUDE
|
|
|
|
#define INITIAL_HANDLE_TABLE_SIZE 16
|
|
#define HANDLE_TABLE_REALLOC_JUMP 16
|
|
|
|
class OPEN_CTX {
|
|
public:
|
|
OPEN_CTX( DWORD dwAccess );
|
|
~OPEN_CTX();
|
|
LPSTR GetPath() { return m_asPath.Get(); }
|
|
BOOL SetPath( LPSTR pszPath ) { return m_asPath.Set( pszPath ); }
|
|
BOOL AppendPath( LPSTR pszPath ) { return m_asPath.Append( pszPath ); }
|
|
DWORD GetAccess() const { return m_dwAccess; }
|
|
DWORD GetHandle() const { return m_dwHandle; }
|
|
|
|
static OPEN_CTX* MapHandleToContext( DWORD dwHandle );
|
|
static DWORD InitializeHandleTable();
|
|
static DWORD TerminateHandleTable();
|
|
|
|
private:
|
|
|
|
static OPEN_CTX ** sm_pHandleTable;
|
|
static CRITICAL_SECTION sm_csHandleTableLock;
|
|
static DWORD sm_cHandleEntries;
|
|
static DWORD sm_cMaxHandleEntries;
|
|
|
|
CAllocString m_asPath;
|
|
DWORD m_dwAccess;
|
|
DWORD m_dwHandle;
|
|
};
|
|
|
|
typedef OPEN_CTX* POPEN_CTX;
|
|
|
|
BOOL
|
|
NseAddObj(
|
|
LPSTR pszPath
|
|
);
|
|
|
|
BOOL
|
|
NseDeleteObj(
|
|
LPSTR pszPath
|
|
);
|
|
|
|
|
|
BOOL
|
|
NseGetProp(
|
|
LPSTR pszPath,
|
|
PMETADATA_RECORD pMD,
|
|
LPDWORD pdwReq
|
|
);
|
|
|
|
BOOL
|
|
NseGetPropByIndex(
|
|
LPSTR pszPath,
|
|
PMETADATA_RECORD pMD,
|
|
DWORD dwI,
|
|
LPDWORD pdwReq
|
|
);
|
|
|
|
BOOL
|
|
NseGetAllProp(
|
|
LPSTR pszPath,
|
|
DWORD dwMDAttributes,
|
|
DWORD dwMDUserType,
|
|
DWORD dwMDDataType,
|
|
DWORD *pdwMDNumDataEntries,
|
|
DWORD *pdwMDDataSetNumber,
|
|
DWORD dwMDBufferSize,
|
|
unsigned char *pbBuffer,
|
|
DWORD *pdwMDRequiredBufferSize
|
|
);
|
|
|
|
BOOL
|
|
NseEnumObj(
|
|
LPSTR pszPath,
|
|
LPBYTE pszMDName,
|
|
DWORD dwMDEnumObjectIndex
|
|
);
|
|
|
|
BOOL
|
|
NseSetProp(
|
|
LPSTR pszPath,
|
|
PMETADATA_RECORD pMD
|
|
);
|
|
|
|
BOOL
|
|
NseReleaseObjs(
|
|
);
|
|
|
|
BOOL
|
|
NseOpenObjs(
|
|
LPSTR pszPath
|
|
);
|
|
|
|
BOOL
|
|
NseCloseObjs(
|
|
BOOL
|
|
);
|
|
|
|
BOOL
|
|
NseSaveObjs(
|
|
);
|
|
|
|
BOOL
|
|
NseMappingInitialize(
|
|
);
|
|
|
|
BOOL
|
|
NseMappingTerminate(
|
|
);
|
|
|
|
extern IMDCOM* g_pMdIf;
|
|
|
|
#endif
|