ITraceDataProvider::get_KeywordsAny 方法 (pla.h)
擷取關鍵詞清單,以判斷您想要提供者寫入的事件類別。
這個屬性是唯讀的。
語法
HRESULT get_KeywordsAny(
IValueMap **ppKeywords
);
參數
ppKeywords
傳回值
無
備註
關鍵詞會決定您想要提供者寫入的事件類別。 如果任何事件的關鍵詞位符合此 KeywordsAny mask 中設定的任何位,提供者就會寫入事件。
若要包含提供者提供的所有事件,請將此屬性設定為零。 若要只包含特定事件,請將此關鍵詞遮罩設定為那些特定事件。 例如,如果提供者為其初始化和清除例程定義事件, (位 0) , 檔案作業的事件 (位 1) ,以及其計算作業的事件 (位 2) ,您可以選擇只包含這兩個事件,方法是將此遮罩設定為 5 (設定位 0 和 2) ,以接收初始化和清除事件和計算事件。
若要進一步限制您想要提供者寫入的事件類別,也請設定 ITraceDataProvider::KeywordsAll 屬性。
例如,如果提供者定義更複雜的事件關鍵詞 (,提供者會定義事件,該事件會設定位0進行讀取,而第1位用於本機存取,而第二個事件會設定位0進行讀取,而第2位用於遠端訪問) ,您可以將此遮罩設定為1以接收所有讀取事件。 或者,您可以將此遮罩設定為 1, 而 KeywordsAll mask 設定為 3,以僅接收本機讀取。
如果事件的關鍵詞為零,則不論此遮罩或 KeywordsAll 遮罩為何,提供者都會將事件寫入會話。
對於在 Windows Vista 之前於作業系統上撰寫的提供者,關鍵詞值將會對應至啟用旗標。
您可以使用 IValueMap 介面來擷取或設定關鍵詞值。 您可以使用 IValueMap::Value 屬性來擷取關鍵詞值, (結合 OR 運算符時,對應中的所有專案的值) ,或者您可以列舉對應中的每個專案來擷取個別的關鍵詞值。
同樣地,當您設定關鍵詞值時,您可以呼叫 IValueMap::Value 屬性來設定關鍵詞值,或者您可以呼叫 IValueMap::Add 方法來新增每個個別的關鍵詞值。
如果您使用 IValueMap::Value 來設定關鍵詞,而值對應包含一或多個專案,PLA 會搜尋集合中的相符值,並加以啟用並停用其他專案。 如果清單中沒有值,PLA 會在專案未命名) (新增 關鍵詞。
IValueMapItem::Key 屬性包含關鍵詞的字串表示。 IValueMapItem::Value 屬性包含關鍵詞值。 IValueMapItem::Enabled 屬性會指出關鍵詞是否已啟用。 只有在您想要命名關鍵詞或想要啟用或停用關鍵詞時,才需要使用 IValueMapItem 介面,而不需要新增或移除關鍵詞。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | pla.h |
Dll | Pla.dll |