Metodo IMFASFContentInfo::P arseHeader (wmcontainer.h)
Analizza le informazioni in un'intestazione ASF e usa tali informazioni per impostare i valori nell'oggetto ContentInfo. È possibile passare l'intera intestazione in un singolo buffer o inviarla in diverse parti.
Sintassi
HRESULT ParseHeader(
[in] IMFMediaBuffer *pIHeaderBuffer,
[in] QWORD cbOffsetWithinHeader
);
Parametri
[in] pIHeaderBuffer
Puntatore all'interfaccia IMFMediaBuffer di un oggetto buffer contenente alcune o tutte le intestazioni. Il buffer deve contenere almeno 30 byte, ovvero le dimensioni dell'oggetto Intestazione, non inclusi gli oggetti contenuti nell'oggetto Intestazione, ovvero tutto fino a e includere il campo Riservato2 nell'oggetto Intestazione.
[in] cbOffsetWithinHeader
Offset, in byte, del primo byte nel buffer rispetto all'inizio dell'intestazione.
Valore restituito
Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
L'intestazione è completamente analizzata e convalidata. |
|
Il buffer di input non contiene dati ASF validi. |
|
Il buffer di input è troppo piccolo. |
|
Il metodo ha avuto esito positivo, ma l'intestazione passata è stata incompleta. Si tratta del codice restituito correttamente per tutte le chiamate, ma l'ultimo quando si passa l'intestazione in parti. |
Commenti
Se si passa l'intestazione in parti, l'oggetto ContentInfo mantiene i riferimenti agli oggetti buffer finché non viene analizzata l'intera intestazione. Pertanto, non scrivere nei buffer passati in questo metodo.
L'inizio dell'oggetto Header ha il layout seguente in memoria:
Nome campo | Dimensioni in byte |
---|---|
ID dell'oggetto. | 16 |
Dimensioni oggetto | 8 |
Numero di oggetti intestazione | 4 |
Reserved1 | 1 |
Reserved2 | 1 |
La prima chiamata a ParseHeader legge tutto fino a e include Rerserved2, quindi richiede un minimo di 30 byte. Si noti che il metodo IMFASFContentInfo::GetHeaderSize legge solo i campi Id oggetto e Dimensione oggetto, in modo che il metodo richieda un minimo di 24 byte.
Requisiti
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wmcontainer.h |
Libreria | Mfuuid.lib |
Vedi anche
Inizializzazione dell'oggetto ContentInfo di un nuovo file ASF