IWSDOutboundAttachment::Write メソッド (wsdattachment.h)
MIME コンテナーを使用して、添付ファイル データをリモート ホストに送信します。
構文
HRESULT Write(
[in] const BYTE *pBuffer,
[in] DWORD dwBytesToWrite,
[out] LPDWORD pdwNumberOfBytesWritten
);
パラメーター
[in] pBuffer
出力データを含むバッファーへのポインター。 アプリケーション・プログラムは、このデータ・バッファーの割り振りと解放を担当します。
[in] dwBytesToWrite
pBuffer からリモート ホストに送信するバイト数。
[out] pdwNumberOfBytesWritten
リモート ホストに実際に送信されたデータのバイト数を含む DWORD へのポインター。
戻り値
可能な戻り値には、次のものが含まれますが、これらに限定されません。
リターン コード | 説明 |
---|---|
|
メソッドが正常に完了しました。 |
|
pdwNumberofBytesWritten は NULL です。 |
|
pBuffer は NULL です。 |
|
送信添付ファイル インターフェイスが初期化されていません。 WSDCreateOutboundAttachment を呼び出して、インターフェイスを初期化します。 |
|
内部バッファーを使用できませんでした。 データが受け入れられず、転送のためにキューに入れられました。 |
注釈
Write メソッドを使用すると、アプリケーション プログラムは任意のデータを MIME カプセル化されたメッセージ添付ファイルとしてリモート ホストに送信できます。 Write を最初に呼び出すと、送信添付ファイル ストリームが開き、HTTP ヘッダー、エンベロープ データ、および MIME でエンコードされたアプリケーション データの送信が開始されます。 Write の後続の呼び出しでは、アプリケーションが Close の呼び出しを行うまで、MIME でエンコードされたアプリケーション データの追加ブロックが送信されます。これにより、添付ファイル ストリームが閉じられ、メッセージ エンベロープ データとヘッダーの送信が完了します。
書き込み操作は、いくつかの条件下でブロックされる場合があります。 最初の操作では、 WRITE は HTTP ヘッダーと XML コンテンツが送信されるまでブロックします。 1 つのメッセージで複数の添付ファイルを送信する場合、添付ファイルに対する Write の最初の呼び出しは、以前の添付ファイル ストリームが完全に送信されるまでブロックされる可能性があります。 リモート ホストが応答しない場合、書き込みによって最大 30 秒間 (HTTP 送信タイムアウトあたり) ブロックされる場合があります。
接続の確立またはヘッダーの送信でエラーが発生した場合、 Write はエラー コードを直ちに返します。 データ転送エラーが発生した場合、そのエラーは、書 き込み または 閉じるの今後の呼び出しに遅延する可能性があります。
Write メソッドは、 STG_S_BLOCK を返した 書き込み 試行が 失敗した後に正常に返されることがあります。 後続の成功は、最初の試行が失敗した後に内部バッファーが使用のために解放されたことを示します。 アプリケーションがSTG_S_BLOCK受信した場合、アプリケーションは Write メソッドを使用して同じデータを再送信するか、Abort メソッドを使用してデータ転送を終了できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wsdattachment.h (Wsdapi.h を含む) |
[DLL] | Wsdapi.dll |