Condividi tramite


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

Vedi anche

DEVICE_OBJECT

IoGetDeviceProperty