Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als u gedeelde geheugenbronnen wilt toewijzen voor een VM-wachtrij, roept een minipoortstuurprogramma de functie NdisAllocateSharedMemory aan . Het minipoortstuurprogramma wijst bijvoorbeeld gedeeld geheugen toe wanneer het de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE OID ontvangt. Daarnaast kan een minipoortstuurprogramma gedeeld geheugen toewijzen voor de standaardwachtrij tijdens de initialisatie van de netwerkadapter. Zie Een VM-wachtrij toewijzenvoor meer informatie over het toewijzen van wachtrijen.
Het minipoortstuurprogramma kan meer geheugen toewijzen voor de wachtrij totdat de wachtrij vrij is. Zie Een VM-wachtrij vrijmaken voor meer informatie over het vrijmaken van een wachtrij.
De NDIS_SHARED_MEMORY_PARAMETERS-structuur geeft de parameters voor gedeeld geheugen op voor een aanvraag voor gedeelde geheugentoewijzing. Miniportstuurprogramma's geven deze structuur door aan de functie NdisAllocateSharedMemory . NDIS geeft deze structuur door aan de functie NetAllocateSharedMemory (dat wil gezegd het ALLOCATE_SHARED_MEMORY_HANDLER toegangspunt).
Wanneer een minipoortstuurprogramma gedeeld geheugen toewijst, geeft dit het volgende op:
Wachtrij-identificatie.
Lengte van gedeeld geheugen.
Hoe het gedeelde geheugen wordt gebruikt. Het minipoortstuurprogramma geeft bijvoorbeeld NdisSharedMemoryUsageReceive op als het gedeelde geheugen moet worden gebruikt voor ontvangstbuffers.
Als de vlag NDIS_SHARED_MEM_PARAMETERS_CONTIGOUS niet is ingesteld in het lid Vlaggen, kan gedeeld geheugen worden opgegeven in een spreidingsverzamelingslijst die zich in niet-aaneengesloten geheugen bevindt.
De NDIS_SHARED_MEMORY_USAGE opsomming geeft aan hoe gedeeld geheugen wordt gebruikt. De opsomming NDIS_SHARED_MEMORY_USAGE wordt gebruikt in de NDIS_SHARED_MEMORY_PARAMETERS - en NDIS_SCATTER_GATHER_LIST_PARAMETERS structuren. Zie voor informatie over parameters voor gedeeld geheugen in VMQ-gegevensbuffers de Gedeeld geheugen in ontvangstbuffers.
De functie NdisAllocateSharedMemory biedt het volgende voor de aanroeper:
Virtueel adres van het toegewezen geheugen.
Spreidingsverzamelaarslijst.
Gedeelde geheugengreep - voor ontvangstindicaties.
Toewijzingsgreep: gebruikt om het geheugen later te identificeren.
Miniportstuurprogramma's roepen de NdisFreeSharedMemory- functie aan om gedeeld geheugen vrij te maken voor een wachtrij. Als het minipoortstuurprogramma het gedeelde geheugen voor een niet-standaardwachtrij heeft toegewezen, maakt het het gedeelde geheugen vrij in de context van de OID_RECEIVE_FILTER_FREE_QUEUE OID, terwijl het tegelijkertijd de wachtrij vrijmaakt. Miniportstuurprogramma's maken gedeeld geheugen vrij die ze hebben toegewezen voor de standaardwachtrij in de context van de MiniportHaltEx functie.