IHttpRequest::GetHeaderChanges Method
Retrieves the changes to the server headers for the current request.
Syntax
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;
Parameters
dwOldChangeNumber
[IN] A DWORD
that contains the old change number.
pdwNewChangeNumber
[OUT] A pointer to a DWORD
that contains the new change number.
knownHeaderSnapshot
[IN][OUT] A pointer to a string array that contains the snapshot of all known headers. (The array will contain the new headers when calling, and it will contain the old headers when returning.)
pdwUnknownHeaderSnapShot
[IN][OUT] A pointer to a DWORD
that contains the number of unknown headers in the snapshot.
ppUnknownHeaderNameSnapShot
[IN][OUT] A pointer to the address of a string array that contains the names of all unknown headers. (The array will contain the new headers when calling, and it will contain the old headers when returning.)
ppUnknownHeaderValueSnapShot
[IN][OUT] A pointer to the address of a string array that contains a list of all header values in the snapshot.
diffedKnownHeaderIndices
[OUT] An array of DWORD
values, terminated by a –1 value, that contain the indexes of headers that have changed in the list of known headers.
pdwDiffedUnknownHeaders
[OUT] A pointer to a DWORD
value that contains number of unknown headers that have changed.
ppDiffedUnknownHeaderIndices
[OUT] A pointer to the address of an array of DWORD
values, terminated by a –1 value, that contain the indexes of headers that have changed in the list of unknown headers.
Return Value
An HRESULT
. Possible values include, but are not limited to, those in the following table.
Value | Description |
---|---|
S_OK | Indicates that the operation was successful. |
ERROR_NOT_ENOUGH_MEMORY | Indicates that there is insufficient memory to perform the operation. |
Remarks
IIS uses the GetHeaderChanges
method to test for changes to the HTTP headers since the last time the headers were examined.
Note
IIS uses the GetHeaderChanges
method to internally synchronize the headers between calls to native and managed code. You should not use the GetHeaderChanges
method when you create an HTTP module.
Requirements
Type | Description |
---|---|
Client | - IIS 7.0 on Windows Vista - IIS 7.5 on Windows 7 - IIS 8.0 on Windows 8 - IIS 10.0 on Windows 10 |
Server | - IIS 7.0 on Windows Server 2008 - IIS 7.5 on Windows Server 2008 R2 - IIS 8.0 on Windows Server 2012 - IIS 8.5 on Windows Server 2012 R2 - IIS 10.0 on Windows Server 2016 Technical Preview |
Product | - IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0 - IIS Express 7.5, IIS Express 8.0, IIS Express 10.0 |
Header | Httpserv.h |
See Also
IHttpRequest Interface
IHttpRequest::GetHeader Method
IHttpResponse::GetHeader Method
IHttpResponse::GetHeaderChanges Method