IDirect3DVolume9::SetPrivateData 方法 (d3d9helper.h)
將數據與應用程式所要使用的磁碟區產生關聯,而不是由 Direct3D 使用。
語法
HRESULT SetPrivateData(
[in] REFGUID refguid,
[in] const void *pData,
[in] DWORD SizeOfData,
[in] DWORD Flags
);
參數
[in] refguid
類型: REFGUID
識別要設定之私用數據之全域唯一標識符的參考。
[in] pData
類型: const void*
緩衝區的指標,其中包含要與磁碟區相關聯的數據。
[in] SizeOfData
類型: DWORD
以位元組為單位的 pData 緩衝區大小。
[in] Flags
類型: DWORD
值,描述要傳遞的數據類型,或表示應用程式在資源變更時應該使數據失效。
項目 | 描述 |
---|---|
(無) | 如果未指定任何旗標,Direct3D 會配置記憶體來保存緩衝區內的數據,並將數據複製到新的緩衝區。 Direct3D 配置的緩衝區會視需要自動釋放。 |
D3DSPD_IUNKNOWN | pData 上的數據是 IUnknown 介面的指標。 SizeOfData 必須設定為 IUnknown 介面的指標大小,sizeof (IUnknown*) 。 Direct3D 會在損毀私人數據時,透過 pData 和 IUnknown 自動呼叫 IUnknown 。 後續呼叫 IDirect3DVolume9::SetPrivateData 與相同的 GUID、後續對 IDirect3DVolume9::FreePrivateData 的呼叫,或釋放 IDirect3D9 物件時,將會終結私人數據。 如需詳細資訊,請參閱<備註>。 |
傳回值
類型: HRESULT
如果方法成功,傳回值會D3D_OK。 如果方法失敗,傳回值可以是下列其中一項:D3DERR_INVALIDCALL,E_OUTOFMEMORY。
備註
Direct3D 不會管理 pData 上的記憶體。 如果動態配置此緩衝區,則呼叫端應用程式必須負責釋放記憶體。
數據會以傳值方式傳遞,而且多個數據集可以與單一磁碟區相關聯。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d9helper.h (包含 D3D9.h) |
程式庫 | D3D9.lib |