Condividi tramite


Funzione SetupDiGetActualSectionToInstallW (setupapi.h)

La funzione SetupDiGetActualSectionToInstall recupera la sezione INF DDInstall appropriata da usare durante l'installazione di un dispositivo da un file INF del dispositivo in un computer locale.

Sintassi

WINSETUPAPI BOOL SetupDiGetActualSectionToInstallW(
  [in]            HINF   InfHandle,
  [in]            PCWSTR InfSectionName,
  [out, optional] PWSTR  InfSectionWithExt,
  [in]            DWORD  InfSectionWithExtSize,
  [out, optional] PDWORD RequiredSize,
  [out, optional] PWSTR  *Extension
);

Parametri

[in] InfHandle

Handle del file INF contenente la sezione DDInstall .

[in] InfSectionName

Puntatore al nome della sezione DDInstall (come specificato in una sezione Modelli INF). La lunghezza massima del nome della sezione, in caratteri, è 254.

[out, optional] InfSectionWithExt

Puntatore a un buffer di caratteri per ricevere il nome della sezione DDInstall , l'estensione della piattaforma e un terminatore NULL. Si tratta del nome della sezione decorata che deve essere usato per l'installazione. Se questo parametro è NULL, InfSectionWithExtSize deve essere zero. Se questo parametro è NULL, la funzione restituisce TRUE e imposta RequiredSize sulle dimensioni, in caratteri, necessaria per restituire il nome della sezione DDInstall , l'estensione della piattaforma e un carattere NULL terminante.

[in] InfSectionWithExtSize

Dimensioni, in caratteri, del buffer InfSectionWithExt . Se InfSectionWithExt è NULL, questo parametro deve essere zero.

[out, optional] RequiredSize

Puntatore alla variabile che riceve le dimensioni, in caratteri, necessaria per restituire il nome della sezione DDInstall , l'estensione della piattaforma e un carattere NULL terminante.

[out, optional] Extension

Puntatore a una variabile che riceve un puntatore al carattere '.' che contrassegna l'inizio dell'estensione nel buffer InfSectionWithExt . Se il buffer InfSectionWithExt non viene fornito o è troppo piccolo, questo parametro non è impostato. Impostare questo parametro su NULL se non è necessario un puntatore all'estensione.

Valore restituito

Se la funzione ha esito positivo, restituisce TRUE. Se la funzione ha esito negativo, restituisce FALSE. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Questa funzione supporta le estensioni ai nomi di sezione DDInstall usati per specificare comportamenti di installazione specifici del sistema operativo e specifici dell'architettura per un dispositivo. Per informazioni su queste estensioni, vedere Creazione di file INF per più piattaforme e sistemi operativi. SetupDiGetActualSectionToInstall cerca un nome di sezione DDInstall corrispondente al computer locale nel modo descritto di seguito.

La funzione cerca prima nel file INF specificato per un nome di sezione installato decorato che corrisponde al nome specificato e ha un'estensione che corrisponde all'architettura del sistema operativo e del processore del computer locale. Se, ad esempio, si specifica un nome di sezione di InstallSec, la funzione cerca uno dei nomi decorati seguenti, a seconda dell'architettura del processore del computer locale:

  • Per un computer basato sull'architettura del processore x86, la funzione cerca il nome decorato InstallSec.ntx86.
  • Per un computer basato sull'architettura del processore x64, la funzione cerca il nome decorato InstallSec.ntamd64.
  • Per un computer basato sull'architettura del processore Itanium, la funzione cerca il nome decorato InstallSec.ntia64.
Se la funzione trova una corrispondenza per il nome, il sistema operativo e l'architettura del processore, termina la ricerca e restituisce il nome decorato corrispondente. Se la funzione non trova una corrispondenza di questo tipo, la funzione cerca una sezione il cui nome è InstallSec.NT. Se la funzione trova una corrispondenza per InstallSec.NT, termina la ricerca e restituisce questo nome. Se la funzione non trova una corrispondenza per una delle ricerche precedenti, restituisce InstallSec, ma non verifica che il file INF contenga una sezione di installazione il cui nome è InstallSec.

Il nome della sezione DDInstall viene usato come base per i nomi di sezione Hardware e Services . Ad esempio, se il nome della sezione DDInstall trovato è InstallSec.NTX86, il nome della sezione Servizi deve essere denominato InstallSec.NTX86.Services.

Il nome della sezione DDInstall originale specificato nel nodo driver viene scritto nella voce del valore InfSection della chiave del Registro di sistema del driver. L'estensione trovata viene archiviata nella chiave come valore REG_SZ InfSectionExt. Ad esempio:

InfSection       : REG_SZ :    "InstallSec"
InfSectionExt    : REG_SZ :    ".NTX86"

Se un driver non è selezionato per l'elemento informazioni del dispositivo specificato, viene installato un driver Null. Al ritorno, i flag nella struttura SP_DEVINSTALL_PARAMS del dispositivo indicano se il sistema deve essere riavviato o riavviato per causare l'avvio del dispositivo.

Nota

L'intestazione setupapi.h definisce SetupDiGetActualSectionToInstall come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Microsoft Windows 2000 e versioni successive di Windows.
Piattaforma di destinazione Desktop
Intestazione setupapi.h (includere Setupapi.h)
Libreria Setupapi.lib

Vedi anche

Sezione INF DDInstall

SetupDiGetActualSectionToInstallEx

SetupDiInstallDevice