ISampleGrabber :: GetCurrentBuffer, méthode
Notes
[Déconseillé. Cette API peut être supprimée des futures versions de Windows.]
La méthode GetCurrentBuffer récupère une copie de la mémoire tampon associée à l’exemple le plus récent.
Syntaxe
HRESULT GetCurrentBuffer(
[in, out] long *pBufferSize,
[out] long *pBuffer
);
Paramètres
-
pBufferSize [ in, out]
-
Pointeur vers la taille de la mémoire tampon. Si pbuffer a la valeur null, ce paramètre reçoit la taille de mémoire tampon requise, en octets. Si pbuffer n’a pas la valeur null, définissez ce paramètre sur la taille de la mémoire tampon, en octets. Lors de la sortie, le paramètre reçoit le nombre d’octets qui ont été copiés dans la mémoire tampon. Cette valeur peut être inférieure à la taille de la mémoire tampon.
-
pbuffer [ à]
-
Pointeur vers un tableau d’octets de taille pBufferSize ou null. Si ce paramètre n’est pas null, la mémoire tampon en cours est copiée dans le tableau. Si ce paramètre a la valeur null, le paramètre pBufferSize reçoit la taille de mémoire tampon requise.
Valeur de retour
Retourne l’une des valeurs suivantes.
| Code de retour | Description |
|---|---|
|
Les exemples ne sont pas mis en mémoire tampon. Appelez ISampleGrabber :: SetBufferSamples. |
|
La mémoire tampon spécifiée n’est pas assez grande. |
|
Argument de pointeur null . |
|
Réussite. |
|
Le filtre n’est pas connecté. |
|
Le filtre n’a pas encore reçu d’exemples. Pour remettre un exemple, exécutez ou suspendez le graphique. |
Notes
Pour activer la mise en mémoire tampon, appelez ISampleGrabber :: SetBufferSamples avec la valeur true.
Appelez cette méthode deux fois. Lors du premier appel, affectez à pbuffer la valeur null. La taille de la mémoire tampon est retournée dans pBufferSize. Allouez ensuite un tableau et rappelez la méthode. Lors du deuxième appel, transmettez la taille du tableau dans pBufferSize et transmettez l’adresse du tableau dans pbuffer. Si le tableau n’est pas assez grand, la méthode retourne E _ OUTOFMEMORY.
Le paramètre pbuffer est typé comme pointeur long , mais le contenu de la mémoire tampon dépend du format des données. Appelez ISampleGrabber :: GetConnectedMediaType pour accéder au type de média du format.
N’appelez pas cette méthode pendant que le graphique de filtre est en cours d’exécution. Lorsque le graphique de filtre est en cours d’exécution, le filtre d’accrochage remplace le contenu de la mémoire tampon à chaque fois qu’il reçoit un nouvel exemple. La meilleure façon d’utiliser cette méthode consiste à utiliser le « mode à une seule capture », qui arrête le graphique après avoir reçu le premier exemple. Pour définir le mode d’une seule capture, appelez ISampleGrabber :: SetOneShot.
Le filtre ne met pas en mémoire tampon des exemples de préroll, ou des exemples dans lesquels le membre dwStreamId de la structure de _ _ Propriétés am SAMPLE2 est autre chose que le _ média de flux _ .
Notes
Le fichier d’en-tête qedit. h n’est pas compatible avec les en-têtes Direct3D ultérieurs à la version 7.
Notes
pour obtenir Qedit. h, téléchargez la mise à jour Microsoft Windows SDK pour Windows Vista et .NET Framework 3,0. Qedit. h n’est pas disponible dans le Microsoft Windows SDK pour Windows 7 et .NET Framework 3,5 Service Pack 1.
Spécifications
| Condition requise | Valeur |
|---|---|
| En-tête |
|
| Bibliothèque |
|