Compartir a través de


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

Enumerador con tipo DEVICE_REGISTRY_PROPERTYque identifica la propiedad del dispositivo que se va a recuperar.

[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 que se escriben 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.

Observaciones

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 más adecuada del tamaño de búfer necesario. Si el estado de devolución es STATUS_BUFFER_TOO_SMALL, significa que el autor de la llamada debe asignar un búfer del tamaño que se produjo a través de ResultLength y llamar a PcGetDeviceProperty de nuevo.

Requisitos

Requisito Valor
cliente mínimo admitido 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.
de la plataforma de destino de Universal
encabezado de portcls.h (incluya Portcls.h)
biblioteca de Portcls.lib
irQL PASSIVE_LEVEL

Consulte también

DEVICE_OBJECT

IoGetDeviceProperty