Share via


Función PcGetDeviceProperty (portcls.h)

La función PcGetDeviceProperty devuelve la propiedad de dispositivo solicitada del registro.

Sintaxis

PORTCLASSAPI NTSTATUS PcGetDeviceProperty(
  [in]  PVOID                    DeviceObject,
  [in]  DEVICE_REGISTRY_PROPERTY DeviceProperty,
  [in]  ULONG                    BufferLength,
  [out] PVOID                    PropertyBuffer,
  [out] PULONG                   ResultLength
);

Parámetros

[in] DeviceObject

Puntero al objeto de dispositivo para el dispositivo. Este parámetro apunta a una estructura del sistema DEVICE_OBJECT , pero se convierte al tipo PVOID.

[in] DeviceProperty

Especifica la propiedad de dispositivo Plug and Play que se solicita. Para obtener una lista de los valores del especificador de propiedades, vea la siguiente sección Comentarios.

[in] BufferLength

Especifica la longitud en bytes del búfer que va a recibir los datos de propiedad solicitados.

[out] PropertyBuffer

Puntero a un búfer asignado por el autor de la llamada en el que el método es escribir los datos de propiedad solicitados. El búfer debe ser lo suficientemente grande como para contener el número de bytes especificados en BufferLength.

[out] ResultLength

Puntero a una variable asignada por el autor de la llamada en la que el método genera un recuento que especifica el número de bytes escritos realmente en el búfer. Si el tamaño del búfer especificado en BufferLength es demasiado pequeño para contener los datos de propiedad, el método genera el número de bytes necesarios para los datos de propiedad y devuelve STATUS_BUFFER_TOO_SMALL.

Valor devuelto

PcGetDeviceProperty devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, devuelve un código de error adecuado. La rutina devuelve STATUS_BUFFER_TOO_SMALL si el tamaño del búfer especificado en BufferLength no era lo suficientemente grande como para contener los datos de propiedad solicitados.

Comentarios

Establezca el parámetro DeviceProperty en uno de los siguientes valores de enumeración DEVICE_REGISTRY_PROPERTY del archivo de encabezado wdm.h:

DevicePropertyAddress

DevicePropertyBootConfiguration

DevicePropertyBootConfigurationTranslated

DevicePropertyBusNumber

DevicePropertyBusTypeGuid

DevicePropertyClassGuid

DevicePropertyClassName

DevicePropertyCompatibleIDs

DevicePropertyDetachability

DevicePropertyDeviceDescription

DevicePropertyDriverKeyName

DevicePropertyEnumeratorName

DevicePropertyFriendlyName

DevicePropertyHardwareID

DevicePropertyInstallState

DevicePropertyLegacyBusType

DevicePropertyLocationInformation

DevicePropertyManufacturer

DevicePropertyPhysicalDeviceObjectName

DevicePropertyUINumber

Para obtener una descripción de los valores de DevicePropertyXxx anteriores, consulte IoGetDeviceProperty.

Es posible que sea necesario realizar dos llamadas a PcGetDeviceProperty para determinar el bufferLength necesario. En la primera llamada, BufferLength puede ser cero o una estimación aproximada del tamaño de búfer necesario. Si el estado devuelto es STATUS_BUFFER_TOO_SMALL, esto significa que el autor de la llamada debe asignar un búfer del tamaño que se ha generado a través de ResultLength y llamar a PcGetDeviceProperty de nuevo.

Requisitos

Requisito Value
Cliente mínimo compatible El controlador del sistema PortCls implementa la función PcGetDeviceProperty en Microsoft Windows 98/Me y en los sistemas operativos Windows 2000 y versiones posteriores.
Plataforma de destino Universal
Encabezado portcls.h (incluya Portcls.h)
Library Portcls.lib
IRQL PASSIVE_LEVEL

Consulte también

DEVICE_OBJECT

IoGetDeviceProperty