INFO: il servizio PageFile_Call_Async_Manager di Windows 98

Traduzione articoli Traduzione articoli
Identificativo articolo: 223294 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo č stato precedentemente pubblicato con il codice di riferimento I223294
Espandi tutto | Chiudi tutto

Sommario

In Windows 98 č disponibile una nuova funzionalitā, PageFile_Call_Async_Manager, che consente al gestore della memoria di effettuare operazioni di scrittura asincrone nei buffer del file di paging (file di scambio) durante i periodi di inattivitā del file system VFAT.

Questa funzionalitā puō influenzare il comportamento dei VxD che monitorano e/o intercettano le funzioni VxD del file di paging. Questo articolo č applicabile se il proprio VxD esegue un hook a PageFile_Read_Or_Write e si scopre che non viene visualizzato tutto il traffico del file di paging quando si utilizza Windows 98.

Informazioni

Č possibile disattivare questa caratteristica, che comporta il funzionamento del sistema come Windows 95, con qualche svantaggio in termini di prestazioni complessive del sistema. Aggiungere la voce seguente alla sezione [386Enh] del file System.ini:
[386Enh]
ConservativeSwapfileUsage=1
Quando il valore booleano precedente č impostato a TRUE come mostrato, PageFile_Call_Async_Manager non viene mai chiamato. Se questa voce non č presente in System.ini, l'impostazione predefinita per ConservativeSwapfileUsage č 1 per Windows 95 e 0 (zero) per Windows 98.

Quando Windows 98 effettua operazioni di scrittura asincrone nel file di scambio, questa attivitā non viene catturata eseguendo un hook a PageFile_Read_Or_Write(). Il servizio PageFile_Set_Async_Manager viene chiamato da VFAT per notificare al file di paging che VFAT č il gestore dell'attivitā asincrona del file di scambio. In questo modo, il servizio PageFile_Call_Async_Manager verrā gestito da una routine interna a VFAT.

Il gestore della memoria chiama PageFile_Call_Async_Manager, fornendo al servizio un puntatore alla routine mmFsIdle (Filesystem Idle) nel gestore della memoria (MM, Memory Manager). In seguito, VFAT chiamerā questa funzione quando č completamente inattivo (tutte le operazioni di scrittura di VFAT in attesa sono state completate), in modo tale che il gestore della memoria possa eseguire operazioni di scrittura asincrone:
ULONG INTERNAL mmFsIdle(void);
Al termine, PageFile_Call_Async_Manager restituirā un puntatore a una funzione, che verrā utilizzata dal gestore della memoria per eseguire operazioni di scrittura asincrone nel file di paging:
extern int (CDECL *pfnAsyncPageOut)(PVOID pvBuffer, ULONG bFileOffset);
Questa funzione si trova in realtā all'interno di VFAT (WriteAsyncSwapPage), che copia una pagina nel relativo buffer di cache e la scrive. MmFsIdle utilizza un algoritmo che genera chiamate pfnAsyncPageOut, che in realtā sono chiamate alla routine VFAT interna.

Di seguito č descritto come avviene la registrazione del gestore della memoria con VFAT:
mov      eax, offset32 _mmFsIdle@0   ; Richiamata inattiva.
VxDCall  PageFile_Call_Async_Manager ; NOTA: il gestore č VFAT.
jc       DICDoneP                    ; Non riuscita.
mov     _pfnAsyncPageOut, eax

Proprietā

Identificativo articolo: 223294 - Ultima modifica: mercoledė 29 dicembre 2004 - Revisione: 1.1
Le informazioni in questo articolo si applicano a
  • Microsoft Windows 98 Standard Edition
  • Microsoft Windows 98 Driver Development Kit (DDK)
Chiavi: 
kbddk kbinfo kbkmode kboswin98 KB223294
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com