172 lines
4.4 KiB
C
172 lines
4.4 KiB
C
#ifndef HTTP_OPS_H
|
|
#define HTTP_OPS_H
|
|
|
|
// Macro to convert VT_BOOL values to bool values
|
|
static bool VariantToBool(VARIANT_BOOL vBool)
|
|
{
|
|
if(vBool == VARIANT_TRUE)
|
|
return true;
|
|
return false;
|
|
}
|
|
|
|
// Static helper functions
|
|
HRESULT SendPacket(CHTTPConnectionAgent *pConnectionAgent, CXMLClientPacket *pPacketClass);
|
|
HRESULT SendPacketForMethod(CHTTPConnectionAgent *pConnectionAgent, int iPostType/*1 for POST, 2 for M-POST*/, CXMLClientPacket *pPacketClass, DWORD *pdwResultStatus);
|
|
HRESULT SendBody(CHTTPConnectionAgent *pConnectionAgent, CXMLClientPacket *pPacketClass, LPWSTR pszBody, DWORD dwBodyLength);
|
|
HRESULT SendPacketForMethodWithBody(CHTTPConnectionAgent *pConnectionAgent, int iPostType/*1 for POST, 2 for M-POST*/, CXMLClientPacket *pPacketClass, LPWSTR pwszBody, DWORD dwBodySize, DWORD *pdwResultStatus);
|
|
HRESULT EncodeHTTPResponseIntoStream(LPBYTE pXML, DWORD dwSize, VARIANT *pVariant);
|
|
HRESULT HandleFilteringAndOutput(CHTTPConnectionAgent *pResultAgent, IStream **ppXMLDocument);
|
|
|
|
|
|
// Main functions for HTTP operations
|
|
HRESULT HttpGetObject (
|
|
LPCWSTR pszUserName,
|
|
LPCWSTR pszPassword,
|
|
WmiXMLEncoding iEncoding,
|
|
VARIANT_BOOL bQualifierFilter,
|
|
VARIANT_BOOL bClassOriginFilter,
|
|
VARIANT_BOOL bLocalOnly,
|
|
LPCWSTR pszLocale,
|
|
LPCWSTR pszObjectPath,
|
|
bool bIsNovaPath,
|
|
LPCWSTR pszHostURL,
|
|
LPCWSTR pszNamespace,
|
|
LPCWSTR pszObjectName,
|
|
bool bIsClass,
|
|
IWbemContext *pContext,
|
|
IStream **ppXMLDocument);
|
|
|
|
HRESULT HttpExecQuery (
|
|
LPCWSTR pszUserName,
|
|
LPCWSTR pszPassword,
|
|
WmiXMLEncoding iEncoding,
|
|
VARIANT_BOOL bQualifierFilter,
|
|
VARIANT_BOOL bClassOriginFilter,
|
|
LPCWSTR pszLocale,
|
|
LPCWSTR pszNamespacePath,
|
|
LPCWSTR pszHostURL,
|
|
LPCWSTR pszNamespace,
|
|
LPCWSTR pszQuery,
|
|
LPCWSTR pszQueryLanguage,
|
|
IWbemContext *pContext,
|
|
IStream **ppXMLDocument);
|
|
|
|
HRESULT HttpEnumClass (
|
|
LPCWSTR pszUserName,
|
|
LPCWSTR pszPassword,
|
|
WmiXMLEncoding iEncoding,
|
|
VARIANT_BOOL bQualifierFilter,
|
|
VARIANT_BOOL bClassOriginFilter,
|
|
VARIANT_BOOL bLocalOnly,
|
|
LPCWSTR pszLocale,
|
|
LPCWSTR pszSuperClassPath,
|
|
LPCWSTR pszHostURL,
|
|
LPCWSTR pszNamespace,
|
|
LPCWSTR pszObjectName,
|
|
VARIANT_BOOL bDeep,
|
|
IWbemContext *pContext,
|
|
IStream **ppXMLDocument);
|
|
|
|
HRESULT HttpEnumInstance (
|
|
LPCWSTR pszUserName,
|
|
LPCWSTR pszPassword,
|
|
WmiXMLEncoding iEncoding,
|
|
VARIANT_BOOL bQualifierFilter,
|
|
VARIANT_BOOL bClassOriginFilter,
|
|
VARIANT_BOOL bLocalOnly,
|
|
LPCWSTR pszLocale,
|
|
LPCWSTR pszClassPath,
|
|
LPCWSTR pszHostURL,
|
|
LPCWSTR pszNamespace,
|
|
LPCWSTR pszObjectName,
|
|
VARIANT_BOOL bDeep,
|
|
IWbemContext *pContext,
|
|
IStream **ppXMLDocument);
|
|
|
|
HRESULT HttpEnumClassNames (
|
|
LPCWSTR pszUserName,
|
|
LPCWSTR pszPassword,
|
|
WmiXMLEncoding iEncoding,
|
|
LPCWSTR pszLocale,
|
|
LPCWSTR pszSuperClassPath,
|
|
LPCWSTR pszHostURL,
|
|
LPCWSTR pszNamespace,
|
|
LPCWSTR pszObjectName,
|
|
VARIANT_BOOL bDeep,
|
|
IWbemContext *pContext,
|
|
IStream **ppXMLDocument);
|
|
|
|
HRESULT HttpEnumInstanceNames (
|
|
LPCWSTR pszUserName,
|
|
LPCWSTR pszPassword,
|
|
WmiXMLEncoding iEncoding,
|
|
LPCWSTR pszLocale,
|
|
LPCWSTR pszClassPath,
|
|
LPCWSTR pszHostURL,
|
|
LPCWSTR pszNamespace,
|
|
LPCWSTR pszObjectName,
|
|
IWbemContext *pContext,
|
|
IStream **ppXMLDocument);
|
|
|
|
HRESULT HttpPutClass (
|
|
LPCWSTR pszUserName,
|
|
LPCWSTR pszPassword,
|
|
LPCWSTR pszLocale,
|
|
LPCWSTR pszNamespacePath,
|
|
LONG lClassFlags,
|
|
IXMLDOMElement *pClassElement,
|
|
IWbemContext *pContext,
|
|
BSTR *pstrErrors);
|
|
|
|
HRESULT HttpModifyClass (
|
|
LPCWSTR pszUserName,
|
|
LPCWSTR pszPassword,
|
|
LPCWSTR pszLocale,
|
|
LPCWSTR pszNamespacePath,
|
|
LONG lClassFlags,
|
|
IXMLDOMElement *pClassElement,
|
|
IWbemContext *pContext,
|
|
BSTR *pstrErrors);
|
|
|
|
HRESULT HttpPutInstance (
|
|
LPCWSTR pszUserName,
|
|
LPCWSTR pszPassword,
|
|
LPCWSTR pszLocale,
|
|
LPCWSTR pszNamespacePath,
|
|
LONG lClassFlags,
|
|
IXMLDOMElement *pClassElement,
|
|
IWbemContext *pContext,
|
|
BSTR *pstrErrors);
|
|
|
|
HRESULT HttpModifyInstance (
|
|
LPCWSTR pszUserName,
|
|
LPCWSTR pszPassword,
|
|
LPCWSTR pszLocale,
|
|
LPCWSTR pszNamespacePath,
|
|
LONG lClassFlags,
|
|
IXMLDOMElement *pClassElement,
|
|
IWbemContext *pContext,
|
|
BSTR *pstrErrors);
|
|
|
|
HRESULT HttpGeneralPut (
|
|
LPCWSTR pszMethodName,
|
|
LPCWSTR pszUserName,
|
|
LPCWSTR pszPassword,
|
|
LPCWSTR pszLocale,
|
|
LPCWSTR pszNamespacePath,
|
|
LONG lClassFlags,
|
|
IXMLDOMElement *pClassElement,
|
|
IWbemContext *pContext,
|
|
BSTR *pstrErrors);
|
|
|
|
HRESULT HttpDeleteClass(
|
|
LPCWSTR pszUserName,
|
|
LPCWSTR pszPassword,
|
|
LPCWSTR pszLocale,
|
|
LPCWSTR pszHostURL,
|
|
LPCWSTR pszNamespace,
|
|
LPCWSTR pszClassName,
|
|
IWbemContext *pContext);
|
|
|
|
|
|
#endif |