Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

70 lines
1.5 KiB

#pragma once
struct Property
{
LPVOID pv;
DWORD cb;
DWORD flag;
};
class CPropertyArray
{
private:
DWORD _dwSig;
DWORD _dwType;
Property *_rProp;
public:
static DWORD max_params[MAN_INFO_MAX];
CPropertyArray();
~CPropertyArray();
HRESULT Init (DWORD dwType);
HRESULT GetType(DWORD *pdwType);
inline HRESULT Set(DWORD PropertyId, LPVOID pvProperty, DWORD cbProperty, DWORD flag);
inline HRESULT Get(DWORD PropertyId, LPVOID pvProperty, LPDWORD pcbProperty, DWORD *flag);
inline Property operator [] (DWORD dwPropId);
};
class CManifestInfo : public IManifestInfo
{
public:
// IUnknown methods
STDMETHODIMP QueryInterface(REFIID riid, void ** ppv);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
STDMETHOD(Set)(
/* in */ DWORD PropertyId,
/* in */ LPVOID pvProperty,
/* in */ DWORD cbProperty,
/* in */ DWORD type);
STDMETHOD(Get)(
/* in */ DWORD PropertyId,
/* out */ LPVOID *ppvProperty,
/* out */ DWORD *pcbProperty,
/* out */ DWORD *pType);
STDMETHOD (IsEqual)(
/* in */ IManifestInfo *pManifestInfo);
STDMETHOD (GetType)(
/* out */ DWORD *pdwType);
CManifestInfo();
~CManifestInfo();
HRESULT Init (DWORD dwType);
private:
DWORD _dwSig;
DWORD _cRef;
HRESULT _hr;
CPropertyArray *_properties;
};