Uso di MIDL
Tutte le interfacce per i programmi che usano RPC devono essere definite in Microsoft Interface Definition Language (MIDL) e compilate con il compilatore MIDL. Gli argomenti seguenti illustrano una breve panoramica della creazione e della compilazione di un'interfaccia MIDL:
Per una discussione dettagliata di questi argomenti, vedere IDL e ACF Files.
I file MIDL sono file di testo che è possibile creare e modificare con un editor di testo. Se si genera un UUID per l'interfaccia, in genere si archivierà l'output in un file MIDL modello. Per altre informazioni sugli UUID, vedere Generazione di UUID dell'interfaccia.
Tutte le interfacce in MIDL seguono lo stesso formato. Iniziano con un'intestazione che contiene un elenco di attributi dell'interfaccia e il nome dell'interfaccia. Gli attributi sono racchiusi tra parentesi quadre. L'intestazione dell'interfaccia è seguita dal corpo, racchiuso tra parentesi graffe. Un'interfaccia semplice viene illustrata nell'esempio seguente:
[
uuid(ba209999-0c6c-11d2-97cf-00c04f8eea45),
version(1.0)
]
interface MyInterface
{
const unsigned short INT_ARRAY_LEN = 100;
void MyRemoteProc(
[in] int param1,
[out] int outArray[INT_ARRAY_LEN]
);
}
Alcuni degli attributi visualizzati in genere in una definizione dell'interfaccia MIDL sono l'UUID e il numero di versione dell'interfaccia. Il corpo della definizione dell'interfaccia deve contenere le dichiarazioni di procedura di tutte le procedure remote nell'interfaccia. Può anche contenere dichiarazioni di tipi di dati e costanti richieste dall'interfaccia.
Tutti i parametri nelle dichiarazioni di routine remota devono essere dichiarati come [in], [out]o [in, out]. Queste dichiarazioni specificano che il programma client passa i dati in una routine remota, ottiene i dati da una routine remota o entrambi. Per informazioni più dettagliate sulle dichiarazioni dei parametri dell'interfaccia, vedere Corpo dell'interfaccia IDL.
Il compilatore MIDL è uno strumento da riga di comando installato automaticamente con Platform Software Development Kit (SDK). Richiamarlo in una finestra di comando digitando il comando midl, seguito dal nome di un file MIDL, nella riga di comando. Assicurarsi che la directory contenente il compilatore MIDL sia nel percorso. Nell'esempio seguente viene illustrato l'uso:
midl MyApp.idl
Si noti che non è necessario includere l'estensione se il nome del file ha l'estensione idl. È anche possibile usare le opzioni della riga di comando del compilatore MIDL inserendole tra il comando midl e il nome del file. Questo è illustrato nell'esempio seguente:
midl /acf MyApp.acf MyApp.idl
In questo esempio il compilatore MIDL viene eseguito usando il file MyApp.idl come file di input. L'opzione della riga di comando /acf indica al compilatore di usare anche un file di configurazione dell'applicazione (ACF) per l'input. I file di configurazione dell'applicazione vengono illustrati più accuratamente nei file IDL e ACF.
Per informazioni più dettagliate sull'uso del compilatore MIDL, vedere Microsoft Interface Definition Language (MIDL) che contiene informazioni sugli argomenti seguenti:
- Requisiti del preprocessore C per MIDL
- Considerazioni sul compilatore C/C++
- File generati per un'interfaccia RPC
- Informazioni di riferimento sulla riga di comando MIDL
- Informazioni di riferimento sul linguaggio MIDL
- Errori e avvisi del compilatore MIDL