共用方式為


用戶端記錄 (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 屬性來建立伺服器端播放清單,以取得相同的功能。

 

讀取器物件傳送記錄檔時,它會執行下列動作:

  1. 將空的 GET 要求傳送至伺服器。
  2. 剖析下列其中一個字串的伺服器回應:
    • <body><h1>NetShow ISAPI Log Dll</h1>
    • <body><h1>WMS ISAPI Log Dll/0.0.0.0</h1>“0.0.0.0” 是任何有效的版本號碼。
  3. 使用記錄資訊傳送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 方法。

實作網路功能

IWMReaderAdvanced 介面

IWMReaderAdvanced2 介面