Partager via


Fonction de rappel PFNKSPININITIALIZEALLOCATOR (ks.h)

La routine AVStrMiniInitializeAllocator d’un minidriver AVStream initialise un allocator qui sera associé à une broche.

Syntaxe

PFNKSPININITIALIZEALLOCATOR Pfnkspininitializeallocator;

NTSTATUS Pfnkspininitializeallocator(
  [in]  PKSPIN Pin,
  [in]  PKSALLOCATOR_FRAMING AllocatorFraming,
  [out] PVOID *Context
)
{...}

Paramètres

[in] Pin

Pointeur vers une structure KSPIN décrivant la broche à laquelle l’allocateur doit être associé.

[in] AllocatorFraming

Pointeur vers une structure KSALLOCATOR_FRAMING décrivant les exigences de cadrage que l’allocateur doit utiliser.

[out] Context

Pointeur vers un contexte pour l’allocateur qui sera passé en tant que paramètre aux autres routines de cette structure. Par exemple, le pilote peut stocker les structures de cadrage de broche ou d’allocateur pour une référence ultérieure par les autres routines de rappel. Notez que les autres routines pour KSALLOCATOR_DISPATCH doivent avoir au moins un moyen indirect de référencer Pin. (Par instance, AVStrMiniAllocate doit être en mesure d’accéder aux informations AllocatorFraming pour Épingler, et Context est le seul paramètre auquel AVStream passera.)

Valeur retournée

AVStrMiniInitializeAllocator doit retourner STATUS_SUCCESS ou le code d’erreur qu’il a reçu lors de la tentative de création de l’allocateur.

Remarques

Le minidriver spécifie l’adresse de cette routine dans le membre InitializeAllocator de sa structure KSALLOCATOR_DISPATCH . Le minidriver transmet cette structure au pilote de classe dans KSPIN_DISPATCH.

Notez que les répartiteurs en mode noyau ne peuvent pas allouer de trames qui pourraient éventuellement atteindre le mode utilisateur.

AVStream appelle AVStrMiniInitializeAllocator pour initialiser l’allocateur donné. Le gestionnaire de cette routine doit se préparer à gérer l’allocation de mémoire et les demandes gratuites.

Pour plus d’informations, consultez Allocators KS.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Microsoft Windows XP et les systèmes d’exploitation ultérieurs et DirectX 8.0 et versions ultérieures de DirectX.
Plateforme cible Desktop (Expérience utilisateur)
En-tête ks.h (inclure Ks.h)

Voir aussi

AVStrMiniDeleteAllocator

KSALLOCATOR_DISPATCH

KSALLOCATOR_FRAMING

KSPIN

KSPIN_DISPATCH