Win32 API 日本語リファレンス
ホームData.HtmlHelp › IITPropList

IITPropList

COM
IID1f403bb1-9997-11d0-a850-00aa006c7d01継承元IPersistStreamInit自前メソッド開始 vtbl9

公式ドキュメント

このインターフェイスは、ワードホイールやインデックスなどのビルドオブジェクトのプロパティを設定するために使用します。ドキュメントのビルド処理中にこれらのメソッドを呼び出して、すべてのビルドオブジェクトのプロパティを定義します。

メソッド 18

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

vtbl 9 HRESULT Set(DWORD PropID, LPWSTR lpszwString, DWORD dwOperation)
PropIDDWORDin設定するプロパティを識別する ID である。
lpszwStringLPWSTRin設定する文字列値を示す NULL 終端ワイド文字列である。
dwOperationDWORDin追加・置換などの設定操作を指定するフラグである。
vtbl 10 HRESULT Set(DWORD PropID, void* lpvData, DWORD cbData, DWORD dwOperation)
PropIDDWORDin設定するプロパティを識別する ID である。
lpvDatavoid*inout設定するバイナリデータへのポインタである。
cbDataDWORDinlpvData が指すデータのバイトサイズである。
dwOperationDWORDin追加・置換などの設定操作を指定するフラグである。
vtbl 11 HRESULT Set(DWORD PropID, DWORD dwData, DWORD dwOperation)
PropIDDWORDin設定するプロパティを識別する ID である。
dwDataDWORDin設定する数値プロパティ値である。
dwOperationDWORDin追加・置換などの設定操作を指定するフラグである。
vtbl 12 HRESULT Add(CProperty* Prop)
PropCProperty*inoutリストへ追加するプロパティを表す CProperty オブジェクトへのポインタである。
vtbl 13 HRESULT Get(DWORD PropID, CProperty* Property)

指定したプロパティ ID に関連付けられたプロパティオブジェクトを返します。

PropIDDWORDin取得するプロパティオブジェクトの ID。
PropertyCProperty*inout返されるプロパティオブジェクト。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

戻り値 説明
S_OK
プロパティが正常に返されました。
E_NOTEXIST
要求されたプロパティは存在しません。
vtbl 14 HRESULT Clear()

プロパティリストに関連付けられたメモリを解放し、リストを再初期化します。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

戻り値 説明
S_OK
プロパティリストがクリアされました。

解説(Remarks)

プロパティリストを再利用する前に破棄する必要なくクリアするには、このメソッドを呼び出します。

vtbl 15 HRESULT SetPersist(BOOL fPersist)
fPersistBOOLinTRUE で永続化対象とし、FALSE で対象外とする真偽値である。
vtbl 16 HRESULT SetPersist(DWORD PropID, BOOL fPersist)
PropIDDWORDin永続化属性を設定する個別プロパティの ID である。
fPersistBOOLinTRUE で永続化対象とし、FALSE で対象外とする真偽値である。
vtbl 17 HRESULT GetFirst(CProperty* Property)

プロパティリスト内の最初のプロパティオブジェクトを返します。

PropertyCProperty*inout返されるプロパティオブジェクト。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

戻り値 説明
S_OK
プロパティが正常に返されました。
E_NOTEXIST
要求されたプロパティは存在しません。
vtbl 18 HRESULT GetNext(CProperty* Property)
PropertyCProperty*inout列挙の次のプロパティを受け取る CProperty オブジェクトへのポインタである。
vtbl 19 HRESULT GetPropCount(INT* cProp)
cPropINT*inoutリスト内のプロパティ数を受け取る出力ポインタである。
vtbl 20 HRESULT SaveHeader(void* lpvData, DWORD dwHdrSize)

プロパティリストからプロパティ ID とデータ型をバッファーに保存します。永続化状態が TRUE に設定されたプロパティのみを保存します。

lpvDatavoid*inout格納先バッファーへのポインター。
dwHdrSizeDWORDinバッファーのサイズ。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

戻り値 説明
S_OK
プロパティリストが正常に保存されました。

解説(Remarks)

プロパティリストを格納できる十分な大きさのバッファーを渡してください。渡すバッファーのサイズを求めるには、IITPropList::GetHeaderSize を使用します。

vtbl 21 HRESULT SaveData(void* lpvHeader, DWORD dwHdrSize, void* lpvData, DWORD dwBufSize)

プロパティリストからデータサイズとデータをバッファーに保存します。

lpvHeadervoid*inoutヘッダーを格納しているバッファーへのポインター。
dwHdrSizeDWORDinヘッダーを格納しているバッファーのサイズ。
lpvDatavoid*inout格納先バッファーへのポインター。
dwBufSizeDWORDin格納先バッファーのサイズ。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

戻り値 説明
S_OK
プロパティリストが正常に保存されました。

解説(Remarks)

プロパティリストを格納できる十分な大きさのバッファーを渡してください。渡すバッファーのサイズを求めるには、IITPropList::GetDataSize を使用します。

vtbl 22 HRESULT GetHeaderSize(DWORD* dwHdrSize)

ヘッダーの保存に必要なバイト数を返します。

dwHdrSizeDWORD*inoutサイズ (バイト単位)。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

戻り値 説明
S_OK
サイズが正常に返されました。
vtbl 23 HRESULT GetDataSize(void* lpvHeader, DWORD dwHdrSize, DWORD* dwDataSize)

プロパティデータの保存に必要なバイト数を返します。

lpvHeadervoid*inoutヘッダーを格納しているバッファーへのポインター。
dwHdrSizeDWORDinヘッダーバッファーのサイズ。
dwDataSizeDWORD*inoutサイズ (バイト単位)。

戻り値

このメソッドは次のいずれかの値を返すことがあります。

戻り値 説明
S_OK
サイズが正常に返されました。
E_INVALIDARG
lpvHeader パラメーターが NULL であるか、dwHdrSize が小さすぎます。
E_BADVALUE
無効なヘッダーバッファーです。
vtbl 24 HRESULT SaveDataToStream(void* lpvHeader, DWORD dwHdrSize, IStream* pStream)
lpvHeadervoid*inout対応するヘッダーデータへのポインタである。
dwHdrSizeDWORDinlpvHeader が指すヘッダーのバイトサイズである。
pStreamIStream*inデータを書き出す対象の IStream である。
vtbl 25 HRESULT LoadFromMem(void* lpvData, DWORD dwBufSize)
lpvDatavoid*inoutプロパティリストを復元する元データへのポインタである。
dwBufSizeDWORDinlpvData が指すデータのバイトサイズである。
vtbl 26 HRESULT SaveToMem(void* lpvData, DWORD dwBufSize)
lpvDatavoid*inoutプロパティリストを書き出す出力バッファへのポインタである。
dwBufSizeDWORDinlpvData バッファのバイトサイズである。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

出力引数:
#define global IID_IITPropList "{1F403BB1-9997-11D0-A850-00AA006C7D01}"
#usecom global IITPropList IID_IITPropList "{}"
#comfunc global IITPropList_Set               9 int,wstr,int
#comfunc global IITPropList_Set               10 int,sptr,int,int
#comfunc global IITPropList_Set               11 int,int,int
#comfunc global IITPropList_Add               12 var
#comfunc global IITPropList_Get               13 int,var
#comfunc global IITPropList_Clear             14
#comfunc global IITPropList_SetPersist        15 int
#comfunc global IITPropList_SetPersist        16 int,int
#comfunc global IITPropList_GetFirst          17 var
#comfunc global IITPropList_GetNext           18 var
#comfunc global IITPropList_GetPropCount      19 var
#comfunc global IITPropList_SaveHeader        20 sptr,int
#comfunc global IITPropList_SaveData          21 sptr,int,sptr,int
#comfunc global IITPropList_GetHeaderSize     22 var
#comfunc global IITPropList_GetDataSize       23 sptr,int,var
#comfunc global IITPropList_SaveDataToStream  24 sptr,int,sptr
#comfunc global IITPropList_LoadFromMem       25 sptr,int
#comfunc global IITPropList_SaveToMem         26 sptr,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。