54 lines
1.7 KiB
C++
54 lines
1.7 KiB
C++
#if !defined( _CERT_INCLUDED )
|
|
#define _CERT_INCLUDED
|
|
|
|
|
|
class CCertMapperMethod
|
|
{
|
|
#define IISMAPPER_LOCATE_BY_CERT 1
|
|
#define IISMAPPER_LOCATE_BY_NAME 2
|
|
#define IISMAPPER_LOCATE_BY_ACCT 3
|
|
#define IISMAPPER_LOCATE_BY_INDEX 4
|
|
|
|
private:
|
|
|
|
IMSAdminBase* m_pIABase; //interface pointer
|
|
METADATA_HANDLE m_hmd;
|
|
LPWSTR m_pszMetabasePath;
|
|
|
|
HRESULT Init(LPCWSTR);
|
|
HRESULT Locate(LONG, VARIANT, LPWSTR);
|
|
HRESULT SetString(LONG, VARIANT, BSTR, DWORD);
|
|
HRESULT SetBSTR(BSTR*, DWORD, LPBYTE);
|
|
HRESULT SetVariantAsByteArray(VARIANT*, DWORD, LPBYTE);
|
|
HRESULT SetVariantAsBSTR(VARIANT*, DWORD, LPBYTE);
|
|
HRESULT SetVariantAsLong(VARIANT*, DWORD);
|
|
HRESULT GetStringFromBSTR(BSTR, LPSTR*, LPDWORD, BOOL fAddDelimInCount = true);
|
|
HRESULT GetStringFromVariant(VARIANT*, LPSTR*, LPDWORD, BOOL fAddDelimInCount = true);
|
|
HRESULT OpenMd(LPWSTR, DWORD dwPermission = METADATA_PERMISSION_READ);
|
|
HRESULT CloseMd(BOOL fSave = FALSE);
|
|
HRESULT DeleteMdObject(LPWSTR);
|
|
HRESULT CreateMdObject(LPWSTR);
|
|
HRESULT OpenAdminBaseKey(LPWSTR, DWORD);
|
|
void CloseAdminBaseKey();
|
|
void FreeString(LPSTR psz);
|
|
|
|
public:
|
|
|
|
CCertMapperMethod(LPCWSTR);
|
|
~CCertMapperMethod();
|
|
|
|
HRESULT CreateMapping(VARIANT, BSTR, BSTR, BSTR, LONG);
|
|
|
|
HRESULT GetMapping(LONG, VARIANT, VARIANT*, VARIANT*, VARIANT*, VARIANT*, VARIANT*);
|
|
HRESULT DeleteMapping(LONG, VARIANT);
|
|
HRESULT SetEnabled(LONG, VARIANT, LONG);
|
|
HRESULT SetName(LONG, VARIANT, BSTR);
|
|
HRESULT SetPwd(LONG, VARIANT, BSTR);
|
|
HRESULT SetAcct(LONG, VARIANT, BSTR);
|
|
|
|
HRESULT SetMdData(LPWSTR, DWORD, DWORD, DWORD, LPBYTE);
|
|
HRESULT GetMdData(LPWSTR, DWORD, DWORD, LPDWORD, LPBYTE*);
|
|
};
|
|
|
|
#endif
|