in Include/httpserv_xp.h [421:597]
class __declspec(uuid("e8698f7e-576e-4cac-a309-67435355faef"))
IHttpRequest
{
public:
virtual
HTTP_REQUEST *
GetRawHttpRequest(
VOID
) = 0;
virtual
const HTTP_REQUEST *
GetRawHttpRequest(
VOID
) const = 0;
virtual
PCSTR
GetHeader(
IN PCSTR pszHeaderName,
OUT USHORT * pcchHeaderValue = NULL
) const = 0;
virtual
PCSTR
GetHeader(
IN HTTP_HEADER_ID ulHeaderIndex,
OUT USHORT * pcchHeaderValue = NULL
) const = 0;
virtual
HRESULT
SetHeader(
IN PCSTR pszHeaderName,
IN PCSTR pszHeaderValue,
IN USHORT cchHeaderValue,
IN BOOL fReplace
) = 0;
virtual
HRESULT
SetHeader(
IN HTTP_HEADER_ID ulHeaderIndex,
IN PCSTR pszHeaderValue,
IN USHORT cchHeaderValue,
IN BOOL fReplace
) = 0;
virtual
HRESULT
DeleteHeader(
IN PCSTR pszHeaderName
) = 0;
virtual
HRESULT
DeleteHeader(
IN HTTP_HEADER_ID ulHeaderIndex
) = 0;
virtual
PCSTR
GetHttpMethod(
VOID
) const = 0;
virtual
HRESULT
SetHttpMethod(
IN PCSTR pszHttpMethod
) = 0;
virtual
HRESULT
SetUrl(
IN PCWSTR pszUrl,
IN DWORD cchUrl,
IN BOOL fResetQueryString
) = 0;
virtual
HRESULT
SetUrl(
IN PCSTR pszUrl,
IN DWORD cchUrl,
IN BOOL fResetQueryString
) = 0;
virtual
BOOL
GetUrlChanged(
VOID
) const = 0;
virtual
PCWSTR
GetForwardedUrl(
VOID
) const = 0;
virtual
PSOCKADDR
GetLocalAddress(
VOID
) const = 0;
virtual
PSOCKADDR
GetRemoteAddress(
VOID
) const = 0;
virtual
HRESULT
ReadEntityBody(
OUT VOID * pvBuffer,
IN DWORD cbBuffer,
IN BOOL fAsync,
OUT DWORD * pcbBytesReceived,
OUT BOOL * pfCompletionPending = NULL
) = 0;
virtual
HRESULT
InsertEntityBody(
IN VOID * pvBuffer,
IN DWORD cbBuffer
) = 0;
virtual
DWORD
GetRemainingEntityBytes(
VOID
) = 0;
virtual
VOID
GetHttpVersion(
OUT USHORT * pMajorVersion,
OUT USHORT * pMinorVersion
) const = 0;
virtual
HRESULT
GetClientCertificate(
OUT HTTP_SSL_CLIENT_CERT_INFO ** ppClientCertInfo,
OUT BOOL * pfClientCertNegotiated
) = 0;
virtual
HRESULT
NegotiateClientCertificate(
IN BOOL fAsync,
OUT BOOL * pfCompletionPending = NULL
) = 0;
virtual
DWORD
GetSiteId(
VOID
) const = 0;
virtual
HRESULT
GetHeaderChanges(
IN DWORD dwOldChangeNumber,
OUT DWORD * pdwNewChangeNumber,
IN OUT PCSTR knownHeaderSnapshot[HttpHeaderRequestMaximum],
IN OUT DWORD * pdwUnknownHeaderSnapshot,
IN OUT PCSTR **ppUnknownHeaderNameSnapshot,
IN OUT PCSTR **ppUnknownHeaderValueSnapshot,
__out_ecount(HttpHeaderRequestMaximum+1)
DWORD diffedKnownHeaderIndices[HttpHeaderRequestMaximum+1],
OUT DWORD * pdwDiffedUnknownHeaders,
OUT DWORD **ppDiffedUnknownHeaderIndices
) = 0;
};