SECTION_OBJECT_POINTERS Struktur (wdm.h)
Die SECTION_OBJECT_POINTERS Struktur, die von einem Dateisystem oder einem Umleitungstreiber zugewiesen wird, wird vom Speicher-Manager und Cache-Manager verwendet, um Dateizuordnung und cachebezogene Informationen für einen Dateidatenstrom zu speichern.
Syntax
typedef struct _SECTION_OBJECT_POINTERS {
PVOID DataSectionObject;
PVOID SharedCacheMap;
PVOID ImageSectionObject;
} SECTION_OBJECT_POINTERS;
Angehörige
DataSectionObject
Undurchsichtiger Zeiger auf ein Datenabschnittsobjekt (d. h. eine CONTROL_AREA Struktur), die zum Nachverfolgen von Statusinformationen für einen Datendateidatenstrom verwendet wird. Der Speicher-Manager legt dieses Element fest, wenn das Betriebssystem zuerst den Datenstrom zwischenspeichert. Ein NULL- Wert gibt an, dass sich der Datenstrom zurzeit nicht im Arbeitsspeicher befindet. Dieser Wert kann sich jedoch jederzeit ändern.
SharedCacheMap
Undurchsichtiger Zeiger auf ein Cachezuordnungsobjekt (d. h. eine SHARED_CACHE_MAP Struktur), die zum Nachverfolgen von Ansichten verwendet wird, die dem Datendateidatenstrom zugeordnet sind. Der Cache-Manager legt dieses Element fest, wenn das Betriebssystem zuerst den Datenstrom zwischenspeichert. Ein NULL- Wert gibt an, dass der Datenstrom derzeit nicht zwischengespeichert ist; Dieser Wert kann sich jedoch jederzeit ändern.
ImageSectionObject
Undurchsichtiger Zeiger auf ein Bildabschnittsobjekt (d. h. eine CONTROL_AREA Struktur), die zum Nachverfolgen von Zustandsinformationen für einen ausführbaren Dateidatenstrom verwendet wird. Der Speicher-Manager legt dieses Element fest, wenn ein ausführbarer Bildabschnitt für den Datenstrom erstellt wird. Ein NULL--Wert gibt an, dass sich das ausführbare Bild zurzeit nicht im Arbeitsspeicher befindet. Dieser Wert kann sich jedoch jederzeit ändern.
Bemerkungen
Die SECTION_OBJECT_POINTERS Struktur verknüpft ein Dateiobjekt mit dem Abschnittsobjekt eines Dateidatenstroms. Das heißt, durch seine Member verbindet die SECTION_OBJECT_POINTERS-Struktur ein bestimmtes Dateiobjekt mit virtuellen Speichersteuerungsstrukturen, die den Inhalt des Datenstroms nachverfolgen, wenn sie sich im Arbeitsspeicher befinden, und dem Betriebssystem erlauben, diese Inhalte abzurufen, wenn sie nicht.
Es gibt eine 1:1-Beziehung zwischen einer SECTION_OBJECT_POINTERS Struktur und einem Dateidatenstrom. Mehreren Dateiobjekten kann ein bestimmter Dateidatenstrom zugeordnet werden, der jeweils eine geöffnete Instanz des Datenstroms darstellt. Es kann jedoch nur eine SECTION_OBJECT_POINTERS Struktur einem bestimmten Datenstrom zugeordnet werden. Wenn mehrere Dateiobjekte für einen Datenstrom vorhanden sind, muss der SectionObjectPointer Member für alle Dateiobjekte auf dieselbe SECTION_OBJECT_POINTERS Struktur verweisen (die dem Datenstrom zugeordnet ist).
Für die erste offene Dateistreamanforderung muss das Dateisystem oder der Umleitungstreiber Folgendes ausführen:
Zuordnen einer SECTION_OBJECT_POINTERS Struktur aus einem nicht ausseitigen Pool.
Initialisieren Sie alle Member der zugeordneten SECTION_OBJECT_POINTERS Struktur für NULL-.
Legen Sie den SectionObjectPointer Member des zugeordneten Dateiobjekts fest, um auf die initialisierte SECTION_OBJECT_POINTERS Struktur zu verweisen.
Für nachfolgende offene Anforderungen an denselben Dateidatenstrom muss das Dateisystem oder der Umleitungstreiber das SectionObjectPointer- element des zugeordneten Dateiobjekts festlegen, um auf die zuvor zugeordnete SECTION_OBJECT_POINTERS Struktur für den Dateidatenstrom zu verweisen.
Warnung
Dateisystemfiltertreiber müssen die Member der SECTION_OBJECT_POINTERS Struktur als undurchsichtig behandeln, da das zugrunde liegende Dateisystem für die Synchronisierung der Member verantwortlich ist und daher jederzeit ihre Werte ändern kann.
Je nach Dateisystem besteht eine Datei aus einem oder mehreren Datenströmen. Weitere Informationen finden Sie unter Dateidatenströme, Streamkontexte und Per-Stream Kontexte.
Anforderungen
Anforderung | Wert |
---|---|
Header- | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Fltkernel.h) |