IStream::SetSize 方法 (objidl.h)
SetSize方法會變更資料流程物件的大小。
語法
HRESULT SetSize(
[in] ULARGE_INTEGER libNewSize
);
參數
[in] libNewSize
指定資料流程的新大小,以位元組為單位。
傳回值
這個方法可以傳回其中一個值。
傳回碼 | 描述 |
---|---|
S_OK | 資料流程物件的大小已成功變更。 |
E_PENDING | 僅限非同步儲存體:目前無法使用部分或所有資料流程的資料。 |
STG_E_MEDIUMFULL | 資料流程大小不會變更,因為儲存裝置上沒有剩餘的空間。 |
STG_E_INVALIDFUNCTION | 實作不支援 libNewSize 參數的值。 並非所有資料流程都支援大於 232 個位元組。 如果資料流程不支援超過 232 個位元組, libNewSize 的高 DWORD 資料類型必須是零。 如果不是零,實作可能會傳回STG_E_INVALIDFUNCTION。 一般而言,IStream 介面的 COM 型實作不支援大於 232 個位元組的資料流程。 |
STG_E_REVERTED | 物件已因交易樹狀結構中上方的還原作業而失效。 |
備註
IStream::SetSize 會變更資料流程物件的大小。 呼叫這個方法以預先配置資料流程的空間。 如果 libNewSize 參數大於目前的資料流程大小,則資料流程會填入未定義值的位元組來填滿間隔空間,以擴充至指示的大小。 如果搜尋指標超過資料流程的目前結尾,此作業類似于 ISequentialStream::Write 方法。
如果 libNewSize 參數小於目前的資料流程,資料流程就會截斷為指定的大小。
搜尋指標不會受到資料流程大小變更的影響。
呼叫 IStream::SetSize 是取得大量連續空間的有效方式。
需求
最低支援的用戶端 | Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows 2000 Server [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | objidl.h |
程式庫 | Uuid.lib |
Dll | Ole32.dll |