windows-nt/Source/XPSP1/NT/inetsrv/iis/admin/wmiprov_dynamic/certmap.h
2020-09-26 16:20:57 +08:00

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