IPixGpuCaptureAnalysis::GetBufferBytesFromResourceView 方法

在特定 GPU 事件上讀取緩衝區支援資源檢視的原始位元組。

語法

HRESULT GetBufferBytesFromResourceView(
    IPixResourceView * resourceView,
    const PIX_EVENT_INFO * eventInfo,
    const PIX_GET_BUFFER_BYTES_PARAMETERS * getBufferBytesParameters,
    REFIID riid,
    void ** outputBytes);

參數

resourceView [在]

描述要傳回的位元組的資源檢視。 若要從擷取文件取得資源檢視: 呼叫 GetProgramState (事件) 以取得所選事件的 IPixProgramState ,然後針對 IPixGenericPipeline () GetGpuProgram,然後針對 IPixResourceViewsAtEvent () GetResourceViews,然後針對 IPixResourceView (索引) GetView。

eventInfo [在]

GPU 事件,識別擷取時間軸上要讀取位元組的點。 透過 GetQueues 和 IPixGpuCaptureQueueInfo::GetEvent 從擷取文件的佇列取得事件。 它會識別時間軸中用來擷取資源檢視的相同點。

getBufferBytesParameters [在]

讀取參數 (事件之前與之後的位元組,以及是否要強制重新讀取) 。 選用;當 Null 時,預設值會 (事件發生後立即使用的位元組,而不會強制重新讀取) 。

riid [在]

要返回之物件的介面 IID。 預期: IPixBlob

outputBytes [出]

接收此方法配置並交給呼叫端的新建立 IPixBlob 。 Blob 會涵蓋整個檢視視窗,進入資源 (檢視位移 + 檢視大小) 。

傳回

S_OK成功。 如果 resourceView 或 eventInfo 為 null,則E_POINTER。 如果 riid 未IID_IPixBlob E_NOINTERFACE。 E_INVALIDARG不合格的檢視類型、呼叫者實作或外部文件檢視、未知事件或沒有父命令清單的事件。 E_PIX_ANALYSIS_NOT_RUNNING目前是否正在執行分析。 E_PIX_BUFFER_VIEW_SIZEINBYTES_IS_ZERO如果 resourceView 是頂點緩衝區、索引緩衝區、資料流輸出或常數緩衝區檢視,其 SizeInBytes 為零,這會解決未傳回的位元組。

註解

警告

resourceView 必須是緩衝區合格的檢視;傳遞非緩衝區檢視會傳回E_INVALIDARG。

警告

resourceView 必須是此分析執行個體的 PIX 建立檢視;傳遞非 PIX 檢視會傳回E_INVALIDARG。

另請參閱