Win32 API 日本語リファレンス
ホームSystem.Contacts › IContactProperties

IContactProperties

COM
IID70dd27dd-5cbd-46e8-bef0-23b6b346288f継承元IUnknown自前メソッド開始 vtbl3

メソッド 13

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

vtbl 3 HRESULT GetString(LPWSTR pszPropertyName, DWORD dwFlags, LPWSTR pszValue, DWORD cchValue, DWORD* pdwcchPropertyValueRequired)
pszPropertyNameLPWSTRin取得する文字列プロパティの名前を指定するワイド文字列である。
dwFlagsDWORDin取得時の動作を制御するフラグを指定する。通常は 0 を指定する。
pszValueLPWSTRinout取得した文字列値を受け取るバッファである。
cchValueDWORDinpszValue バッファのサイズを文字数で指定する。
pdwcchPropertyValueRequiredDWORD*inout値の格納に必要なバッファサイズ (終端 NULL を含む文字数) を受け取る DWORD へのポインタである。
vtbl 4 HRESULT GetDate(LPWSTR pszPropertyName, DWORD dwFlags, FILETIME* pftDateTime)
pszPropertyNameLPWSTRin取得する日付プロパティの名前を指定するワイド文字列である。
dwFlagsDWORDin取得時の動作を制御するフラグを指定する。通常は 0 を指定する。
pftDateTimeFILETIME*inout取得した日時を UTC の FILETIME として受け取るポインタである。
vtbl 5 HRESULT GetBinary(LPWSTR pszPropertyName, DWORD dwFlags, LPWSTR pszContentType, DWORD cchContentType, DWORD* pdwcchContentTypeRequired, IStream** ppStream)
pszPropertyNameLPWSTRin取得するバイナリプロパティの名前を指定するワイド文字列である。
dwFlagsDWORDin取得時の動作を制御するフラグを指定する。通常は 0 を指定する。
pszContentTypeLPWSTRinoutバイナリデータの MIME コンテンツタイプを受け取るバッファである。
cchContentTypeDWORDinpszContentType バッファのサイズを文字数で指定する。
pdwcchContentTypeRequiredDWORD*inoutコンテンツタイプの格納に必要なバッファサイズ (終端 NULL を含む文字数) を受け取る DWORD へのポインタである。
ppStreamIStream**outバイナリデータを読み出すための IStream インターフェイスを受け取るポインタのポインタである。
vtbl 6 HRESULT GetLabels(LPWSTR pszArrayElementName, DWORD dwFlags, LPWSTR pszLabels, DWORD cchLabels, DWORD* pdwcchLabelsRequired)
pszArrayElementNameLPWSTRinラベルを取得する対象の配列要素 (ノード) 名を指定するワイド文字列である。
dwFlagsDWORDin取得時の動作を制御するフラグを指定する。通常は 0 を指定する。
pszLabelsLPWSTRinout取得したラベル一覧を NULL 区切りで受け取るバッファである。
cchLabelsDWORDinpszLabels バッファのサイズを文字数で指定する。
pdwcchLabelsRequiredDWORD*inoutラベルの格納に必要なバッファサイズ (終端 NULL を含む文字数) を受け取る DWORD へのポインタである。
vtbl 7 HRESULT SetString(LPWSTR pszPropertyName, DWORD dwFlags, LPWSTR pszValue)
pszPropertyNameLPWSTRin設定する文字列プロパティの名前を指定するワイド文字列である。
dwFlagsDWORDin設定時の動作を制御するフラグを指定する。通常は 0 を指定する。
pszValueLPWSTRinプロパティに設定する文字列値を指定するワイド文字列である。
vtbl 8 HRESULT SetDate(LPWSTR pszPropertyName, DWORD dwFlags, FILETIME ftDateTime)
pszPropertyNameLPWSTRin設定する日付プロパティの名前を指定するワイド文字列である。
dwFlagsDWORDin設定時の動作を制御するフラグを指定する。通常は 0 を指定する。
ftDateTimeFILETIMEinプロパティに設定する日時を UTC の FILETIME として指定する。
vtbl 9 HRESULT SetBinary(LPWSTR pszPropertyName, DWORD dwFlags, LPWSTR pszContentType, IStream* pStream)
pszPropertyNameLPWSTRin設定するバイナリプロパティの名前を指定するワイド文字列である。
dwFlagsDWORDin設定時の動作を制御するフラグを指定する。通常は 0 を指定する。
pszContentTypeLPWSTRin設定するバイナリデータの MIME コンテンツタイプを指定するワイド文字列である。
pStreamIStream*in設定するバイナリデータを供給する IStream インターフェイスへのポインタである。
vtbl 10 HRESULT SetLabels(LPWSTR pszArrayElementName, DWORD dwFlags, DWORD dwLabelCount, LPWSTR* ppszLabels)
pszArrayElementNameLPWSTRinラベルを設定する対象の配列要素 (ノード) 名を指定するワイド文字列である。
dwFlagsDWORDin設定時の動作を制御するフラグを指定する。通常は 0 を指定する。
dwLabelCountDWORDinppszLabels が指すラベル配列の要素数を指定する。
ppszLabelsLPWSTR*in設定するラベル文字列の配列へのポインタである。
vtbl 11 HRESULT CreateArrayNode(LPWSTR pszArrayName, DWORD dwFlags, BOOL fAppend, LPWSTR pszNewArrayElementName, DWORD cchNewArrayElementName, DWORD* pdwcchNewArrayElementNameRequired)
pszArrayNameLPWSTRin新しい要素を作成する対象の配列プロパティ名を指定するワイド文字列である。
dwFlagsDWORDin作成時の動作を制御するフラグを指定する。通常は 0 を指定する。
fAppendBOOLin新しい要素を配列の末尾に追加する場合に TRUE を、先頭に挿入する場合に FALSE を指定する。
pszNewArrayElementNameLPWSTRinout作成された新しい配列要素 (ノード) の名前を受け取るバッファである。
cchNewArrayElementNameDWORDinpszNewArrayElementName バッファのサイズを文字数で指定する。
pdwcchNewArrayElementNameRequiredDWORD*inout要素名の格納に必要なバッファサイズ (終端 NULL を含む文字数) を受け取る DWORD へのポインタである。
vtbl 12 HRESULT DeleteProperty(LPWSTR pszPropertyName, DWORD dwFlags)
pszPropertyNameLPWSTRin削除するプロパティの名前を指定するワイド文字列である。
dwFlagsDWORDin削除時の動作を制御するフラグを指定する。通常は 0 を指定する。
vtbl 13 HRESULT DeleteArrayNode(LPWSTR pszArrayElementName, DWORD dwFlags)
pszArrayElementNameLPWSTRin削除する配列要素 (ノード) の名前を指定するワイド文字列である。
dwFlagsDWORDin削除時の動作を制御するフラグを指定する。通常は 0 を指定する。
vtbl 14 HRESULT DeleteLabels(LPWSTR pszArrayElementName, DWORD dwFlags)
pszArrayElementNameLPWSTRinラベルを削除する対象の配列要素 (ノード) 名を指定するワイド文字列である。
dwFlagsDWORDin削除時の動作を制御するフラグを指定する。通常は 0 を指定する。
vtbl 15 HRESULT GetPropertyCollection(IContactPropertyCollection** ppPropertyCollection, DWORD dwFlags, LPWSTR pszMultiValueName, DWORD dwLabelCount, LPWSTR* ppszLabels, BOOL fAnyLabelMatches)
ppPropertyCollectionIContactPropertyCollection**out条件に一致するプロパティを列挙する IContactPropertyCollection インターフェイスを受け取るポインタのポインタである。
dwFlagsDWORDin列挙時の動作を制御するフラグを指定する。通常は 0 を指定する。
pszMultiValueNameLPWSTRin列挙対象を絞り込む多値プロパティ名を指定するワイド文字列である。すべてを対象とする場合は NULL を指定する。
dwLabelCountDWORDinppszLabels が指すラベル配列の要素数を指定する。
ppszLabelsLPWSTR*in列挙対象を絞り込むラベル文字列の配列へのポインタである。
fAnyLabelMatchesBOOLinいずれかのラベルが一致すれば対象とする場合に TRUE を、すべてのラベルが一致する場合のみ対象とするなら FALSE を指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IContactProperties "{70DD27DD-5CBD-46E8-BEF0-23B6B346288F}"
#usecom global IContactProperties IID_IContactProperties "{}"
#comfunc global IContactProperties_GetString              3 wstr,int,var,int,var
#comfunc global IContactProperties_GetDate                4 wstr,int,var
#comfunc global IContactProperties_GetBinary              5 wstr,int,var,int,var,sptr
#comfunc global IContactProperties_GetLabels              6 wstr,int,var,int,var
#comfunc global IContactProperties_SetString              7 wstr,int,wstr
#comfunc global IContactProperties_SetDate                8 wstr,int,int
#comfunc global IContactProperties_SetBinary              9 wstr,int,wstr,sptr
#comfunc global IContactProperties_SetLabels              10 wstr,int,int,var
#comfunc global IContactProperties_CreateArrayNode        11 wstr,int,int,var,int,var
#comfunc global IContactProperties_DeleteProperty         12 wstr,int
#comfunc global IContactProperties_DeleteArrayNode        13 wstr,int
#comfunc global IContactProperties_DeleteLabels           14 wstr,int
#comfunc global IContactProperties_GetPropertyCollection  15 sptr,int,wstr,int,var,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。