Freigeben über


Zuordnungsarrays

Ein Zuordnungsarray ist eine sortierte Liste der Registrierungsspeicherorte, die zum Speichern von Informationen zu einem Elementtyp verwendet werden, einschließlich Handlern, Verben und anderen Attributen wie dem Symbol und dem Anzeigenamen des Typs. Die Shell verwendet Zuordnungsarrays, um einen vordefinierten Satz von Registrierungsspeicherorten abzufragen, die Informationen zu einem Shell-Element enthalten können.

Dieses Thema ist wie folgt organisiert:

Informationen zu Zuordnungsarrays

Ein Zuordnungsarray ist eine sortierte Liste von Registrierungsspeicherorten, die Informationen zu einem Elementtyp enthalten, einschließlich Handlern, Verben und anderen Attributen wie symbol und Anzeigename des Typs. Diese Informationen zum Elementtyp können auf unterschiedlichen Spezifischen Ebenen registriert werden. Sie können z. B. ein Verb registrieren, das nur für einen bestimmten Dateityp (z. B. .jpg) oder für alle Elemente mit demselben System.Kind (z. B. System.kind = Bild) oder für alle Elemente angezeigt wird.

Die Shell verwendet Zuordnungsarrays, um einen vordefinierten Satz von Registrierungsspeicherorten abzufragen, die möglicherweise Informationen zum Element enthalten. Die Zuordnungsarray-APIs können verwendet werden, um aus dem Registrierungsunterschlüssel einen einzelnen Wert abzurufen, der die angeforderten Informationen enthält, wobei dieser Wert aus dem ersten Eintrag im Array stammt, das es bereitstellt. Der Standardsymbolwert wird z. B. auf diese Weise abgerufen. Das Zuordnungsarray kann auch verwendet werden, um einen Satz von Werten abzurufen, die in den Registrierungsunterschlüsseln gespeichert sind. Beispielsweise wird die Liste der Verben aus den Verben erstellt, die unter allen Unterschlüsseln registriert sind.

Nachdem die Shell einen vordefinierten Satz von Registrierungsspeicherorten nach Informationen zu einem Shell-Element abgefragt hat, werden die Registrierungsspeicherorte von der spezifischsten Position bis zum allgemeinsten in ein Array verschoben.

Da Zuordnungsarrays sortierte Listen sind, stellen sie Anwendungsentwicklern einen Mechanismus zum Hinzufügen von Informationen zur Registrierung bereit, die für einen bestimmten Elementtyp zurückgegeben werden. Ebenso ermöglichen Zuordnungsarrays Anwendungsentwicklern das Hinzufügen von Informationen zur Registrierung für eine bestimmte Gruppe von Elementen, wenn diese Elemente an einem allgemeineren Speicherort registriert werden. Diese Logik informiert Ihre Entscheidung über den am besten geeigneten Speicherort in der Registrierung, um Informationen zu Shell-Elementen zu speichern.

Auf einem Windows-Standardsystem weist eine .jpg Datei das folgende Zuordnungsarray auf:

  • HKEY_CLASSES_ROOT\jpgfile
  • HKEY_CLASSES_ROOT\SystemFileAssociations-\.jpg
  • HKEY_CLASSES_ROOT\Bild
  • HKEY_CLASSES_ROOT\*
  • HKEY_CLASSES_ROOT\AllFilesystemObjects

Informationen zum Registrieren von Zuordnungsarrays finden Sie unter Anwendungsregistrierung.

Abfragen von Zuordnungsarrays

Es gibt Shell-APIs zum Abrufen von Informationen aus einem Bereich von Registrierungsunterschlüsseln, vom spezifischsten Registrierungsunterschlüssel bis hin zu einer Obermenge der Informationen in allen Registrierungsunterschlüsseln.

Die häufigste Verwendung eines Zuordnungsarrays besteht darin, einen einzelnen Wert abzufragen, den die Shell aus dem spezifischsten Element im Array zurückgibt, das die angeforderten Informationen enthält. Das folgende Codebeispiel zeigt, wie das geht.

IQueryAssociations *pqa;

// pShellItem is assumed to be an existing IShellItem object.
hr = pShellItem->BindToHandler(NULL, BHID_AssociationArray, IID_PPV_ARGS(&pqa));
if (SUCCEEDED(hr))
{
    wchar_t szValue[256];
    DWORD cbValue = sizeof(szValue);      // Count of bytes in the array

    hr = pqa->GetData(0, ASSOCDATA_VALUE, L"InfoTip", szValue, &cbValue);
    if (SUCCEEDED(hr))
    {
        // The "InfoTip" value is used to compute the infotip string from
        // properties of an item.
    }
    pqa->Release();
}

Die folgenden APIs können zum Abfragen eines Zuordnungsarrays oder zum Erstellen eines Zuordnungsarrays IQueryAssociations- Objekts verwendet werden, das abgefragt werden kann:

Arbeiten mit Zuordnungsarrays für eine bestimmte Shell-Datenquelle

Jede Shell-Datenquelle definiert das Zuordnungsarray für die zugehörigen Elemente. Das Definieren eines Zuordnungsarrays ist in der Regel eine Funktion des Elementtyps. Shell-Datenquellenimplementierer sollten die Zuordnungsarrays definieren und dokumentieren, damit Anwendungen das Verhalten dieser Typen erweitern können, z. B. zum Registrieren von Verben oder anderen Informationen. Anwendungen können das Verhalten von Elementen basierend auf dem Hinzufügen von Daten zu den Zuordnungsarray-Unterschlüsseln erweitern, z. B. das Hinzufügen von Verben für Elemente.

Die Dateisystemdatenquelle erstellt ein Zuordnungsarray für Dateien basierend auf den folgenden Registrierungsunterschlüsseln und speziellen ProgIDs:

  • Wenn die Datei über eine registrierte ProgID verfügt, wird HKEY_CLASSES_ROOT\ProgID- verwendet. Andernfalls wird HKEY_CLASSES_ROOT\Unbekannter verwendet.

  • Die Dateinamenerweiterung wird unter HKEY_CLASSES_ROOT\SystemFileAssociations\.fileExtension Unterschlüssel registriert.

  • Spezielle ProgIDs werden in der folgenden Tabelle angezeigt.

    Spezielle ProgID Beschreibung
    HKEY_CLASSES_ROOT\* Alle Dateien (nicht ordner)
    HKEY_CLASSES_ROOT\AllFilesystemObjects Dateien und Dateisystemordner
    HKEY_CLASSES_ROOT\Verzeichnis- Dateisystemordner
    HKEY_CLASSES_ROOT\Ordner- Shellcontainer

     

Shell-Datenquellenzuordnungsarrays

Die folgende Liste stellt einige der Shell-Datenspeicherzuordnungsarrays dar, die für die in diesem Thema beschriebenen Zwecke verwendet werden können:

  • HKEY_CLASSES_ROOT\*
  • HKEY_CLASSES_ROOT\AllFilesystemObjects
  • HKEY_CLASSES_ROOT\Kind.Document-
  • HKEY_CLASSES_ROOT\Ergebnisse
  • HKEY_CLASSES_ROOT\SystemFileAssociations-\.docx
  • HKEY_CLASSES_ROOT\Word.Document.12-

Shell-Datenquellenzuordnungsarrays, die für DBFolder verwendet werden können (ein Shell-Datenspeicher, der Elemente in Suchergebnissen und abfragebasierten Ansichten darstellt) sind wie folgt:

  • Antriebe
  • Netz
  • RegItems
  • Beispiele:
    • ContentView
    • Verben

Andere allgemeine Zuordnungsarrays umfassen Ordner und Drucker.

Zusätzliche Ressourcen

Anwendungsregistrierung

Dateitypen

Funktionsweise von Dateizuordnungen

Inhaltsansicht nach Dateityp oder Art

Dateitypüberprüfung

Dateityphandler

Programmatic Identifiers

wahrgenommenen Typen