Freigeben über


IoGetDeviceInterfacePropertyData-Funktion (wdm.h)

Die IoGetDeviceInterfacePropertyData-Routine ruft den aktuellen Wert einer Geräteschnittstelleneigenschaft ab.

Syntax

NTSTATUS IoGetDeviceInterfacePropertyData(
  [in]  PUNICODE_STRING  SymbolicLinkName,
  [in]  const DEVPROPKEY *PropertyKey,
  [in]  LCID             Lcid,
        ULONG            Flags,
  [in]  ULONG            Size,
  [out] PVOID            Data,
  [out] PULONG           RequiredSize,
  [out] PDEVPROPTYPE     Type
);

Parameter

[in] SymbolicLinkName

Ein Zeiger auf eine Zeichenfolge, die die Geräteschnittstelle instance identifiziert. Diese Zeichenfolge wurde aus einem vorherigen Aufruf der Routine IoGetDeviceInterfaces, IoGetDeviceInterfaceAlias oder IoRegisterDeviceInterface abgerufen.

[in] PropertyKey

Ein Zeiger auf eine DEVPROPKEY-Struktur , die den Eigenschaftenschlüssel der Geräteschnittstelle enthält.

[in] Lcid

Gibt einen Gebietsschemabezeichner an. Legen Sie diesen Parameter entweder auf einen sprachspezifischen LCID-Wert oder auf LOCALE_NEUTRAL fest. Die LOCALE_NEUTRAL LCID gibt an, dass die Eigenschaft sprachneutral ist (d. a. nicht sprachspezifisch). Legen Sie diesen Parameter nicht auf LOCALE_SYSTEM_DEFAULT oder LOCALE_USER_DEFAULT fest. Weitere Informationen zu sprachspezifischen LCID-Werten finden Sie unter LCID-Struktur.

Flags

Ist für das System reserviert. Treiber sollten diesen Wert auf 0 (null) festlegen.

[in] Size

Gibt die Größe des Puffers in Bytes an, auf den Data verweist.

[out] Data

Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, in den die Routine die Eigenschaftendaten der Geräteschnittstelle schreibt.

[out] RequiredSize

Ein Zeiger auf eine ULONG-Variable, in die IoGetDeviceInterfacePropertyData die erforderliche Größe der Eigenschaftendaten schreibt. Wenn die Routine erfolgreich ist, ist der erforderliche Größenwert die Anzahl der Bytes, die die Routine in den Ausgabepuffer schreibt, auf den Data verweist. Wenn die Routine STATUS_BUFFER_TOO_SMALL zurückgibt, ist der erforderliche Größenwert die Größe des Puffers, den der Aufrufer für diesen Eigenschaftswert zuweisen soll.

[out] Type

Ein Zeiger auf eine DEVPROPTYPE-Variable . Wenn IoGetDeviceInterfacePropertyData die Eigenschaftsdaten erfolgreich abruft, schreibt die Routine den Eigenschaftstypwert in diese Variable. Dieser Wert gibt den Typ der Eigenschaftendaten an, der sich im Datenpuffer befindet.

Rückgabewert

IoGetDeviceInterfacePropertyData gibt bei erfolgreicher Ausführung STATUS_SUCCESS zurück. Mögliche Fehlerrückgabewerte sind die folgenden status Codes.

Rückgabecode Beschreibung
STATUS_BUFFER_TOO_SMALL Der Puffer, auf den Data verweist, ist zu klein, um die Eigenschaftsdaten zu enthalten. *RequiredSize enthält die erforderliche Pufferlänge.
STATUS_UNSUCCESSFUL Der angegebene LCID-Wert ist ungültig.
STATUS_NOT_IMPLEMENTED Die angegebene Eigenschaft wird nicht unterstützt.

Hinweise

Kernelmodustreiber verwenden die IoGetDeviceInterfacePropertyData-Routine , um Geräteschnittstelleneigenschaften abzurufen, die als Teil des einheitlichen Geräteeigenschaftenmodells definiert sind. Weitere Informationen zu Eigenschaften der Geräteschnittstelle finden Sie unter Geräteeigenschaften.

Treiber können die IoSetDeviceInterfacePropertyData-Routine verwenden, um eine Geräteschnittstelleneigenschaft zu ändern.

Aufrufer von IoGetDeviceInterfacePropertyData müssen unter IRQL = PASSIVE_LEVEL im Kontext eines Systemthreads ausgeführt werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows 8 und höheren Versionen von Windows.
Zielplattform Universell
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Weitere Informationen

DEVPROPKEY

DEVPROPTYPE

IoSetDeviceInterfacePropertyData