IDataCollectorSet::Commit 方法 (pla.h)
儲存、更新或驗證數據收集器集合。 您也可以使用這個方法來排清追蹤會話。
語法
HRESULT Commit(
[in] BSTR name,
[in] BSTR server,
[in] CommitMode mode,
[out] IValueMap **validation
);
參數
[in] name
用來儲存資料收集器集合的唯一名稱。 名稱的格式為 [Namespace]Name。 如需詳細資料,請參閱<備註>。
[in] server
您要儲存集合的電腦。 您可以指定電腦名稱、完整功能變數名稱或IP位址, (IPv4 或 IPv6 格式) 。 如果 為 NULL,則會將集合儲存到本機電腦。
[in] mode
指出您要儲存、更新、排清或驗證資料收集器集合。 如需可能的值,請參閱 CommitMode 列舉。
[out] validation
您用來擷取其值無效或忽略之每個屬性的驗證錯誤 IValueMap 介面。 如果沒有錯誤或警告, IValueMap::Count 屬性為零。
傳回值
如果方法呼叫成功,則傳回S_OK。 您必須檢查值對應是否有錯誤, (請參閱) 。 如果方法傳回S_OK且沒有任何驗證錯誤,則已成功認可集合。 下表顯示呼叫此方法時可能的錯誤值。
傳回碼/值 | Description |
---|---|
|
用戶必須以系統管理員身分執行。 |
|
例如,如果您在 Windows Vista) 之前執行作業系統的電腦上認可數據收集器時指定了系統命名空間,則不支援指定的命名空間 (。 |
|
RPC 伺服器無法使用。 方法無法從遠端儲存數據收集器集合。 若要從遠端認可至執行 Windows Vista 的電腦,請在遠端電腦上的 Windows 防火牆設定 中啟用效能記錄和警示。 |
|
您嘗試認可新的集合,但已存在具有指定名稱的集合。 |
備註
如果您儲存集合,請在呼叫 IDataCollectorSet::Query 方法來擷取集合時,使用指定的名稱和伺服器參數值。
name 參數可以包含選擇性命名空間;不過,您應該一律指定 命名空間。 如果您未指定命名空間,PLA 會針對執行 Windows Vista 的電腦使用「服務」,並在 Windows Vista 之前執行作業系統的電腦使用「舊版」。 下表列出可能的命名空間值。
命名空間 | 描述 |
---|---|
自動設定 | 包含 ETW AutoLogger 工作階段。 收集器會在電腦啟動時啟動,無法停止,且狀態為未定義。 |
舊版 | 與服務相同,但在執行 Windows Vista 之前作業系統的電腦上。 |
服務 | 包含使用者建立的所有數據收集器集合。 這些集合可以排程,並可設定為以任何人身分執行。 使用者需要以 批次作業 帳戶身分登入, (請參閱系統管理工具、本機安全策略、本機原則、用戶權力指派) 。 如果您未指定認證,如果使用者是系統管理員) ,則此集合會以 LocalSystem (的形式執行。 |
工作階段 | 包含 Windows (ETW 的事件 追蹤) 追蹤工作階段。 無法排程這些集合。 如果您使用此命名空間,集合必須只包含一個數據收集器,而且必須是追蹤資料收集器。 |
系統 | 包含無法排程的唯讀數據收集器集合;不過,您可以手動啟動這些集合。 如果您未指定認證,則集合會以目前使用者身分執行。 |
請注意,服務命名空間可以在 Windows Vista 之前執行作業系統的電腦上取代舊版命名空間。
若要判斷發生的驗證錯誤,請擷取值對應集合中每個錯誤的 IValueMapItem 介面。 IValueMapItem::Key 屬性包含錯誤的元素 XPath,例如 /AlertDataCollector/TaskArguments。 IValueMapItem::Value 屬性包含 HRESULT 值,可能是錯誤或警告, (成功程式代碼) 。 IValueMapItem::D escription 屬性包含與錯誤相關聯的消息正文。
一般而言,任何發生的錯誤都會是值對應集合中下列其中一個 HRESULT 值。
錯誤 | Description |
---|---|
PLA_S_PROPERTY_IGNORED | 不使用此屬性。 PLA 會使用此警告來停用其 UI 中的專案,讓使用者知道會忽略 屬性。 |
PLA_E_PROPERTY_CONFLICT | 屬性與其他屬性衝突,例如 LogAppend 和 LogCircular 都是 VARIANT_TRUE。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | pla.h |
Dll | Pla.dll |