Condividi tramite


Routine di supporto 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 DMA (Direct Memory Access) seguenti.

Ciclo Descrizione
StorPortBuildScatterGatherList Crea un elenco a dispersione/raccolta per il buffer di dati specificato.
StorPortGetScatterGatherList Recupera l'elenco a dispersione/raccolta associato per il blocco di richieste SCSI specificato.Retrieve the associated scatter/gather list for the specified SCSI request block (SRB).
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.

Ciclo Descrizione
StorPortDebugPrint Stampa una stringa di debug nel debugger del kernel, se il debugger è collegato.
StorPortEtwEvent2 Pubblica un evento ETW (Event Tracing for Windows) in un canale di traccia di archiviazione. Il miniport può registrare due parametri ETW per utilizzo generico. I parametri ETW sono 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 sono 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 sono espressi come otto coppie nome-valore.
StorPortGetActivityIdSrb Recupera l'ID attività ETW associato a un blocco di richieste.
StorPortGetDeviceObjects Restituisce gli oggetti dispositivo associati allo stack di dispositivi dell'adattatore. Gli oggetti dispositivo restituiti sono gli oggetti 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'intestazione 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 Controlla se l'installazione corrente di Windows è un aggiornamento da una versione precedente o meno.
StorPortIsDeviceOperationAllowed Consente a un miniport di determinare se sono consentite operazioni per una determinata classe di gestione dei dispositivi.
StorPortLogError Notifica al driver di porta che si è verificato un errore.
StorPortLogTelemetry Registra un evento di telemetria miniport per diagnosticare o raccogliere informazioni utili.
StorPortLogSystemEvent Offre ai driver miniport l'accesso completo alle funzionalità della funzionalità di eventi del kernel di Windows, consentendo ai driver miniport di creare voci del registro eventi realmente 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 Esegue query e restituisce il valore corrente del contatore delle prestazioni del sistema.
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 hardware o del Registro di sistema del dispositivo che si trovano nel Registro di sistema in HKLM/CurrentControlSet/Enum/<Percorso istanza>/DeviceParameters/....
StorPortRegistryWriteAdapterKey Scrive le chiavi dell'adattatore hardware o del Registro di sistema del dispositivo che si trovano nel Registro di sistema in HKLM/CurrentControlSet/Enum/<Percorso istanza>/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.

Ciclo Descrizione
StorPortBusy Notifica al driver di porta che l'adattatore è attualmente occupato, gestendo 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 occupata, gestendo le richieste in sospeso.
StorPortDeviceReady Notifica al driver di porta che l'unità logica indicata è pronta per gestire le nuove richieste.
StorPortFreeWorker Libera un elemento di lavoro Storport allocato in precedenza dalla routine StorPortInitializeWorker .
StorPortGetRequestInfo Recupera le informazioni sulla richiesta di I/O associate a un blocco di richieste SCSI (SRB) e la 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 di 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 per l'inizializzazione seguenti.

Ciclo Descrizione
StorPortEnablePassiveInitialization Consente l'esecuzione della routine di callback HwStorPassiveInitializeRoutine del miniport in PASSIVE_LEVEL durante l'inizializzazione del 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 (Nonuniform Memory Access) richiesto.
StorPortGetStartIoPerfParams Inserisce 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 di 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 Utilizzato per modificare il busType dell'adattatore in base alla configurazione corrente. L'impostazione di BusType con questa routine consente di eseguire l'override della proprietà globale impostata nel miniport INF senza dover reinstallare il driver. Questa funzionalità è utile per scenari come il supporto RAID o il supporto per più schede 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 risparmio energia per cui ricevere notifiche di risparmio energia.
StorPortSetUnitAttributes Registra gli attributi di alimentazione di un dispositivo di unità di archiviazione con il driver Storport.

Routine di supporto interrupt

Il driver Storport fornisce le routine di supporto di interrupt seguenti.

Ciclo Descrizione
StorPortGetMSIInfo Recupera le informazioni sull'interrupt segnalato dal messaggio per il messaggio specificato.
StorPortSynchronizeAccess Fornisce l'accesso sincronizzato all'estensione del dispositivo di un driver miniport.
StorPortInitializeDpc Inizializza una chiamata di procedura posticipata StorPort (DPC).
StorPortIssueDpc Genera un DPC Storport.
StorPortStallExecution Blocca il conducente miniport.

Routine di supporto per il blocco

Il driver Storport fornisce le routine di supporto per il blocco seguenti.

Ciclo Descrizione
StorPortAcquireMSISpinLock Acquisisce il blocco di selezione dell'interrupt segnalato (MSI) associato al messaggio specificato.
StorPortAcquireSpinLock Acquisisce il blocco di selezione specificato.
StorPortReleaseMSISpinLock Rilascia un blocco 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.

Ciclo Descrizione
StorPortAllocateContiguousMemorySpecifyCacheNode Alloca un intervallo di memoria non di paging fisicamente contigua e non di paging.
StorPortAllocateMdl Alloca un file MDL per descrivere la memoria del pool non di paging specificata.
StorPortAllocatePool Alloca un blocco di memoria pool non contigua e non di paging.
StorPortAllocateRegistryBuffer Alloca un buffer che può essere usato da un miniport per leggere e scrivere dati del Registro di sistema.
StorPortBuildMdlForNonPagedPool Aggiorna il file MDL per descrivere la memoria non di 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 di 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 di dati di input di un blocco di richieste SCSI (SRB).
StorPortGetOriginalMdl Restituisce il file MDL associato all'SRB specificato.
StorPortGetVirtualAddress Ottiene un indirizzo virtuale mappato all'indirizzo fisico indicato.
StorPortGetPhysicalAddress Converte un determinato intervallo di indirizzi virtuali in un intervallo di indirizzi fisici 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 che la CPU e il dispositivo possono condividere.
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 delle notifiche seguenti.

Ciclo 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.

Routine di supporto di I/O porta e registrazione

Il driver Storport fornisce la porta seguente e registra le routine di supporto di I/O.

Ciclo Descrizione
StorPortGetDeviceBase Esegue il mapping di un indirizzo di I/O allo spazio indirizzi del sistema.
StorPortFreeDeviceBase Libera un intervallo di memoria di I/O del dispositivo mappato in precedenza a 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 specificato 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 non firmati da un buffer all'HBA.
StorPortWriteRegisterBufferUlong Trasferisce un determinato numero di valori ULONG da un buffer all'HBA.
StorPortWriteRegisterBufferUlong64 Scrive un numero specificato di valori ULONG64 da un indirizzo di registro a 64 bit specificato.
StorPortWriteRegisterBufferUshort Trasferisce un determinato numero di valori di 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 di registro HBA indicato.
StorPortWriteRegisterUlong64 Scrive un valore ULONG64 nell'indirizzo del registro specificato.
StorPortWriteRegisterUshort Trasferisce un valore ULONG all'indirizzo di registro HBA indicato.

Routine di supporto per il risparmio energia in fase di esecuzione

Il driver Storport fornisce le routine di supporto per il risparmio energia di runtime seguenti.

Ciclo 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 numero di 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 da inattività a 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.

Ciclo 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.