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.