PFNKSSTREAMPOINTER-Rückruffunktion (ks.h)
AVStream ruft die AVStrMiniCancelCallback-Routine eines Minitreibers auf, wenn die IRP, die einem geklonten Streamzeiger zugeordnet ist, abgebrochen wird. Diese Routine ist optional.
Syntax
PFNKSSTREAMPOINTER Pfnksstreampointer;
void Pfnksstreampointer(
[in] PKSSTREAM_POINTER StreamPointer
)
{...}
Parameter
[in] StreamPointer
Ein Zeiger auf den Klon KSSTREAM_POINTER , der dem abgebrochenen IRP zugeordnet ist. StreamPointer wurde durch einen Aufruf von KsStreamPointerClone erstellt.
Rückgabewert
Keine
Bemerkungen
Der Minidriver gibt die Adresse dieser Routine im CancelCallback-Parameter von KsStreamPointerClone an.
In AVStrMiniCancelCallback sollte der Minidriver alle Verweise auf den Klonzeiger auf NULL festlegen.
Darüber hinaus sollte der Minidriver alle Kontextinformationen entfernen, die sich auf den Klonzeiger beziehen, und die Hardware über den Abbruch benachrichtigen.
Schließlich muss der Minidriver KsStreamPointerDelete aufrufen, um den Klon und den damit verbundenen Kontext zu löschen. Wenn der Minidriver den Klon nicht löscht, behält der IRP eine Verweisanzahl bei und ist nicht abgeschlossen, was möglicherweise dazu führt, dass verwandte Anwendungen abstürzen.
AVStrMiniCancelCallback wird aufgerufen, wobei die Spin-Sperre der Warteschlange gehalten wird, also bei DISPATCH_LEVEL. Dementsprechend kann die Rückrufroutine keine Warteschlangenbearbeitung durchführen oder Funktionen aufrufen, die einen Mutex abrufen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Microsoft Windows XP und höheren Betriebssystemen sowie DirectX 8.0 und höher DirectX-Versionen. |
Zielplattform | Desktop |
Kopfzeile | ks.h (ks.h einschließen) |