IPhotoAcquireOptionsDialog
COM公式ドキュメント
IPhotoAcquireOptionsDialog インターフェイスは、ファイル名の形式などの写真取得設定に加え、画像を回転するかどうか、タグ名の入力を求めるかどうか、取り込み後にカメラから写真を消去するかどうかを、ユーザーが選択できるオプションダイアログボックスを表示するために使用します。
メソッド 5
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
オプションダイアログボックスを初期化し、レジストリから保存済みのオプションを読み込みます。
| pszRegistryRoot | LPWSTR | inoptional | (省略可能)取得設定の読み込み元となるカスタムな場所のレジストリルートを含む、null で終わる文字列へのポインター。このパラメーターに NULL を設定した場合は、既定の場所が使用されます。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。
| リターンコード | 説明 |
|---|---|
| メソッドが成功しました。 |
解説(Remarks)
Initialize は、Create または DoModal を呼び出す前に呼び出す必要があります。これを行わないと、Create または DoModal が失敗します。
オプションダイアログボックスが既に表示されている状態で Initialize を呼び出すと、エラーが返されます。
Create メソッドは、写真オプションダイアログボックスのモードレスなインスタンスを作成し、親ウィンドウ内でホストして表示します。
| hWndParent | HWND | in | 親ウィンドウのハンドル。 |
| phWndDialog | HWND* | out | 作成されたダイアログボックスを指定します。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。
| リターンコード | 説明 |
|---|---|
| メソッドが成功しました。 |
解説(Remarks)
Create メソッドの前に Initialize メソッドを呼び出す必要があります。
hWndParent で示される親ウィンドウが、新しいダイアログボックスのインスタンスに OK ボタンと キャンセル ボタンを提供します。
Destroy メソッドは、Create メソッドで作成したモードレスダイアログボックスを閉じて破棄します。
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。
| リターンコード | 説明 |
|---|---|
| メソッドが成功しました。 |
解説(Remarks)
親ウィンドウを破棄すると、子ウィンドウも自動的に破棄されます。
DoModal メソッドは、オプションダイアログボックスをモーダルダイアログボックスとして作成し、表示します。
| hWndParent | HWND | in | ダイアログの親ウィンドウのハンドル。 |
| ppnReturnCode | INT_PTR* | inoutoptional | ウィンドウが閉じられたときに返されるコードを指定します。 |
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。
| リターンコード | 説明 |
|---|---|
| メソッドが成功しました。 |
解説(Remarks)
DoModal で表示されるモーダルダイアログには OK ボタンと キャンセル ボタンが用意されますが、Create で表示されるモードレスダイアログの OK ボタンと キャンセル ボタンは、親ウィンドウが用意する必要があります。
SaveData メソッドは、オプションダイアログボックスの取得設定をレジストリに保存し、以降のダイアログのインスタンスを同じ設定で初期化できるようにします。
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。
| リターンコード | 説明 |
|---|---|
| メソッドが成功しました。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IPhotoAcquireOptionsDialog "{00F2B3EE-BF64-47EE-89F4-4DEDD79643F2}" #usecom global IPhotoAcquireOptionsDialog IID_IPhotoAcquireOptionsDialog "{00F210A1-62F0-438B-9F7E-9618D72A1831}" #comfunc global IPhotoAcquireOptionsDialog_Initialize 3 wstr #comfunc global IPhotoAcquireOptionsDialog_Create 4 sptr,sptr #comfunc global IPhotoAcquireOptionsDialog_Destroy 5 #comfunc global IPhotoAcquireOptionsDialog_DoModal 6 sptr,var #comfunc global IPhotoAcquireOptionsDialog_SaveData 7 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IPhotoAcquireOptionsDialog "{00F2B3EE-BF64-47EE-89F4-4DEDD79643F2}" #usecom global IPhotoAcquireOptionsDialog IID_IPhotoAcquireOptionsDialog "{00F210A1-62F0-438B-9F7E-9618D72A1831}" #comfunc global IPhotoAcquireOptionsDialog_Initialize 3 wstr #comfunc global IPhotoAcquireOptionsDialog_Create 4 sptr,sptr #comfunc global IPhotoAcquireOptionsDialog_Destroy 5 #comfunc global IPhotoAcquireOptionsDialog_DoModal 6 sptr,sptr #comfunc global IPhotoAcquireOptionsDialog_SaveData 7 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。