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