Partager via


Méthode ICaptureGraphBuilder2 ::AllocCapFile (strmif.h)

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

La AllocCapFile méthode préalloue un fichier de capture à une taille spécifiée. Pour de meilleurs résultats, capturez toujours dans un fichier de capture défragmenté et préalloué qui dépasse la taille des données de capture.

Syntaxe

HRESULT AllocCapFile(
  [in] LPCOLESTR lpstr,
  [in] DWORDLONG dwlSize
);

Paramètres

[in] lpstr

Pointeur vers une chaîne de caractères larges qui contient le nom du fichier à créer ou à redimensionner.

[in] dwlSize

Taille du fichier à allouer, en octets.

Valeur retournée

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Cette méthode échoue si le fichier est en lecture seule.

Il est préférable d’allouer autant d’espace que possible, dans l’idéal, plus que nécessaire. Toutefois, cela peut entraîner un fichier très volumineux qui contient relativement peu de données. Par exemple, un fichier de capture de 1 gigaoctet (Go) peut contenir quelques mégaoctets de vidéo capturée. Utilisez la méthode ICaptureGraphBuilder2 ::CopyCaptureFile pour copier les données dans un nouveau fichier. Cette méthode copie uniquement les données et ignore la partie vide du fichier d’origine.

Si vous utilisez cette méthode pour préallouer le fichier, appelez IFileSinkFilter2 ::SetMode sur le filtre de l’enregistreur de fichiers avec la valeur zéro. Si le filtre est défini sur AM_FILE_OVERWRITE, il supprime le fichier préalloué. Notez que certains filtres d’enregistreur de fichiers ne prennent pas en charge le mode 0.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête strmif.h (include Dshow.h)
Bibliothèque Strmiids.lib

Voir aussi

Codes d’erreur et de réussite

ICaptureGraphBuilder2, interface