Freigeben über


PcGetDeviceProperty-Funktion (portcls.h)

Die PcGetDeviceProperty-Funktion gibt die angeforderte Geräteeigenschaft aus der Registrierung zurück.

Syntax

PORTCLASSAPI NTSTATUS PcGetDeviceProperty(
  [in]  PVOID                    DeviceObject,
  [in]  DEVICE_REGISTRY_PROPERTY DeviceProperty,
  [in]  ULONG                    BufferLength,
  [out] PVOID                    PropertyBuffer,
  [out] PULONG                   ResultLength
);

Parameter

[in] DeviceObject

Zeiger auf das Geräteobjekt für das Gerät. Dieser Parameter verweist auf eine DEVICE_OBJECT Systemstruktur, wird jedoch in den Typ PVOID umgewandelt.

[in] DeviceProperty

Gibt die angeforderte Plug & Play Geräteeigenschaft an. Eine Liste der Eigenschaftsbezeichnerwerte finden Sie im folgenden Abschnitt Hinweise.

[in] BufferLength

Gibt die Länge des Puffers in Bytes an, der die angeforderten Eigenschaftendaten empfangen soll.

[out] PropertyBuffer

Zeiger auf einen vom Aufrufer zugeordneten Puffer, in den die Methode die angeforderten Eigenschaftendaten schreiben soll. Der Puffer muss groß genug sein, um die in BufferLength angegebene Anzahl von Bytes zu enthalten.

[out] ResultLength

Zeiger auf eine vom Aufrufer zugeordnete Variable, in die die Methode eine Anzahl ausgibt, die die Anzahl der bytes angibt, die tatsächlich in den Puffer geschrieben wurden. Wenn die in BufferLength angegebene Puffergröße zu klein ist, um die Eigenschaftsdaten zu speichern, gibt die Methode stattdessen die Anzahl der bytes aus, die für die Eigenschaftendaten erforderlich sind, und gibt STATUS_BUFFER_TOO_SMALL zurück.

Rückgabewert

PcGetDeviceProperty gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich war. Andernfalls wird ein geeigneter Fehlercode zurückgegeben. Die Routine gibt STATUS_BUFFER_TOO_SMALL zurück, wenn die in BufferLength angegebene Puffergröße nicht groß genug war, um die angeforderten Eigenschaftendaten zu enthalten.

Hinweise

Legen Sie den DeviceProperty-Parameter auf einen der folgenden DEVICE_REGISTRY_PROPERTY-Enumerationswerte aus der Headerdatei wdm.h fest:

DevicePropertyAddress

DevicePropertyBootConfiguration

DevicePropertyBootConfigurationTranslated

DevicePropertyBusNumber

DevicePropertyBusTypeGuid

DevicePropertyClassGuid

DevicePropertyClassName

DevicePropertyCompatibleIDs

DevicePropertyDetachability

DevicePropertyDeviceDescription

DevicePropertyDriverKeyName

DevicePropertyEnumeratorName

DevicePropertyFriendlyName

DevicePropertyHardwareID

DevicePropertyInstallState

DevicePropertyLegacyBusType

DevicePropertyLocationInformation

DevicePropertyManufacturer

DevicePropertyPhysicalDeviceObjectName

DevicePropertyUINumber

Eine Beschreibung der vorherigen DevicePropertyXxx-Werte finden Sie unter IoGetDeviceProperty.

Zwei Aufrufe von PcGetDeviceProperty können erforderlich sein, um die erforderliche BufferLength zu bestimmen. Beim ersten Aufruf kann BufferLength entweder 0 (null) oder eine schätzungsweise schätzungsweise der erforderlichen Puffergröße sein. Wenn die Rückgabe status STATUS_BUFFER_TOO_SMALL ist, bedeutet dies, dass der Aufrufer einen Puffer der Größe zuordnen sollte, die über ResultLength ausgegeben wurde, und PcGetDeviceProperty erneut aufrufen sollte.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Der PortCls-Systemtreiber implementiert die Funktion PcGetDeviceProperty in Microsoft Windows 98/Me und windows 2000 und höher.
Zielplattform Universell
Header portcls.h (portcls.h einschließen)
Bibliothek Portcls.lib
IRQL PASSIVE_LEVEL

Weitere Informationen

DEVICE_OBJECT

IoGetDeviceProperty