KsCreateDefaultAllocatorEx-Funktion (ks.h)
Erstellt eine Standardzuteilung, die den angegebenen Speicherpool verwendet und das IoGetCurrentIrpStackLocation(pIrp)->FileObject diesem Zuteilungsobjekt mithilfe einer internen Verteilertabelle (KSDISPATCH_TABLE) zuordnet.
Syntax
KSDDKAPI NTSTATUS KsCreateDefaultAllocatorEx(
[in] PIRP Irp,
[in, optional] PVOID InitializeContext,
[in, optional] PFNKSDEFAULTALLOCATE DefaultAllocate,
[in, optional] PFNKSDEFAULTFREE DefaultFree,
[in, optional] PFNKSINITIALIZEALLOCATOR InitializeAllocator,
[in, optional] PFNKSDELETEALLOCATOR DeleteAllocator
);
Parameter
[in] Irp
Enthält die IRP mit der Zuteilungserstellungsanforderung, die verarbeitet wird.
[in, optional] InitializeContext
Enthält optional einen Kontext, der mit einer externen Zuordnung verwendet werden kann. Dies wird nur als Initialisierungskontext für den optionalen InitializeAllocator-Rückruf beim Erstellen eines Zuordnungskontexts verwendet. Der Parameter wird nicht anderweitig verwendet. Wenn kein externer Zuweisungsator bereitgestellt wird, muss dieser Parameter auf NULL festgelegt werden.
[in, optional] DefaultAllocate
Enthält optional eine externe Zuordnungsfunktion, die anstelle der Standardpoolzuordnung verwendet wird. Wenn dies NULL ist, wird die Standardzuordnung verwendet.
[in, optional] DefaultFree
Enthält optional eine externe freie Funktion, die anstelle der Standardpoolzuordnung verwendet wird. Wenn kein externer Zuweisungsator bereitgestellt wird, muss dieser Parameter auf NULL festgelegt werden.
[in, optional] InitializeAllocator
Enthält optional eine externe Zuteilungsinitialisierungsfunktion, an die der InitializeContext-Parameter übergeben wird. Es wird erwartet, dass diese Funktion einen Zuordnungskontext basierend auf der Zuteilungsrahmen zurückgibt. Wenn kein externer Zuweisungsator bereitgestellt wird, muss dieser Parameter auf NULL festgelegt werden.
[in, optional] DeleteAllocator
Enthält optional eine externe Zuordnungsfunktion zum Löschen, die für externe Zuteilungen verwendet wird. Wenn kein externer Zuweisungsator bereitgestellt wird, muss dieser Parameter auf NULL festgelegt werden.
Rückgabewert
Gibt STATUS_SUCCESS zurück, andernfalls ein Fehler bei der Standardzuordnungserstellung. Schließt die IRP nicht ab oder legt die status im IRP fest.
Hinweise
Vor dem Aufrufen dieser Routine sollte das KSCREATE_ITEM_IRP_STORAGE(Irp) -Makro einen Zeiger auf die KSOBJECT_CREATE_ITEM Struktur zurückgeben, bei der es sich um das Erstellungselement für diese Zuordnung handelt. KsCreateDefaultAllocatorEx legt FsContext so fest, dass er auf den Rückgabewert dieses Makros verweist. Daher kann FsContext später für Sicherheitsdeskriptorabfragen oder -änderungen verwendet werden.
Sie finden KSCREATE_ITEM_IRP_STORAGE(Irp) und verwandte Makros in ks.h.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | ks.h (einschließlich Ks.h) |
Bibliothek | Ks.lib |