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

Enumeratore DEVICE_REGISTRY_PROPERTYtipizzato che identifica la proprietà del dispositivo da recuperare.

[in] BufferLength

Specifica la lunghezza in byte del buffer che deve ricevere i dati della proprietà richiesta.

[out] PropertyBuffer

Puntatore a un buffer allocato dal chiamante in cui il metodo deve scrivere i dati della proprietà richiesti. Il buffer deve essere sufficientemente grande da contenere il numero di byte specificato 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.

Osservazioni

Potrebbero essere necessarie due chiamate a PcGetDeviceProperty per determinare l'BufferLength necessario. 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.

Fabbisogno

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

Vedere anche

DEVICE_OBJECT

IoGetDeviceProperty