IByteBuffer::Write 方法
[ Write 方法可用於需求一節中指定的作業系統。 它不適用於 Windows Server 2003 service Pack 1 (SP1) 及更新版本、Windows Vista、Windows Server 2008 和後續版本的作業系統。 IStream介面提供類似的功能。
Write方法會將指定的數位從位元組寫入資料流程物件,從目前的搜尋指標開始。
語法
HRESULT Write(
[in] BYTE *pByte,
[in] LONG cb,
[out] LONG *pcbWritten
);
參數
-
pByte [in]
-
緩衝區的位址,其中包含要寫入資料流程的資料。 即使 cb 為零,也必須為此參數提供有效的指標。
-
cb [in]
-
要嘗試寫入資料流程的資料位元組數目。 此參數可以是零。
-
wwwWritten [out]
-
LONG變數的位址,這個方法會將寫入資料流程物件的實際位元組數目寫入其中。 呼叫端可以將這個指標設定為 Null,在此情況下,此方法不會提供寫入的實際位元組數目。
傳回值
傳回值為 HRESULT。 值S_OK表示呼叫成功。
備註
IByteBuffer::Write方法會將指定的資料寫入資料流程物件。 搜尋指標會針對實際寫入的位元組數目進行調整。 實際寫入的位元組數目會傳回 于 wwwWritten 參數中。 如果位元組計數為零位元組,寫入作業就不會有任何作用。
如果搜尋指標目前超過資料流程結尾,且位元組計數為非零,這個方法會將資料流程的大小增加至搜尋指標,並寫入從搜尋指標開始的指定位元組。 寫入資料流程的填滿位元組不會初始化為任何特定值。 這與 MS-DOS FAT 檔案系統中的檔案結束行為相同。
在零位元組計數和超過資料流程結尾的搜尋指標時,這個方法不會建立填滿位元組,以將資料流程增加至搜尋指標。 在此情況下,您必須呼叫 IByteBuffer::SetSize 方法來增加資料流程的大小,並寫入填滿位元組。
即使發生錯誤, 也可能會有一 個值。
在 COM 提供的實作中,資料流程物件不是疏鬆的。 任何填滿位元組最終會在磁片上配置,並指派給資料流程。
範例
下列範例顯示將位元組寫入資料流程物件。
LONG lWrite;
HRESULT hr;
// Write to the buffer.
// byData is an array of 64 bytes.
hr = pIByteBuff->Write(byData,
64,
&lWrite);
if (FAILED(hr))
printf("Failed IByteBuffer::Write\n");
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2003 [僅限傳統型應用程式] |
用戶端支援結束 |
Windows XP |
伺服器終止支援 |
Windows Server 2003 |
標頭 |
|
類型程式庫 |
|
DLL |
|
IID |
IID_IByteBuffer定義為 E126F8FE-A7AF-11D0-B88A-00C04FD424B9 |