CM_Get_Class_Registry_PropertyW-Funktion (cfgmgr32.h)

Die CM_Get_Class_Registry_Property-Funktion ruft eine Gerätesetupklasseneigenschaft 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ätesetupklasse darstellt, für die eine Eigenschaft abgerufen werden soll.

[in] ulProperty

Ein Wert vom Typ ULONG, der die abzurufende Eigenschaft identifiziert. Dieser Wert muss einer 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 typisierte Liste von Zeichenfolgen dar, wobei jede Zeichenfolge den Namen eines Filtertreibers auf niedrigerer Ebene enthält, der für die Klasse registriert ist.

CM_CRP_SECURITY

Stellt einen Wert vom Typ REG_BINARY dar, der eine Struktur mit variabler Länge, selbstrelativer SECURITY_DESCRIPTOR 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 exklusiver Zugriff zulässig ist, oder andernfalls null.

CM_CRP_CHARACTERISTICS

Stellt einen Wert vom Typ DWORD dar, der die Gerätemerkmale für die Klasse angibt. Eine Liste der Merkmaleflags 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 Type-Member 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 eine Variable vom Typ ULONG, deren Wert bei der Eingabe die Größe des Puffers in Bytes ist, der von Buffer bereitgestellt wird. Bei der Rückgabe 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 0 (null) festgelegt werden.

[in, optional] hMachine

Ein Handle für einen 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-status-Codes zurück, die in Cfgmgr32.h definiert sind.

Hinweise

Um die Größe einer Eigenschaft in Bytes zu bestimmen, 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 0 (null) an. Als Reaktion auf einen solchen Aufruf ruft die Funktion die -Eigenschaft nicht ab, sondern legt pulLength auf die Größe der angeforderten Eigenschaft fest und gibt CR_BUFFER_SMALL zurück. Nachdem Sie die Eigenschaftsgröße abgerufen haben, rufen Sie CM_Get_Class_Registry_Property erneut auf, und geben Sie einen Pufferzeiger auf den Puffer an, um die Eigenschaftsdaten zu empfangen, und geben Sie die Eigenschaftsgröße in *pulLength an.

Anforderungen

Anforderung Wert
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