función CM_Get_Class_Registry_PropertyA (cfgmgr32.h)

La función CM_Get_Class_Registry_Property recupera una propiedad de clase de configuración de dispositivo.

Sintaxis

CMAPI CONFIGRET CM_Get_Class_Registry_PropertyA(
  [in]            LPGUID   ClassGuid,
  [in]            ULONG    ulProperty,
  [out, optional] PULONG   pulRegDataType,
  [out]           PVOID    Buffer,
  [in, out]       PULONG   pulLength,
  [in]            ULONG    ulFlags,
  [in, optional]  HMACHINE hMachine
);

Parámetros

[in] ClassGuid

Puntero al GUID que representa la clase de configuración del dispositivo para la que se va a recuperar una propiedad.

[in] ulProperty

Valor de tipo ULONG que identifica la propiedad que se va a recuperar. Este valor debe ser uno de los siguientes valores CM_CRP_Xxx definidos en Cfgmgr32.h:

CM_CRP_UPPERFILTERS

Representa una lista de tipos de REG_MULTI_SZ de cadenas, donde cada cadena contiene el nombre de un controlador de filtro de nivel superior registrado para la clase .

CM_CRP_LOWERFILTERS

Representa una lista de cadenas con tipo REG_MULTI_SZ, donde cada cadena contiene el nombre de los controladores de filtro de nivel inferior registrados para la clase.

CM_CRP_SECURITY

Representa un valor de tipo REG_BINARY que contiene una estructura de SECURITY_DESCRIPTOR de longitud variable, auto relativa.

CM_CRP_SECURITY_SDS

Representa una cadena de tipo REG_SZ que contiene un descriptor de seguridad en el formato lenguaje de definición de descriptores de seguridad (SDDL).

CM_CRP_DEVTYPE

Representa un valor de tipo REG_DWORD que indica el tipo de dispositivo de la clase . Para obtener más información, vea Especificar tipos de dispositivo.

CM_CRP_EXCLUSIVE

Representa un valor de tipo REG_DWORD que indica si los usuarios pueden obtener acceso exclusivo a los dispositivos para esta clase. El valor devuelto es 1 si se permite el acceso exclusivo o cero de lo contrario.

CM_CRP_CHARACTERISTICS

Representa un valor de tipo DWORD que indica las características del dispositivo para la clase . Para obtener una lista de marcas de características, consulte el parámetro DeviceCharacteristics de la rutina IoCreateDevice .

[out, optional] pulRegDataType

Puntero a una variable de tipo ULONG que recibe la constante REG_Xxx que representa el tipo de datos de la propiedad solicitada. Las constantes REG_Xxx se definen en Winnt.h y se describen en el miembro Type de la estructura KEY_VALUE_BASIC_INFORMATION . Este parámetro es opcional y se puede establecer en NULL.

[out] Buffer

Puntero a un búfer que recibe los datos de propiedad solicitados. Para obtener más información sobre este parámetro y el pulLength de parámetro de tamaño de búfer, vea la siguiente sección Comentarios .

[in, out] pulLength

Puntero a variable de tipo ULONG cuyo valor, en la entrada, es el tamaño, en bytes, del búfer proporcionado por Buffer. Al devolver, CM_Get_Class_Registry_Property establece esta variable en el tamaño, en bytes, de la propiedad solicitada.

[in] ulFlags

Reservado para uso interno. Debe establecerse en cero.

[in, optional] hMachine

Identificador de una máquina remota desde la que se va a recuperar la propiedad de clase de dispositivo especificada. Este parámetro es opcional y, si se establece en NULL, la propiedad se recupera del equipo local.

Valor devuelto

Si la operación se realiza correctamente, CM_Get_Class_Registry_Property devuelve CR_SUCCESS. De lo contrario, la función devuelve uno de los otros códigos de estado CR_Xxx definidos en Cfgmgr32.h.

Comentarios

Para determinar el tamaño, en bytes, de una propiedad antes de intentar recuperar la propiedad, primero llame a CM_Get_Class_Registry_Property, proporcionando un puntero de búfer NULL y un valor pulLength de cero. En respuesta a esta llamada, la función no recupera la propiedad , pero establece pulLength en el tamaño de la propiedad solicitada y devuelve CR_BUFFER_SMALL. Después de obtener el tamaño de la propiedad, llame a CM_Get_Class_Registry_Property de nuevo, proporcionando un puntero buffer al búfer para recibir los datos de propiedad y proporcionar el tamaño de la propiedad en *pulLength.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Microsoft Windows 2000 y versiones posteriores de Windows.
Encabezado cfgmgr32.h (incluya Cfgmgr32.h)
Library Cfgmgr32.lib

Consulte también

CM_Set_Class_Registry_Property
KEY_VALUE_BASIC_INFORMATION
SetupDiGetClassRegistryProperty
SetupDiSetClassRegistryProperty