Condividi tramite


Funzione SetupDiGetActualSectionToInstallA (setupapi.h)

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

Sintassi

WINSETUPAPI BOOL SetupDiGetActualSectionToInstallA(
  [in]            HINF   InfHandle,
  [in]            PCSTR  InfSectionName,
  [out, optional] PSTR   InfSectionWithExt,
  [in]            DWORD  InfSectionWithExtSize,
  [out, optional] PDWORD RequiredSize,
  [out, optional] PSTR   *Extension
);

Parametri

[in] InfHandle

Handle per il file INF che contiene 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, espressa 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 carattere di terminazione 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, necessari per restituire il nome della sezione DDInstall , l'estensione della piattaforma e un carattere NULL di terminazione.

[in] InfSectionWithExtSize

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

[out, optional] RequiredSize

Puntatore alla variabile che riceve la dimensione, in caratteri, necessaria per restituire il nome della sezione DDInstall , l'estensione della piattaforma e un carattere NULL di terminazione.

[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 innanzitutto nel file INF specificato un nome di sezione di installazione decorata corrispondente al nome specificato e ha un'estensione corrispondente al sistema operativo e all'architettura del processore del computer locale. Se, ad esempio, si specifica un nome di sezione 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 tale corrispondenza, 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 non è selezionato un driver per l'elemento informazioni sul dispositivo specificato, viene installato un driver Null. Al termine, i flag nella struttura SP_DEVINSTALL_PARAMS del dispositivo indicano se il sistema deve essere riavviato o riavviato per far sì che il dispositivo venga avviato.

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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

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

Vedi anche

Sezione INF DDInstall

SetupDiGetActualSectionToInstallEx

SetupDiInstallDevice