Funzione PcGetDeviceProperty (portcls.h)
La funzione PcGetDeviceProperty restituisce la proprietà del dispositivo richiesta dal Registro di sistema.
Sintassi
PORTCLASSAPI NTSTATUS PcGetDeviceProperty(
[in] PVOID DeviceObject,
[in] DEVICE_REGISTRY_PROPERTY DeviceProperty,
[in] ULONG BufferLength,
[out] PVOID PropertyBuffer,
[out] PULONG ResultLength
);
Parametri
[in] DeviceObject
Puntatore all'oggetto dispositivo per il dispositivo. Questo parametro punta a una struttura di sistema DEVICE_OBJECT ma viene eseguito il cast al tipo PVOID.
[in] DeviceProperty
Specifica la proprietà del dispositivo Plug and Play richiesta. Per un elenco dei valori dell'identificatore di proprietà, vedere la sezione Osservazioni seguente.
[in] BufferLength
Specifica la lunghezza in byte del buffer che deve ricevere i dati delle proprietà richieste.
[out] PropertyBuffer
Puntatore a un buffer allocato dal chiamante in cui il metodo deve scrivere i dati delle proprietà richieste. Il buffer deve essere sufficientemente grande da contenere il numero di byte specificati in BufferLength.
[out] ResultLength
Puntatore a una variabile allocata dal chiamante in cui il metodo restituisce un conteggio che specifica il numero di byte effettivamente scritti nel buffer. Se la dimensione del buffer specificata in BufferLength è troppo piccola per contenere i dati della proprietà, il metodo restituisce invece il numero di byte necessari per i dati della proprietà e restituisce STATUS_BUFFER_TOO_SMALL.
Valore restituito
PcGetDeviceProperty restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo. In caso contrario, restituisce un codice di errore appropriato. La routine restituisce STATUS_BUFFER_TOO_SMALL se le dimensioni del buffer specificate in BufferLength non sono sufficienti per contenere i dati delle proprietà richieste.
Commenti
Impostare il parametro DeviceProperty su uno dei valori di enumerazione seguenti DEVICE_REGISTRY_PROPERTY dal file di intestazione wdm.h:
DevicePropertyAddress
DevicePropertyBootConfiguration
DevicePropertyBootConfigurationTranslated
DevicePropertyBusNumber
DevicePropertyBusTypeGuid
DevicePropertyClassGuid
DevicePropertyClassName
DevicePropertyCompatibleIDs
DevicePropertyDetachability
DevicePropertyDeviceDescription
DevicePropertyDriverKeyName
DevicePropertyEnumeratorName
DevicePropertyFriendlyName
DevicePropertyHardwareID
DevicePropertyInstallState
DevicePropertyLegacyBusType
DevicePropertyLocationInformation
DevicePropertyManufacturer
DevicePropertyPhysicalDeviceObjectName
DevicePropertyUINumber
Per una descrizione dei valori di DevicePropertyXxx precedenti, vedere IoGetDeviceProperty.
Due chiamate a PcGetDeviceProperty potrebbero essere necessarie per determinare l'oggetto BufferLength richiesto. Nella prima chiamata , BufferLength può essere zero o una stima migliore delle dimensioni del buffer necessarie. Se lo stato restituito è STATUS_BUFFER_TOO_SMALL, significa che il chiamante deve allocare un buffer delle dimensioni restituite tramite ResultLength e chiamare di nuovo PcGetDeviceProperty .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Il driver di sistema PortCls implementa la funzione PcGetDeviceProperty in Microsoft Windows 98/Me e nei sistemi operativi Windows 2000 e versioni successive. |
Piattaforma di destinazione | Universale |
Intestazione | portcls.h (include Portcls.h) |
Libreria | Portcls.lib |
IRQL | PASSIVE_LEVEL |