用戶端記錄 (Windows 媒體格式 11 SDK)
[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器 和 接收寫入器已取代它。 來源讀取器 和 接收寫入器 已針對 Windows 10 和 Windows 11 優化。 Microsoft強烈建議新程式代碼盡可能使用 來源讀取器 和 接收寫入器,而不是 Windows Media Format 11 SDK。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]
讀取器對象從伺服器讀取資料時,會將記錄資訊傳送至伺服器。 內容提供者通常會使用這項資訊來測量服務品質、產生帳單資訊或追蹤廣告。 記錄資訊不包含個人資料。
應用程式可以藉由在讀取器物件上呼叫 IWMReaderAdvanced::SetClientInfo 方法來指定所記錄的部分資訊。 例如,您可以指定使用者代理程式字串、播放機應用程式的名稱,或裝載播放機的網頁。
記錄資訊包含可識別會話的 GUID。 根據預設,讀取器會產生匿名會話標識碼。 或者,讀取器可以改為傳送可唯一識別目前使用者的標識碼。 若要啟用此功能,請使用 true TRUE值,呼叫 IWMReaderAdvanced2::SetLogClientID 方法。
除了原始伺服器之外,您可以設定讀取器物件,將記錄資訊傳送至另一部伺服器。 若要這樣做,請使用伺服器的 URL 呼叫 IWMReaderNetworkConfig::AddLoggingUrl 方法。 此 URL 應該指向可處理 HTTP GET 和 POST 要求的腳本或可執行檔。 您可以使用多播和記錄公告代理程式 (wmsiislog.dll),也可以撰寫自定義 ASP 或 CGI 腳本來接收記錄數據。
注意
您可以使用 logURL 屬性來建立伺服器端播放清單,以取得相同的功能。
讀取器物件傳送記錄檔時,它會執行下列動作:
- 將空的 GET 要求傳送至伺服器。
- 剖析下列其中一個字串的伺服器回應:
<body><h1>NetShow ISAPI Log Dll</h1>
-
<body><h1>WMS ISAPI Log Dll/0.0.0.0</h1>
“0.0.0.0” 是任何有效的版本號碼。
- 使用記錄資訊傳送POST要求。
下列程式代碼顯示範例 ASP 腳本,它會接收記錄資訊,並將其寫入檔案:
<html>
<body>
<h1>WMS ISAPI Log Dll/9.00.00.00.00</h1>
<%@ Language=VBScript %>
<%
Dim temp, i, post, file, fso
' Convert the binary data to a string.
For i = 1 To Request.TotalBytes
temp = Request.BinaryRead(1)
pose = pose & Chr(AscB(temp))
Next
Set fso = createobject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("C:\log.txt", 8, TRUE)
file.writeline Now
file.writeline post
file.writeBlankLines 2
%>
</body>
</html>
您可以指定多部伺服器來接收記錄資訊;只要使用每個 URL 呼叫 AddLoggingUrl 一次。 若要清除接收記錄的伺服器清單,請呼叫 IWMReaderNetworkConfig::ResetLoggingUrlList 方法。
相關主題