KsValidateConnectRequest-Funktion (ks.h)

Die KsValidateConnectRequest-Funktion überprüft eine Verbindungsanforderung und gibt einen Zeiger auf die der Anforderung zugeordnete Verbindungsstruktur zurück.

Diese Funktion kann nur bei PASSIVE_LEVEL aufgerufen werden.

Syntax

KSDDKAPI NTSTATUS KsValidateConnectRequest(
  [in]  PIRP                   Irp,
  [in]  ULONG                  DescriptorsCount,
  [in]  const KSPIN_DESCRIPTOR *Descriptor,
  [out] PKSPIN_CONNECT         *Connect
);

Parameter

[in] Irp

Zeiger auf eine IRP, die die Verbindungsanforderung angibt.

[in] DescriptorsCount

Gibt die Anzahl der übergebenen Pindeskriptoren an.

[in] Descriptor

Gibt einen Zeiger auf die Liste der KSPIN_DESCRIPTOR Strukturen an.

[out] Connect

Gibt eine Position an, an der ein Zeiger auf den KSPIN_CONNECT-Zeiger platziert werden soll, der an die Erstellungsanforderung übergeben wird. Wenn KsValidateConnectRequest erfolgreich zurückgibt, enthält Connect+1 einen Zeiger auf das KSDATAFORMAT, mit dem der Pin geöffnet wurde.

Rückgabewert

Die KsValidateConnectRequest-Funktion gibt bei erfolgreicher Ausführung STATUS_SUCCESS zurück oder gibt einen Fehler zurück.

Hinweise

Die KsValidateConnectRequest-Funktion verarbeitet grundlegende Verbindungsstrukturzugriffsausnahmen und überprüft die Kommunikationsanforderungen, das Medium, das Protokoll und das grundlegende Datenformat. Die Überprüfung des übergebenen Datenformats basiert auf der Datenbereichsliste für den angegebenen Pin, für den ein Pin instance erstellt werden soll. Die Überprüfung ist in drei Instanzen erfolgreich: Wenn ein Bereichshauptformat ein Feldhalter ist, stimmt das Bereichshauptformat überein, und das Bereichsunterformat ist ein Feldhalter, oder das Bereichshauptformat, das Bereichsunterformat und der Bereichsbezeichner stimmen alle überein.

Der Puffer wird eine Kopie des ursprünglichen Eingabepuffers übergeben, wenn sich der Originor nicht im Kernelmodus befand und daher sicher darauf zugreifen kann.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header ks.h (einschließlich Ks.h)
Bibliothek Ks.lib