Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die PCPROPERTY_ITEM Struktur beschreibt eine Eigenschaft, die von einem bestimmten Filter, Pin oder Knoten unterstützt wird.
Syntax
typedef struct {
const GUID *Set;
ULONG Id;
ULONG Flags;
PCPFNPROPERTY_HANDLER Handler;
} PCPROPERTY_ITEM, *PPCPROPERTY_ITEM;
Angehörige
Set
Gibt den Eigenschaftensatz an. Dieses Element ist ein Zeiger auf eine GUID, die den Eigenschaftensatz eindeutig identifiziert. Sehen Sie sich die Liste der Eigenschaftensatz-GUIDs in Eigenschaftensätze für Audiotreiberan.
Id
Gibt die Eigenschafts-ID an. Dieses Element identifiziert ein Eigenschaftselement innerhalb des Eigenschaftensatzes. Wenn der Eigenschaftensatz N-Elemente enthält, sind gültige Eigenschafts-IDs ganze Zahlen im Bereich 0 bis N-1.
Flags
Gibt die Typen von Eigenschaftsanforderungen an, die der Treiber unterstützt. Legen Sie dieses Element auf den bitweisen OR einiger oder aller Flagbits fest, die in der folgenden Tabelle angezeigt werden.
Flagbits | Typ der Eigenschaftsanforderung |
---|---|
PCPROPERTY_ITEM_FLAG_GET | Anforderung zum Abrufen der aktuellen Eigenschaftsdateneinstellung. |
PCPROPERTY_ITEM_FLAG_SET | Anforderung zum Festlegen der aktuellen Eigenschaftsdateneinstellung. |
PCPROPERTY_ITEM_FLAG_DEFAULTVALUES | Anforderung der Standardwerte des Treibers für die Eigenschaftsdaten. |
PCPROPERTY_ITEM_FLAG_BASICSUPPORT | Anforderung für grundlegende Unterstützung, die angibt, welche Anforderungstypen der Treiber für diese Eigenschaft verarbeitet, und gibt auch den gültigen Datentyp und die gültigen Bereiche für die Eigenschaftsdaten an. |
PCPROPERTY_ITEM_FLAG_SERIALIZESIZE | Anforderung der Größe der Eigenschaftsdaten für diese Eigenschaft, wenn sie als Teil einer KSPROPERTY_TYPE_SERIALIZESET Anforderung serialisiert wird. |
PCPROPERTY_ITEM_FLAG_SERIALIZERAW | Anforderung, diese Eigenschaft auf treiberabhängige Weise zu serialisieren. Dieser Vorgang ist die Umkehrung von PCPROPERTY_ITEM_FLAG_UNSERIALIZERAW. |
PCPROPERTY_ITEM_FLAG_UNSERIALIZERAW | Anforderung, diese Eigenschaft auf treiberabhängige Weise zu entialisieren. Dieser Vorgang ist die Umkehrung von PCPROPERTY_ITEM_FLAG_SERIALIZERAW. |
PCPROPERTY_ITEM_FLAG_SERIALIZE | PCPROPERTY_ITEM_FLAG_SERIALIZERAW | PCPROPERTY_ITEM_FLAG_UNSERIALIZERAW | PCPROPERTY_ITEM_FLAG_SERIALIZESIZE |
Handler
Zeiger auf die Eigenschaftshandlerroutine. Dieses Element ist ein Funktionszeiger vom Typ PCPFNPROPERTY_HANDLER, der wie folgt definiert ist:
typedef NTSTATUS (*PCPFNPROPERTY_HANDLER)
(
IN PPCPROPERTY_REQUEST PropertyRequest
);
Siehe den folgenden Abschnitt "Hinweise".
Bemerkungen
Die PCPROPERTY_ITEM-Struktur gibt ein bestimmtes Eigenschaftselement in einer Automatisierungstabelle an. Die PCAUTOMATION_TABLE Struktur verweist auf ein Array von PCPROPERTY_ITEM Strukturen.
Beim Aufrufen der Handler Routine übergibt der Aufrufer einen einzelnen Aufrufparameter, bei dem es sich um einen Zeiger auf eine PCPROPERTY_REQUEST Struktur handelt. Diese Struktur wird vom Aufrufer zugewiesen, und der Anrufer gibt sie unter einer der folgenden Bedingungen frei:
- Wenn der Handler Routine einen anderen Statuscode als STATUS_PENDING zurückgibt, gibt der Aufrufer die Struktur frei. In diesem Fall sollte der Miniporttreiber nicht versuchen, auf die Struktur zuzugreifen, nachdem der Handler Routine zurückgegeben wurde.
- Der Handler Routine kann auch STATUS_PENDING zurückgeben. In diesem Fall ist der Miniporttreiber verpflichtet, PcCompletePendingPropertyRequest zu einem späteren Zeitpunkt aufzurufen, um die ausstehende Eigenschaftsanforderung abzuschließen. Die PcCompletePendingPropertyRequest Funktion gibt die Struktur frei. Nach dem Aufrufen PcCompletePendingPropertyRequestsollte der Miniporttreiber nicht versuchen, auf die Struktur zuzugreifen.
Weitere Informationen zur Serialisierung und unformatierten Serialisierung eines Eigenschaftensatzes finden Sie unter KS Properties.
Anforderungen
Anforderung | Wert |
---|---|
Header- | portcls.h (include Portcls.h) |