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 |