IFaxAccountIncomingArchive
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
FAX クライアント アプリケーションが、特定の FAX アカウントの、正常に受信された受信 FAX メッセージのアーカイブにアクセスするために使用します。このインターフェイスは、メッセージの取得やアーカイブのサイズの取得に使用します。
メソッド 5
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
特定の FAX アカウントの受信 FAX メッセージのアーカイブのサイズ (バイト単位) の下位 32 ビット値を指定します。
| plSizeLow | INT* | out | 受信アーカイブ総サイズの下位32ビットをバイト単位で受け取るINTポインタ。 |
解説(Remarks)
アーカイブのサイズは 4 GB を超える場合があるため、そのサイズは 2 つの long 値で表されます。SizeLow はアーカイブ サイズの下位 32 ビット値、SizeHigh はアーカイブ サイズの上位 32 ビット値です。アーカイブのサイズは次のようになります: SizeLow + 4 GB * SizeHigh。
SizeLow プロパティと SizeHigh プロパティの両方の値が 0xffffffff の場合、これらは無効なアーカイブ サイズを示すため、両方のプロパティ値を無視してください。
このプロパティを読み取るには、ユーザーが far2QUERY_CONFIG アクセス権を持っている必要があります。
特定の FAX アカウントの受信 FAX メッセージのアーカイブのサイズ (バイト単位) の上位 32 ビット値を指定します。
| plSizeHigh | INT* | out | 受信アーカイブ総サイズの上位32ビットをバイト単位で受け取るINTポインタ。 |
解説(Remarks)
アーカイブのサイズは 4 GB を超える場合があるため、そのサイズは 2 つの long 値で表されます。SizeLow はアーカイブ サイズの下位 32 ビット値、SizeHigh はアーカイブ サイズの上位 32 ビット値です。アーカイブのサイズは次のようになります: SizeLow + 4 GB * SizeHigh。
SizeLow プロパティと SizeHigh プロパティの両方の値が 0xffffffff の場合、これらは無効なアーカイブ サイズを示すため、両方のプロパティ値を無視してください。
このプロパティは読み取り専用です。
このプロパティを読み取るには、ユーザーが far2QUERY_CONFIG アクセス権を持っている必要があります。
特定の FAX アカウントの FaxAccountIncomingArchive オブジェクトの情報を、FAX サーバーから最新の状態に更新します。
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
解説(Remarks)
このメソッドを使用するには、ユーザーが far2QUERY_CONFIG アクセス権を持っている必要があります。
特定の FAX アカウントの受信 FAX メッセージのアーカイブに対する新しい反復子 (アーカイブ カーソル) を返します。
| lPrefetchSize | INT | in | プリフェッチ バッファーのサイズを示す long 値です。この値は、反復子オブジェクトが内容を更新する必要があるときに、FAX サーバーから取得する FAX メッセージの数を決定します。既定値は lDEFAULT_PREFETCH_SIZE です。 |
| pFaxIncomingMessageIterator | IFaxIncomingMessageIterator** | out | FaxIncomingMessageIterator オブジェクトです。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
解説(Remarks)
設定 'すべての受信 FAX をすべてのユーザーが表示できる' が true の場合 (IncomingFaxesArePublic を参照)、または far2MANAGE_RECEIVE_FOLDER アクセス権がある場合、FAX サービスは FAX サーバーの受信フォルダーの受信アーカイブ内にあるすべての FAX を列挙します。
FAX メッセージ ID を使用して、特定の FAX アカウントの受信 FAX のアーカイブから FAX メッセージを返します。
| bstrMessageId | LPWSTR | in | 受信 FAX のアーカイブから取得する FAX のメッセージ ID を格納した、null で終わる文字列を指定します。 |
| pFaxIncomingMessage | IFaxIncomingMessage** | out | IFaxIncomingMessage オブジェクトです。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラー コードを返します。
解説(Remarks)
このメソッドを使用するには、ユーザーが far2QUERY_ARCHIVES アクセス権を持っている必要があります。
設定 'すべての受信 FAX をすべてのユーザーが表示できる' が true の場合 (IncomingFaxesArePublic を参照)、または far2MANAGE_RECEIVE_FOLDER アクセス権がある場合、FAX サービスは FAX サーバーの受信フォルダーの受信アーカイブ内にあるすべての FAX を検索します。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IFaxAccountIncomingArchive "{A8A5B6EF-E0D6-4AEE-955C-91625BEC9DB4}" #usecom global IFaxAccountIncomingArchive IID_IFaxAccountIncomingArchive "{}" #comfunc global IFaxAccountIncomingArchive_get_SizeLow 7 var #comfunc global IFaxAccountIncomingArchive_get_SizeHigh 8 var #comfunc global IFaxAccountIncomingArchive_Refresh 9 #comfunc global IFaxAccountIncomingArchive_GetMessages 10 int,sptr #comfunc global IFaxAccountIncomingArchive_GetMessage 11 wstr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IFaxAccountIncomingArchive "{A8A5B6EF-E0D6-4AEE-955C-91625BEC9DB4}" #usecom global IFaxAccountIncomingArchive IID_IFaxAccountIncomingArchive "{}" #comfunc global IFaxAccountIncomingArchive_get_SizeLow 7 sptr #comfunc global IFaxAccountIncomingArchive_get_SizeHigh 8 sptr #comfunc global IFaxAccountIncomingArchive_Refresh 9 #comfunc global IFaxAccountIncomingArchive_GetMessages 10 int,sptr #comfunc global IFaxAccountIncomingArchive_GetMessage 11 wstr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。