OpenTnefStream
適用対象: Outlook 2013 | Outlook 2016
MAPI トランスポートニュートラル カプセル化形式 (TNEF) セッションを開始するためにトランスポート プロバイダーによって呼び出されます。
プロパティ | 値 |
---|---|
ヘッダー ファイル: |
Tnef.h |
実装元: |
MAPI |
呼び出し元: |
トランスポート プロバイダー |
HRESULT OpenTnefStream(
LPVOID lpvSupport,
LPSTREAM lpStream,
LPSTR lpszStreamName,
ULONG ulFlags,
LPMESSAGE lpMessage,
WORD wKey,
LPITNEF FAR * lppTNEF
);
パラメーター
lpvSupport
[in]サポート オブジェクトを渡すか、NULL を渡します。
lpStream
[in]TNEF ストリーム メッセージのソースまたは宛先を提供するストレージ ストリーム オブジェクト OLE IStream インターフェイスへのポインター。
lpszStreamName
[in]TNEF オブジェクトが使用するデータ ストリームの名前へのポインター。 呼び出し元が OpenTnefStream の呼び出しで TNEF_ENCODE フラグ (ulFlags パラメーター) を設定した場合、lpszName パラメーターは、ファイルの名前付けに有効と見なされる文字で構成される null 以外の文字列への null 以外のポインターを指定する必要があります。 MAPI では、ファイル システムで使用が許可されている場合でも、文字 "["、"]"、または ":"を含む文字列名は許可されません。 lpszName に渡される文字列のサイズは、パス名を含む文字列の最大長であるMAX_PATHの値を超えてはなりません。
ulFlags
[in]関数のモードを示すために使用されるフラグのビットマスク。 次のフラグを設定できます。
TNEF_BEST_DATA
可能なすべてのプロパティはダウンレベルの属性にマップされますが、ダウンレベル属性への変換によってデータが失われる可能性がある場合は、プロパティもカプセル化でエンコードされます。 これにより、TNEF ストリーム内の情報が重複する可能性があることに注意してください。 TNEF_BEST_DATAは、他のモードが指定されていない場合の既定値です。
TNEF_COMPATIBILITY
古いクライアント アプリケーションとの下位互換性を提供します。 このフラグでエンコードされた TNEF ストリームは、使用可能なすべてのプロパティを対応するダウンレベル属性にマップします。 このモードでは、下位レベルのクライアントに必要な一部のプロパティの既定値も発生します。
注意
このフラグは廃止されており、使用しないでください。
TNEF_DECODE
指定されたストリームの TNEF オブジェクトは、読み取り専用アクセスで開かれます。 トランスポート プロバイダーは、関数が後続のデコードのためにオブジェクトを初期化する場合は、このフラグを設定する必要があります。
TNEF_ENCODE
指定されたストリーム上の TNEF オブジェクトは、読み取り/書き込みアクセス許可のために開かれます。 トランスポート プロバイダーは、関数が後続のエンコードのためにオブジェクトを初期化する場合に、このフラグを設定する必要があります。
TNEF_PURE
MAPI カプセル化ブロックにすべてのプロパティをエンコードします。 したがって、"純粋" TNEF ファイルは、attMAPIProps、attAttachment、attRenddata、attRecipTable で構成されます。 このモードは、下位互換性が必要ない場合に使用するのに最適です。
lpMessage
[in]添付ファイルを含むデコードされたメッセージの宛先、または添付ファイルを含むエンコードされたメッセージのソースとしてのメッセージ オブジェクトへのポインター。 宛先メッセージのプロパティは、エンコードされたメッセージのプロパティによって上書きされる可能性があります。
wKey
[in]メッセージ テキストに挿入されたテキスト タグに添付ファイルを照合するために TNEF オブジェクトが使用する検索キー。 この値は、メッセージ間で比較的一意である必要があります。
lppTNEF
[out]新しい TNEF オブジェクトへのポインター。
戻り値
S_OK
�ʘb���������A�\�������l�܂��͒l���Ԃ���܂��B
注釈
OpenTnefStream 関数によって作成された TNEF オブジェクトは、後で OLE メソッド IUnknown::AddRef を呼び出して、サポート オブジェクト、ストリーム オブジェクト、およびメッセージ オブジェクトの参照を追加します。 トランスポート プロバイダーは、TNEF オブジェクトの OLE メソッド IUnknown::Release を 1 回呼び出して、3 つすべてのオブジェクトの参照を解放できます。
OpenTnefStream は、MAPI メッセージ IMessage インターフェイスを TNEF ストリーム メッセージにエンコードする際に使用するプロバイダーの TNEF オブジェクト ITnef インターフェイスを割り当てて初期化します。 または、関数は、 ITnef::ExtractProps への後続の呼び出しで使用するプロバイダーのオブジェクトを設定して、TNEF ストリーム メッセージを MAPI メッセージにデコードすることもできます。 TNEF オブジェクトを解放してセッションを閉じるには、トランスポート プロバイダーがオブジェクトで継承された IUnknown::Release メソッドを呼び出す必要があります。
この関数は TNEF アクセスの元のエントリ ポイントであり、 OpenTnefStreamEx に置き換えられましたが、TNEF を既に使用している場合の互換性のために引き続き使用されます。