Win32 API 日本語リファレンス
ホームMedia.DeviceManager › IWMDMLogger

IWMDMLogger

COM
IID110a3200-5a79-11d3-8d78-444553540000継承元IUnknown自前メソッド開始 vtbl3

メソッド 9

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT IsEnabled(BOOL* pfEnabled)
pfEnabledBOOL*outログ出力が有効かどうかを受け取るBOOL出力。TRUEで有効。
vtbl 4 HRESULT Enable(BOOL fEnable)
fEnableBOOLinログ出力の有効化を指定するBOOL。TRUEで有効、FALSEで無効。
vtbl 5 HRESULT GetLogFileName(LPSTR pszFilename, DWORD nMaxChars)
pszFilenameLPSTRoutログファイル名を受け取るANSI文字列バッファ。
nMaxCharsDWORDinpszFilenameバッファの最大文字数を指定する。
vtbl 6 HRESULT SetLogFileName(LPSTR pszFilename)
pszFilenameLPSTRin設定するログファイル名を示すANSI文字列。
vtbl 7 HRESULT LogString(DWORD dwFlags, LPSTR pszSrcName, LPSTR pszLog)
dwFlagsDWORDinログ出力の動作を制御するフラグ。重大度や種別を指定する。
pszSrcNameLPSTRinログ発生元の名称を示すANSI文字列。
pszLogLPSTRin記録する文字列メッセージを示すANSI文字列。
vtbl 8 HRESULT LogDword(DWORD dwFlags, LPSTR pszSrcName, LPSTR pszLogFormat, DWORD dwLog)
dwFlagsDWORDinログ出力の動作を制御するフラグ。
pszSrcNameLPSTRinログ発生元の名称を示すANSI文字列。
pszLogFormatLPSTRin数値を埋め込む書式文字列(printf形式)を示すANSI文字列。
dwLogDWORDin書式に埋め込む数値(DWORD)を指定する。
vtbl 9 HRESULT Reset()
vtbl 10 HRESULT GetSizeParams(DWORD* pdwMaxSize, DWORD* pdwShrinkToSize)
pdwMaxSizeDWORD*outログファイルの最大サイズをバイト単位で受け取る出力。
pdwShrinkToSizeDWORD*out縮小時の目標サイズをバイト単位で受け取る出力。
vtbl 11 HRESULT SetSizeParams(DWORD dwMaxSize, DWORD dwShrinkToSize)
dwMaxSizeDWORDinログファイルの最大サイズをバイト単位で指定する。
dwShrinkToSizeDWORDin上限超過時に縮小する目標サイズをバイト単位で指定する。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IWMDMLogger "{110A3200-5A79-11D3-8D78-444553540000}"
#usecom global IWMDMLogger IID_IWMDMLogger "{110A3202-5A79-11D3-8D78-444553540000}"
#comfunc global IWMDMLogger_IsEnabled       3 var
#comfunc global IWMDMLogger_Enable          4 int
#comfunc global IWMDMLogger_GetLogFileName  5 var,int
#comfunc global IWMDMLogger_SetLogFileName  6 str
#comfunc global IWMDMLogger_LogString       7 int,str,str
#comfunc global IWMDMLogger_LogDword        8 int,str,str,int
#comfunc global IWMDMLogger_Reset           9
#comfunc global IWMDMLogger_GetSizeParams   10 var,var
#comfunc global IWMDMLogger_SetSizeParams   11 int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。