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 |