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) |