Freigeben über


KSPIN_DISPATCH-Struktur (ks.h)

Die KSPIN_DISPATCH-Struktur beschreibt die Rückrufe, für die Sich Clients registrieren können, um Benachrichtigungen über Anheftereignisse zu erhalten.

Syntax

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;

Member

Create

Ein Zeiger auf eine vom Minidriver bereitgestellte AVStrMiniPinCreate-Rückrufroutine . Optional. Kann NULL sein.

Close

Ein Zeiger auf eine minidriver-bereitgestellte AVStrMiniPinClose-Rückrufroutine . Optional. Kann NULL sein.

Process

Ein Zeiger auf eine minidriver-bereitgestellte AVStrMiniPinProcess-Rückrufroutine . Optional. Kann NULL sein.

Reset

Ein Zeiger auf eine vom Minidriver bereitgestellte AVStrMiniPinReset-Rückrufroutine . Optional. Kann NULL sein.

SetDataFormat

Ein Zeiger auf eine minidriver-bereitgestellte AVStrMiniPinSetDataFormat-Rückrufroutine . Optional. Kann NULL sein.

SetDeviceState

Ein Zeiger auf eine vom Minidriver bereitgestellte AVStrMiniPinSetDeviceState-Rückrufroutine . Optional. Kann NULL sein.

Connect

Ein Zeiger auf eine vom Minidriver bereitgestellte AVStrMiniPinConnect-Rückrufroutine . Optional. Kann NULL sein.

Disconnect

Ein Zeiger auf eine vom Minidriver bereitgestellte AVStrMiniPinDisconnect-Rückrufroutine . Optional. Kann NULL sein.

Clock

Ein Zeiger auf eine KSCLOCK_DISPATCH Struktur. Geben Sie diesen Member für einen Pin an, der eine Uhr verfügbar macht. Optional. Kann NULL sein.

Allocator

Ein Zeiger auf eine KSALLOCATOR_DISPATCH-Struktur . Geben Sie diesen Member für einen Pin an, der die Zuordnung auf Kernelebene durchführen kann. Optional. Kann NULL sein.

Hinweise

Jeder der Rückrufzeiger kann NULL sein, was angibt, dass der Minidriver keine Benachrichtigung für diese bestimmte Versendung empfangen muss.

Wenn der Minidriver ermitteln muss, ob signalisiert wurde, dass er in einen bestimmten Zustand wechselt (z. B. KSSTATE_RUN), ist der Vergleich des Werts des DeviceState-Members von KSPIN mit KSSTATE_RUN keine zuverlässige Methode. DeviceState bezieht sich auf den Zustand, in den der Pin weitergeleitet wurde, nicht die Pipe. Erstellen Sie stattdessen eine Variable im SetDeviceState-Rückruf dieser Struktur, und überprüfen Sie dann diese Variable, um die Bestimmung vorzunehmen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Microsoft Windows XP und höheren Betriebssystemen sowie in Microsoft DirectX 8.0 und höheren Versionen.
Kopfzeile ks.h (einschließlich Ks.h)

Weitere Informationen

KSALLOCATOR_DISPATCH

KSCLOCK_DISPATCH

KSPIN

KsCompletePendingRequest