KsStreamPointerClone, fonction (ks.h)
La fonction KsStreamPointerClone crée un clone d’un pointeur de flux donné.
Syntaxe
KSDDKAPI NTSTATUS KsStreamPointerClone(
[in] PKSSTREAM_POINTER StreamPointer,
[in, optional] PFNKSSTREAMPOINTER CancelCallback,
[in] ULONG ContextSize,
[out] PKSSTREAM_POINTER *CloneStreamPointer
);
Paramètres
[in] StreamPointer
Pointeur vers une structure de KSSTREAM_POINTER représentant le pointeur de flux à cloner.
[in, optional] CancelCallback
facultatif. Pointeur vers une routine AVStrMiniCancelCallback fournie par minidriver. AVStream appelle cette routine si l’IRP associé à CloneStreamPointer est annulé.
[in] ContextSize
Ce paramètre indique le nombre d’octets d’informations de contexte minidriver que le pointeur de flux de clone obtenu doit avoir. Si ce n’est pas zéro, le nombre d’octets demandé est alloué immédiatement après le pointeur de flux retourné, et le champ Contexte de CloneStreamPointer pointe vers la mémoire allouée.
[out] CloneStreamPointer
Pointeur vers un pointeur vers une structure KSSTREAM_POINTER . Une fois l’opération de clonage terminée, CloneStreamPointer contient un pointeur vers l’adresse du pointeur de flux cloné.
Valeur retournée
KsStreamPointerClone retourne soit STATUS_SUCCESS, indiquant que l’opération de clonage s’est terminée normalement, soit un code d’erreur approprié.
Remarques
Le clone résultant fait initialement référence à la même trame de données que le pointeur de flux d’origine et est dans le même état (verrouillé ou déverrouillé). L’ajout d’un pointeur de flux de clone référençant une trame de données incrémente le nombre de références sur cette image particulière. Notez que le cadre en question, et donc l’IRP auquel appartient le cadre, n’est pas terminé tant que le nombre de références n’est pas passé à zéro.
Vous pouvez utiliser le paramètre ContextSize de cet appel pour réduire les appels d’allocation.
Consultez également Stream Pointeurs.
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 | Universal |
En-tête | ks.h (inclure Ks.h) |
Bibliothèque | Ks.lib |
IRQL | <=DISPATCH_LEVEL |