Partager via


KSPIN_DISPATCH structure (ks.h)

La structure KSPIN_DISPATCH décrit les rappels auxquels les clients peuvent s’inscrire afin de recevoir une notification d’événements d’épingle.

Syntaxe

typedef struct _KSPIN_DISPATCH {
  PFNKSPINIRP                Create;
  PFNKSPINIRP                Close;
  PFNKSPIN                   Process;
  PFNKSPINVOID               Reset;
  PFNKSPINSETDATAFORMAT      SetDataFormat;
  PFNKSPINSETDEVICESTATE     SetDeviceState;
  PFNKSPIN                   Connect;
  PFNKSPINVOID               Disconnect;
  const KSCLOCK_DISPATCH     *Clock;
  const KSALLOCATOR_DISPATCH *Allocator;
} KSPIN_DISPATCH, *PKSPIN_DISPATCH;

Membres

Create

Pointeur vers une routine de rappel AVStrMiniPinCreate fournie par minidriver. facultatif. Peut être NULL.

Close

Pointeur vers une routine de rappel AVStrMiniPinClose fournie par minidriver. facultatif. Peut être NULL.

Process

Pointeur vers une routine de rappel AVStrMiniPinProcess fournie par minidriver. facultatif. Peut être NULL.

Reset

Pointeur vers une routine de rappel AVStrMiniPinReset fournie par minidriver. facultatif. Peut être NULL.

SetDataFormat

Pointeur vers une routine de rappel AVStrMiniPinSetDataFormat fournie par minidriver. facultatif. Peut être NULL.

SetDeviceState

Pointeur vers une routine de rappel AVStrMiniPinSetDeviceState fournie par minidriver. facultatif. Peut être NULL.

Connect

Pointeur vers une routine de rappel AVStrMiniPinConnect fournie par minidriver. facultatif. Peut être NULL.

Disconnect

Pointeur vers une routine de rappel AVStrMiniPinDisconnect fournie par minidriver. facultatif. Peut être NULL.

Clock

Pointeur vers une structure KSCLOCK_DISPATCH . Spécifiez ce membre pour une broche qui expose une horloge. facultatif. Peut être NULL.

Allocator

Pointeur vers une structure KSALLOCATOR_DISPATCH . Spécifiez ce membre pour une broche capable d’effectuer une allocation au niveau du noyau. facultatif. Peut être NULL.

Remarques

N’importe quel pointeur de rappel peut avoir la valeur NULL, ce qui indique que le minidriver n’a pas besoin de recevoir de notification pour cette distribution particulière.

Si le minidriver doit déterminer s’il a été signalé pour passer à un état spécifique (par exemple KSSTATE_RUN), la comparaison de la valeur du membre DeviceState de KSPIN à KSSTATE_RUN n’est pas une méthode fiable pour effectuer cette opération. DeviceState fait référence à l’état auquel l’épingle a été signalée pour aller, et non au canal. Pour effectuer les opérations ci-dessus de manière fiable, créez plutôt une variable dans le rappel SetDeviceState de cette structure, puis case activée cette variable pour effectuer la détermination.

Configuration requise

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

Voir aussi

KSALLOCATOR_DISPATCH

KSCLOCK_DISPATCH

KSPIN

KsCompletePendingRequest