CM_Get_Class_Registry_PropertyW Funktion (cfgmgr32.h)

Die funktion CM_Get_Class_Registry_Property ruft eine Geräteeinrichtungsklasse-Eigenschaft ab.

Syntax

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

Parameter

[in] ClassGuid

Ein Zeiger auf die GUID, die die Geräteeinrichtungsklasse darstellt, für die eine Eigenschaft abgerufen werden soll.

[in] ulProperty

Ein Wert vom Typ ULONG, der die abzurufende Eigenschaft identifiziert. Dieser Wert muss eine der folgenden CM_CRP_Xxx-Werte sein, die in Cfgmgr32.h definiert sind:

CM_CRP_UPPERFILTERS

Stellt eine REG_MULTI_SZ-Typliste von Zeichenfolgen dar, wobei jede Zeichenfolge den Namen eines Filtertreibers auf oberster Ebene enthält, der für die Klasse registriert ist.

CM_CRP_LOWERFILTERS

Stellt eine REG_MULTI_SZ-typierte Liste von Zeichenfolgen dar, in der jede Zeichenfolge den Namen einer Filtertreiber auf niedrigerer Ebene enthält, die für die Klasse registriert sind.

CM_CRP_SECURITY

Stellt einen Wert vom Typ REG_BINARY dar, der eine variable Länge, eine selbstrelative , SECURITY_DESCRIPTOR Struktur enthält.

CM_CRP_SECURITY_SDS

Stellt eine Zeichenfolge vom Typ REG_SZ dar, die einen Sicherheitsdeskriptor im SDDL-Format (Security Descriptor Definition Language) enthält.

CM_CRP_DEVTYPE

Stellt einen Wert vom Typ REG_DWORD dar, der den Gerätetyp für die Klasse angibt. Weitere Informationen finden Sie unter Angeben von Gerätetypen.

CM_CRP_EXCLUSIVE

Stellt einen Wert vom Typ REG_DWORD dar, der angibt, ob Benutzer exklusiven Zugriff auf Geräte für diese Klasse erhalten können. Der zurückgegebene Wert ist 1, wenn der exklusive Zugriff zulässig ist oder null anderweitig.

CM_CRP_CHARACTERISTICS

Stellt einen Wert vom Typ DWORD dar, der die Gerätemerkmale für die Klasse angibt. Eine Liste der Merkmale flags finden Sie im DeviceCharacteristics-Parameter der IoCreateDevice-Routine .

[out, optional] pulRegDataType

Ein Zeiger auf eine Variable vom Typ ULONG, die die REG_Xxx-Konstante empfängt, die den Datentyp der angeforderten Eigenschaft darstellt. Die REG_Xxx-Konstanten werden in Winnt.h definiert und im Typelement der KEY_VALUE_BASIC_INFORMATION Struktur beschrieben. Dieser Parameter ist optional und kann auf NULL festgelegt werden.

[out] Buffer

Ein Zeiger auf einen Puffer, der die angeforderten Eigenschaftendaten empfängt. Weitere Informationen zu diesem Parameter und dem Puffergrößenparameter pulLength finden Sie im folgenden Abschnitt " Hinweise ".

[in, out] pulLength

Ein Zeiger auf die Variable vom Typ ULONG, deren Wert bei Eingabe die Größe des Puffers in Bytes darstellt, der von Puffer bereitgestellt wird. Beim Zurückgeben legt CM_Get_Class_Registry_Property diese Variable auf die Größe der angeforderten Eigenschaft in Bytes fest.

[in] ulFlags

Nur für die interne Verwendung vorgesehen. Muss auf Null festgelegt werden.

[in, optional] hMachine

Ein Handle zu einem Remotecomputer, von dem die angegebene Geräteklasseneigenschaft abgerufen werden soll. Dieser Parameter ist optional, und wenn er auf NULL festgelegt ist, wird die Eigenschaft vom lokalen Computer abgerufen.

Rückgabewert

Wenn der Vorgang erfolgreich ist, gibt CM_Get_Class_Registry_Property CR_SUCCESS zurück. Andernfalls gibt die Funktion einen der anderen CR_Xxx-Statuscodes zurück, die in Cfgmgr32.h definiert sind.

Hinweise

Um die Größe einer Eigenschaft in Bytes zu ermitteln, bevor Sie versuchen, die Eigenschaft abzurufen, rufen Sie zuerst CM_Get_Class_Registry_Property auf, und geben Sie einen NULL-Pufferzeiger und einen pulLength-Wert von Null an. Als Reaktion auf einen solchen Aufruf ruft die Funktion die Eigenschaft nicht ab, legt jedoch pulLength auf die Größe der angeforderten Eigenschaft fest und gibt CR_BUFFER_SMALL zurück. Rufen Sie nach dem Abrufen der Eigenschaftsgröße erneut CM_Get_Class_Registry_Property auf, indem Sie einen Pufferzeiger auf den Puffer angeben, um die Eigenschaftendaten zu empfangen und die Eigenschaftsgröße in *pulLength zu liefern.

Anforderungen

   
Unterstützte Mindestversion (Client) Verfügbar in Microsoft Windows 2000 und höheren Versionen von Windows.
Zielplattform Universell
Header cfgmgr32.h (include Cfgmgr32.h)
Bibliothek Cfgmgr32.lib

Weitere Informationen

CM_Set_Class_Registry_Property

KEY_VALUE_BASIC_INFORMATION

SetupDiGetClassRegistryProperty

SetupDiSetClassRegistryProperty