Routine di supporto del driver Storport
Questa pagina classifica alcune delle routine di supporto fornite ai miniport dal driver Storport fornito dal sistema. Per un elenco completo, vedere storport.h .
Per un elenco delle routine miniport del driver Storport, vedere Routine del driver Miniport Storport.
Routine di supporto per l'accesso diretto alla memoria
Il driver Storport fornisce le routine di supporto di DMA (Direct Memory Access) seguenti.
Routine | Descrizione |
---|---|
StorPortBuildScatterGatherList | Crea un elenco di dispersione/raccolta per il buffer di dati specificato. |
StorPortGetScatterGatherList | Recupera l'elenco a dispersione/raccolta associato per il blocco di richiesta SCSI specificato . |
StorPortPutScatterGatherList | Rilascia tutte le risorse associate a un elenco a dispersione/raccolta creato in precedenza da una chiamata alla routine StorPortBuildScatterGatherList . |
Routine di supporto generale
Storport fornisce le routine di supporto generali seguenti.
Routine | Descrizione |
---|---|
StorPortDebugPrint | Stampa una stringa di debug nel debugger del kernel, se il debugger è collegato. |
StorPortEtwEvent2 | Pubblica un evento Di traccia eventi per Windows (ETW) in un canale di traccia di archiviazione. Il miniport può registrare due parametri ETW per utilizzo generico. I parametri ETW vengono espressi come due coppie nome-valore. |
StorPortEtwEvent4 | Pubblica un evento ETW in un canale di traccia di archiviazione. Il miniport può registrare quattro parametri ETW per utilizzo generico. I parametri ETW vengono espressi come quattro coppie nome-valore. |
StorPortEtwEvent8 | Pubblica un evento ETW in un canale di traccia di archiviazione. Il miniport può registrare otto parametri ETW per utilizzo generico. I parametri ETW vengono espressi come otto coppie nome-valore. |
StorPortGetActivityIdSrb | Recupera l'ID attività ETW associato a un blocco di richiesta. |
StorPortGetDeviceObjects | Restituisce gli oggetti dispositivo associati allo stack di dispositivi dell'adattatore. Gli oggetti dispositivo che verranno restituiti sono gli oggetti del dispositivo funzionale e fisico dell'adattatore e l'oggetto dispositivo a cui è collegato l'oggetto dispositivo funzionale. |
StorPortGetSystemPortNumber | Recupera il numero di porta assegnato dal sistema per una scheda di archiviazione. |
StorPortInitializeSListHead | Inizializza l'head di un elenco collegato gestito da Storport. |
StorPortInterlockedFlushSList | Rimuove tutti gli elementi da un elenco collegato gestito da Storport. L'accesso all'elenco viene sincronizzato in un sistema multiprocessore |
StorPortInterlockedPopEntrySList | Rimuove un elemento dalla parte anteriore di un elenco collegato gestito da Storport. L'accesso all'elenco viene sincronizzato in un sistema multiprocessore. |
StorPortInterlockedPushEntrySList | Inserisce un elemento nella parte anteriore di un elenco collegato gestito da Storport. L'accesso all'elenco viene sincronizzato in un sistema multiprocessore. |
StorPortInvokeAcpiMethod | Esegue un metodo ACPI per un dispositivo di archiviazione. |
StorPortIsCurrentOsInstallationUpgrade | Verifica se l'installazione corrente di Windows è un aggiornamento da una versione precedente o meno. |
StorPortIsDeviceOperationAllowed | Consente a un miniport di determinare se le operazioni per una determinata classe di gestione dei dispositivi sono consentite. |
StorPortLogError | Notifica al driver di porta che si è verificato un errore. |
StorPortLogSystemEvent | Offre ai driver miniport l'accesso completo alle funzionalità della struttura eventi kernel di Windows, consentendo ai driver miniport di creare voci del registro eventi che sono veramente utili per la risoluzione dei problemi di archiviazione. Offre un'alternativa migliore a StorPortLogError. |
StorPortQueryDepthSList | Recupera il numero di voci in un elenco collegato gestito da Storport. |
StorPortQueryPerformanceCounter | Query e restituisce il valore del contatore delle prestazioni del sistema corrente. |
StorPortQuerySystemTime | Ottiene l'ora di sistema corrente. |
StorPortRegistryRead | Legge i dati del Registro di sistema per il dispositivo e il valore indicati. |
StorPortRegistryReadAdapterKey | Legge le chiavi dell'adattatore del Registro di sistema hardware o dispositivo presenti nel Registro di sistema HKLM/CurrentControlSet/Enum/<Percorso> istanza/DeviceParameters/.... |
StorPortRegistryWriteAdapterKey | Scrive le chiavi dell'adattatore del Registro di sistema hardware o del dispositivo presenti nel Registro di sistema HKLM/CurrentControlSet/Enum/<Instance path>/DeviceParameters/.... |
StorPortRegistryWrite | Converte i dati del Registro di sistema contenuti in un buffer specificato da ASCII a Unicode e quindi scrive i dati nell'area di archiviazione per-HBA del driver miniport. |
Routine di supporto per l'elaborazione delle richieste di I/O
Storport fornisce le routine di supporto per l'elaborazione delle richieste di I/O seguenti.
Routine | Descrizione |
---|---|
StorPortBusy | Notifica al driver di porta che l'adattatore è attualmente occupato e gestisce le richieste in sospeso. |
StorPortCompleteRequest | Completa tutte le richieste in sospeso impostando il valore di stato SRB su SrbStatus. |
StorPortCompleteServiceIrp | Chiamato da un driver miniport virtuale Storport quando deve completare una richiesta ricevuta nella routine di callback HwStorProcessServiceRequest. |
StorPortDeviceBusy | Notifica al driver di porta che l'unità logica specificata è attualmente occupato, gestendo le richieste in sospeso. |
StorPortDeviceReady | Notifica al driver di porta che l'unità logica indicata è pronta per gestire nuove richieste. |
StorPortFreeWorker | Libera un elemento di lavoro Storport allocato in precedenza dalla routine StorPortInitializeWorker . |
StorPortGetRequestInfo | Recupera le informazioni sulla richiesta I/O associate a un blocco di richieste SCSI (SRB) e lo restituisce in una struttura STOR_REQUEST_INFO. |
StorPortInitializeWorker | Crea un nuovo elemento di lavoro Storport eseguito in un thread di lavoro di sistema. |
StorPortQueueWorkItem | Pianifica l'esecuzione di un elemento di lavoro Storport nel contesto di un thread di lavoro di sistema. |
StorPortPause | Sospende un adattatore per il periodo di tempo specificato. |
StorPortPauseDevice | Sospende un dispositivo di unità logica specifico per il periodo di tempo specificato. |
StorPortReady | Notifica al driver della porta che l'adattatore non è più occupato. |
StorPortResume | Riprende un adattatore sospeso. |
StorPortResumeDevice | Riprende un'unità logica sospesa in precedenza. |
Routine di supporto per l'inizializzazione
Il driver Storport fornisce le routine di supporto di inizializzazione seguenti.
Routine | Descrizione |
---|---|
StorPortEnablePassiveInitialization | Abilita la routine di callback HwStorPassiveInitializeRoutine da eseguire in PASSIVE_LEVEL durante l'inizializzazione miniport. |
StorPortGetActiveGroupCount | Restituisce il numero di gruppi di processori presenti nel sistema. |
StorPortGetActiveNodeCount | Restituisce il numero di nodi presenti nel sistema. |
StorPortGetBusData | Recupera le informazioni di configurazione specifiche del bus necessarie per inizializzare l'HBA. |
StorPortGetCurrentProcessorNumber | Recupera il numero di processore corrente dal kernel. |
StorPortGetGroupAffinity | Costruisce una maschera dei processori attivi in un gruppo richiesto. |
StorPortGetHighestNodeNumber | Restituisce il numero di nodo più grande possibile nel sistema. |
StorPortGetLogicalProcessorRelationship | Restituisce informazioni sulla relazione per uno o più tipi specificati. Questi tipi includono gruppi, pacchetti fisici e nodi nel sistema host. Le informazioni restituite includono maschere di affinità processore composte dai processori logici nel sistema host. Questi processori logici condividono i tipi di relazione specificati. |
StorPortGetLogicalUnit | Restituisce un puntatore all'area di archiviazione per unità logica del driver miniport. |
StorPortGetNodeAffinity | Costruisce una maschera dei processori attivi in un nodo NUMA (Non Uniform Memory Access) richiesto. |
StorPortGetStartIoPerfParams | Places i parametri delle prestazioni per una determinata richiesta di I/O in una struttura STARTIO_PERFORMANCE_PARAMETERS. |
StorPortInitialize | Inizializza i parametri del driver di porta e i dati dell'estensione. StorPortInitilize salva anche le informazioni sull'adattatore fornite dal driver miniport. |
StorPortInitializePerfOpts | Inizializza le ottimizzazioni delle prestazioni supportate sia dal driver miniport che dal driver Storport usando una struttura PERF_CONFIGURATION_DATA. |
StorPortSetAdapterBusType | Usato per modificare il busType della scheda a seconda della configurazione corrente. L'impostazione del busType con questa routine consente di eseguire l'override della proprietà globale impostata nel miniport INF senza dover reinstallare il driver. Questo è utile per scenari come il supporto RAID o il supporto per più adattatori con un tipo di bus diverso. |
StorPortSetBusDataByOffset | Scrive informazioni di configurazione specifiche del bus. |
StorPortSetDeviceQueueDepth | Imposta la profondità massima della coda del dispositivo per il dispositivo indicato. |
StorPortSetPowerSettingNotificationGuids | Consente a un miniport di ricevere notifiche di impostazione dell'alimentazione. Il miniport registra una matrice di GUID che identificano le impostazioni di alimentazione per ricevere notifiche di modifica della potenza per. |
StorPortSetUnitAttributes | Registra gli attributi di alimentazione di un dispositivo unità di archiviazione con il driver Storport. |
Routine di supporto di interruzioni
Il driver Storport fornisce le routine di supporto degli interruzioni seguenti.
Routine | Descrizione |
---|---|
StorPortGetMSIInfo | Recupera le informazioni sull'interruzione del messaggio segnalato per il messaggio specificato. |
StorPortSynchronizeAccess | Fornisce l'accesso sincronizzato all'estensione del dispositivo del driver miniport. |
StorPortInitializeDpc | Inizializza una chiamata di procedura posticipata storPort (DPC). |
StorPortIssueDpc | Rilascia un DPC Storport. |
StorPortStallExecution | Stalla il conducente del miniport. |
Routine di supporto di blocco
Il driver Storport fornisce le routine di supporto di blocco seguenti.
Routine | Descrizione |
---|---|
StorPortAcquireMSISpinLock | Acquisisce il blocco di spin interrupt (MSI) segnalato dal messaggio associato al messaggio specificato. |
StorPortAcquireSpinLock | Acquisisce il blocco spin specificato. |
StorPortReleaseMSISpinLock | Rilascia un blocco di spin msi acquisito in precedenza per il messaggio specificato. |
StorPortReleaseSpinLock | Rilascia uno spinlock acquisito da StorPortAcquireSpinLock. |
Routine di supporto per la gestione della memoria
Il driver Storport fornisce le routine di supporto per la gestione della memoria seguenti.
Routine | Descrizione |
---|---|
StorPortAllocateContiguousMemorySpecifyCacheNode | Alloca un intervallo di memoria non con estensione contigua fisicamente contigua e non con pagine. |
StorPortAllocateMdl | Alloca un MDL per descrivere la memoria del pool non a pagina specificata. |
StorPortAllocatePool | Alloca un blocco di memoria del pool non contiguo e non a pagina. |
StorPortAllocateRegistryBuffer | Alloca un buffer che può usare un miniport per leggere e scrivere dati del Registro di sistema. |
StorPortBuildMdlForNonPagedPool | Aggiornamenti MDL per descrivere la memoria non a pagina associata. |
StorPortConvertUlongToPhysicalAddress | Converte un indirizzo long senza segno in un indirizzo fisico. |
StorPortConvertPhysicalAddressToULong64 | Converte un indirizzo fisico in un valore ULONG64. |
StorPortFreeMdl | Libera un elenco di descrittori di memoria (MDL) che descrive la memoria del pool non di paging. |
StorPortFreeContiguousMemorySpecifyCache | Dealloca un intervallo di memoria non memorizzata nella parte non di paging dello spazio indirizzi di sistema. |
StorPortFreePool | Libera un blocco di memoria allocato in precedenza da una chiamata alla routine StorPortAllocatePool . |
StorPortFreeRegistryBuffer | Libera il buffer allocato per l'archiviazione dei dati del Registro di sistema. |
StorPortGetDataInBufferMdl | Restituisce un MDL associato al buffer dei dati di input di un blocco di richieste SCSI (SRB). |
StorPortGetDataInBufferScatterGatherList | Restituisce l'elenco di raccolta a dispersione associato al buffer dei dati di input di un blocco di richieste SCSI (SRB). |
StorPortGetDataInBufferSystemAddress | Restituisce l'indirizzo di sistema per il buffer dei dati di input di un blocco di richieste SCSI (SRB). |
StorPortGetOriginalMdl | Restituisce il file MDL associato all'oggetto SRB specificato. |
StorPortGetVirtualAddress | Ottiene un indirizzo virtuale mappato all'indirizzo fisico indicato. |
StorPortGetPhysicalAddress | Converte un intervallo di indirizzi virtuali specificato in un intervallo di indirizzi fisico per un'operazione DMA. |
StorPortGetSystemAddress | Restituisce un indirizzo virtuale nello spazio di sistema per il buffer di dati del blocco di richieste SCSI specificato. |
StorPortGetUncachedExtension | Alloca un buffer comune non memorizzato nella cache per essere condiviso dalla CPU e dal dispositivo. |
StorPortMarkDumpMemory | Un miniport deve contrassegnare la memoria usata per il file di dump o il file di ibernazione. La memoria contrassegnata viene mantenuta e rimane valida dopo una ripresa dall'operazione di ibernazione. La memoria da contrassegnare viene specificata da un indirizzo e dalla lunghezza dell'intervallo in una chiamata a StorPortMarkDumpMemory. |
StorPortMoveMemory | Copia la memoria da un buffer a un altro. |
Routine di supporto delle notifiche
Il driver Storport fornisce le routine di supporto per le notifiche seguenti.
Routine | Descrizione |
---|---|
StorPortAsyncNotificationDetected | Notifica al driver Storport di un evento di modifica dello stato del dispositivo di archiviazione. |
StorPortNotification | Notifica al driver Storport di determinati eventi e condizioni. |
StorPortStateChangeDetected | Notifica al driver della porta Storport una modifica dello stato per un numero di unità logica (LUN), una porta HBA (Host Bus Adapter) o un dispositivo di destinazione. |
Porte e registri routine di supporto di I/O
Il driver Storport fornisce la porta seguente e registra le routine di supporto di I/O.
Routine | Descrizione |
---|---|
StorPortGetDeviceBase | Esegue il mapping di un indirizzo di I/O allo spazio indirizzi del sistema. |
StorPortFreeDeviceBase | Libera una gamma di memoria di I/O del dispositivo mappata da StorPortGetDeviceBase. |
StorPortReadPortBufferUchar | Legge un valore da un indirizzo di porta specificato |
StorPortReadPortBufferUlong | Legge un valore da un indirizzo di porta specificato. |
StorPortReadPortBufferUshort | Legge un valore da un indirizzo di porta specificato. |
StorPortReadPortUchar | Legge un valore da un indirizzo di porta specificato |
StorPortReadPortUlong | Legge un valore da un indirizzo di porta specificato. |
StorPortReadPortUshort | Legge un valore da un indirizzo di porta specificato. |
StorPortReadRegisterBufferUchar | Legge un valore da un indirizzo di registro specificato. |
StorPortReadRegisterBufferUlong | Legge un valore da un indirizzo di registro specificato. |
StorPortReadRegisterBufferUlong64 | Legge un numero di valori ULONG64 dall'indirizzo del registro a 64 bit specificato in un buffer. |
StorPortReadRegisterBufferUshort | Legge un valore da un indirizzo di registro specificato. |
StorPortReadRegisterUchar | Legge un valore da un indirizzo di registro specificato. |
StorPortReadRegisterUlong | Legge un valore da un indirizzo di registro specificato. |
StorPortReadRegisterUlong64 | Legge un valore a 64 bit da un indirizzo di registro a 64 bit specificato. |
StorPortReadRegisterUshort | Legge un valore da un indirizzo di registro specificato. |
StorPortValidateRange | Determina se un intervallo specificato di indirizzi di I/O è in uso da un'altra scheda. Questa routine è obsoleta nei sistemi operativi Windows NT 4.0 e versioni successive. |
StorPortWritePortBufferUchar | Scrive un valore in un indirizzo di registro specificato. |
StorPortWritePortBufferUlong | Scrive un valore in un indirizzo di registro specificato. |
StorPortWritePortBufferUshort | Scrive un valore in un indirizzo di registro specificato. |
StorPortWritePortUchar | Scrive un valore in un indirizzo di registro specificato. |
StorPortWritePortUlong | Scrive un valore in un indirizzo di registro specificato. |
StorPortWritePortUshort | Scrive un valore in un indirizzo di registro specificato. |
StorPortWriteRegisterBufferUchar | Trasferisce un determinato numero di byte senza segno da un buffer all'HBA. |
StorPortWriteRegisterBufferUlong | Trasferisce un determinato numero di valori ULONG da un buffer all'HBA. |
StorPortWriteRegisterBufferUlong64 | Scrive un numero di valori ULONG64 da un indirizzo di registro a 64 bit specificato. |
StorPortWriteRegisterBufferUshort | Trasferisce un determinato numero di valori USHORT da un buffer all'HBA. |
StorPortWriteRegisterUchar | Trasferisce un determinato numero di valori di carattere da un buffer all'indirizzo di registro HBA indicato. |
StorPortWriteRegisterUlong | Trasferisce un valore ULONG all'indirizzo del registro HBA indicato. |
StorPortWriteRegisterUlong64 | Scrive un valore ULONG64 nell'indirizzo di registro specificato. |
StorPortWriteRegisterUshort | Trasferisce un valore ULONG all'indirizzo del registro HBA indicato. |
Routine di supporto per il risparmio energia di runtime
Il driver Storport fornisce le routine di supporto per il risparmio energia di runtime seguenti.
Routine | Descrizione |
---|---|
StorPortInitializePoFxPower | Registra un dispositivo di archiviazione con il framework di risparmio energia (PoFx). |
StorPortPoFxActivateComponent | Incrementa il conteggio dei riferimenti di attivazione sul componente specificato di un dispositivo di archiviazione. |
StorPortPoFxIdleComponent | Decrementa il conteggio dei riferimenti di attivazione di un componente specificato di un dispositivo di archiviazione. |
StorPortPoFxPowerControl | Invia una richiesta di controllo alimentazione al framework di risparmio energia (PoFx) per inoltrare al plug-in del motore di alimentazione (PEP). |
StorPortPoFxSetComponentLatency | Specifica la latenza massima che può essere tollerata nella transizione dalla condizione di inattività alla condizione attiva nel componente del dispositivo di archiviazione specificato. |
StorPortPoFxSetComponentResidency | Imposta il tempo stimato per quanto tempo è probabile che un componente del dispositivo di archiviazione rimanga inattiva dopo che il componente entra nella condizione di inattività. |
Routine di supporto timer
Il driver Storport fornisce le routine di supporto timer seguenti.
Routine | Descrizione |
---|---|
StorPortFreeTimer | Libera un oggetto contesto timer Storport creato in precedenza dalla routine StorPortInitializeTimer . |
StorPortInitializeTimer | Crea un oggetto contesto timer Storport. |
StorPortRequestTimer | Pianifica un evento di callback per un oggetto contesto timer Storport. |
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per