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 gegossen.

[in] DeviceProperty

Ein DEVICE_REGISTRY_PROPERTY-typed-Enumerator, der die abzurufende Geräteeigenschaft identifiziert.

[in] BufferLength

Gibt die Länge in Byte des Puffers an, der die angeforderten Eigenschaftendaten empfängt.

[out] PropertyBuffer

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

[out] ResultLength

Zeigen Sie auf eine vom Aufrufer zugewiesene 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 Eigenschaftendaten aufzunehmen, 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 entsprechender 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.

Bemerkungen

Zwei Aufrufe von PcGetDeviceProperty- können erforderlich sein, um die erforderliche BufferLength-zu ermitteln. Im ersten Aufruf kann BufferLength- entweder null oder eine schätzungsweise der erforderlichen Puffergröße sein. Wenn der Rückgabestatus STATUS_BUFFER_TOO_SMALL ist, bedeutet dies, dass der Aufrufer einen Puffer der Größe zuordnen soll, die über ResultLength- ausgegeben wurde, und PcGetDeviceProperty- erneut aufrufen soll.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Der PortCls-Systemtreiber implementiert die PcGetDeviceProperty-Funktion in Microsoft Windows 98/Me und in Windows 2000 und höher.
Zielplattform- Universal
Header- portcls.h (include Portcls.h)
Library Portcls.lib
IRQL- PASSIVE_LEVEL

Siehe auch

DEVICE_OBJECT

IoGetDeviceProperty-