Condividi tramite


Funzione GetBinaryTypeA (winbase.h)

Determina se un file è un file eseguibile (.exe) e, in tal caso, quale sottosistema esegue il file eseguibile.

Sintassi

BOOL GetBinaryTypeA(
  [in]  LPCSTR  lpApplicationName,
  [out] LPDWORD lpBinaryType
);

Parametri

[in] lpApplicationName

Percorso completo del file il cui tipo eseguibile deve essere determinato.

Per impostazione predefinita, il nome è limitato a MAX_PATH caratteri. Per estendere questo limite a 32.767 caratteri wide, anteporre "\\?\" al percorso. Per altre informazioni, vedere denominazione di file, percorsi e spazi dei nomi.

Mancia

A partire da Windows 10, versione 1607, è possibile acconsentire esplicitamente alla rimozione della limitazione MAX_PATH senza anteporre "\\?\". Per informazioni dettagliate, vedere la sezione "Limitazione massima della lunghezza del percorso" di nomi, percorsi e spazi dei nomi.

[out] lpBinaryType

Puntatore a una variabile per ricevere informazioni sul tipo eseguibile del file specificato da lpApplicationName. Vengono definite le costanti seguenti.

Valore Significato
SCS_32BIT_BINARY
0
Un'applicazione basata su Windows a 32 bit
SCS_64BIT_BINARY
6
Applicazione basata su Windows a 64 bit.
SCS_DOS_BINARY
1
Un'applicazione basata su MS-DOS
SCS_OS216_BINARY
5
Un'applicazione basata su sistema operativo a 16 bit/2
SCS_PIF_BINARY
3
Un file PIF che esegue un'applicazione basata su MS-DOS
SCS_POSIX_BINARY
4
Un'applicazione POSIX basata su
SCS_WOW_BINARY
2
Un'applicazione basata su Windows a 16 bit

Valore restituito

Se il file è eseguibile, il valore restituito è diverso da zero. La funzione imposta la variabile a cui punta lpBinaryType per indicare il tipo eseguibile del file.

Se il file non è eseguibile o se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni estese sull'errore, chiamare GetLastError. Se il file è una DLL, l'ultimo codice di errore è ERROR_BAD_EXE_FORMAT.

Osservazioni

In alternativa, è possibile ottenere le stesse informazioni chiamando la funzione SHGetFileInfo, passando il flag SHGFI_EXETYPE nel parametro uFlags.

Comportamento del collegamento simbolico: se il percorso punta a un collegamento simbolico, viene usato il file di destinazione.

In Windows 8 e Windows Server 2012 questa funzione è supportata dalle tecnologie seguenti.

Tecnologia Sostenuto
Protocollo SMB (Server Message Block) 3.0
SMB 3.0 Transparent Failover (TFO)
SMB 3.0 con condivisioni file con scalabilità orizzontale (SO)
Cluster Shared Volume File System (CsvFS)
Resilient File System (ReFS)
 

Nota

L'intestazione winbase.h definisce GetBinaryType 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 non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
intestazione winbase.h (include Windows.h)
libreria Kernel32.lib
dll Kernel32.dll

Vedere anche

funzioni di gestione file

SHGetFileInfo

collegamenti simbolici