Freigeben über


KsCreatePin-Funktion (ks.h)

Die KsCreatePin-Funktion übergibt eine Verbindungsanforderung an ein Gerät, wodurch eine Pininstanz erstellt wird. Diese Funktion kann nur bei PASSIVE_LEVEL für Kernelmodusclients aufgerufen werden.

Syntax

KSDDKAPI NTSTATUS KsCreatePin(
  [in]  HANDLE         FilterHandle,
  [in]  PKSPIN_CONNECT Connect,
  [in]  ACCESS_MASK    DesiredAccess,
  [out] PHANDLE        ConnectionHandle
);

Parameter

[in] FilterHandle

Gibt das Handle des Filters an, der die Erstellungsanforderung initiiert und wo die Verbindung hergestellt wird.

[in] Connect

Zeigen Sie auf eine KSPIN_CONNECT-Struktur, die Parameter für die angeforderte Verbindung enthält. Dies sollte im Arbeitsspeicher durch eine KSDATAFORMAT- Datenstruktur gefolgt werden, die das für die Verbindung angeforderte Datenformat beschreibt.

[in] DesiredAccess

Gibt den Zugriff an, der für den Pin gewünscht ist. Dies ist in der Regel GENERIC_READ oder GENERIC_WRITE. Für Daten, die in den Pin fließen, sollte dieser Wert auf GENERIC_WRITEfestgelegt werden, und für Daten, die aus dem Pin fließen, sollte dies unabhängig von der Kommunikationsmethode auf GENERIC_READ festgelegt werden.

[out] ConnectionHandle

Gibt den übergebenen Verbindungsziehpunkt an. Die Routine füllt dies mit einem Handle für das Dateiobjekt der erstellten Verbindung aus. Dieser Wert kann dann verwendet werden, um die Verbindung mit der funktion CloseHandle zu trennen.

Rückgabewert

Die KsCreatePin--Funktion gibt STATUS_SUCCESS zurück, wenn die Verbindung erfolgreich war, oder es wird ein Fehler zurückgegeben, wenn die Verbindung fehlgeschlagen ist. Darüber hinaus kann dieser Win32-Fehlercode (von Winerror.h) zurückgegeben werden:

Bemerkungen

Die Routine sendet eine IRP_MJ_CREATE Anforderung an den Treiber. Der Treiber akzeptiert die Anforderung nur, wenn die Schnittstelle, das Medium und das Datenformat kompatibel sind.

Wenn Connect->PinToHandle- null ist, erstellt KsCreatePin einen Pin, den der Aufrufer verwenden kann, um Anforderungen an den streamingtreiber zu senden, der in Connect->FilterHandleangegeben ist. Connect–>PinId- bestimmt den Pintyp, der erstellt werden soll.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- ks.h (enthalten Ks.h)
Library Ks.lib

Siehe auch

IRP_MJ_CREATE

KSDATAFORMAT-

KSPIN_CONNECT