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 |