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