Freigeben über


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