设置跟踪上下文的跟踪配置。
语法
virtual HRESULT SetTraceConfiguration(
IN HTTP_MODULE_ID moduleId,
IN HTTP_TRACE_CONFIGURATION* pHttpTraceConfiguration,
IN DWORD cHttpTraceConfiguration = 1
) = 0;)
parameters
moduleId
[IN]包含 HTTP_MODULE_ID 跟踪配置的模块标识符的指针。
pHttpTraceConfiguration
[IN]长度 cHttpTraceConfiguration为 HTTP_TRACE_CONFIGURATION 结构的数组。
cHttpTraceConfiguration
[IN]一个 DWORD ,它包含 指向pHttpTraceConfiguration的结构HTTP_TRACE_CONFIGURATION数。 默认值为 1。
注意
HTTP_MODULE_ID 是指针的类型定义 void 。
返回值
HRESULT。 可能的值包括(但并不限于)下表中的项。
| 值 | 定义 |
|---|---|
| S_OK | 指示操作成功。 |
| E_FAIL | 指示操作失败。 |
| E_OUTOFMEMORY | 指示内部 new 操作返回 NULL,因为堆内存已耗尽。 |
| ERROR_INVALID_PARAMETER | 指示 HTTP_TRACE_CONFIGURATION::pProviderGuid 参数的 pHttpTraceConfiguration 属性为 NULL。 |
| ERROR_NOT_FOUND | 指示尝试对不存在的提供程序禁用跟踪。 |
备注
moduleId和 pHttpTraceConfiguration 参数都不能为 NULL;否则,SetTraceConfiguration方法将导致访问冲突。
线程安全性
如果仅调用 GetTraceConfiguration 方法,则 IHttpTraceContext 接口的大多数实现程序都是线程安全的。 SetTraceConfiguration调用 方法不能保证线程安全。
注释
有关如何创建和部署本机 DLL 模块的详细信息,请参阅 演练:使用本机代码创建Request-Level HTTP 模块。
要求
| 类型 | 说明 |
|---|---|
| 客户端 | - Windows Vista 上的 IIS 7.0 - Windows 7 上的 IIS 7.5 - Windows 8 上的 IIS 8.0 - Windows 10 上的 IIS 10.0 |
| 服务器 | - Windows Server 2008 上的 IIS 7.0 - Windows Server 2008 R2 上的 IIS 7.5 - Windows Server 2012 上的 IIS 8.0 - Windows Server 2012 R2 上的 IIS 8.5 - Windows Server 2016 上的 IIS 10.0 |
| 产品 | - 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 |