Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Alla gränssnitt för program som använder RPC måste definieras i Microsoft Interface Definition Language (MIDL) och kompileras med MIDL-kompilatorn. Följande avsnitt innehåller en kort översikt över hur du skapar och kompilerar ett MIDL-gränssnitt:
En detaljerad beskrivning av dessa ämnen finns i IDL- och ACF-filer.
Definiera ett gränssnitt med MIDL
MIDL-filer är textfiler som du kan skapa och redigera med en textredigerare. Om du genererar ett UUID för ditt gränssnitt lagrar du vanligtvis utdata i en MIDL-mallfil. Mer information om UUID:er finns i Generating Interface UUIDs.
Alla gränssnitt i MIDL följer samma format. De börjar med en rubrik som innehåller en lista över gränssnittsattribut och gränssnittsnamnet. Attributen omges av hakparenteser. Gränssnittsrubriken följs av dess brödtext, som omges av klammerparenteser. Ett enkelt gränssnitt visas i följande exempel:
[
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]
);
}
Några av de attribut som vanligtvis visas i en MIDL-gränssnittsdefinition är UUID och gränssnittsversionsnumret. Innehållet i gränssnittsdefinitionen måste innehålla procedurdeklarationer för alla fjärrprocedurer i gränssnittet. Den kan också innehålla de deklarationer av datatyper och konstanter som krävs av gränssnittet.
Alla parametrar i fjärrprocedurdeklarationerna måste deklareras som [i], [ut], eller [i, ut]. Dessa deklarationer anger att klientprogrammet skickar data till en fjärrprocedur, hämtar data från en fjärrprocedur eller båda. Mer detaljerad information om deklarationer av gränssnittsparametrar finns i IDL-gränssnittets brödtext.
Kompilering av en MIDL-fil
MIDL-kompilatorn är ett kommandoradsverktyg som installeras automatiskt med Platform Software Development Kit (SDK). Anropa det i ett kommandofönster genom att skriva kommandot midl, följt av namnet på en MIDL-fil, på kommandoraden. Kontrollera att katalogen som innehåller MIDL-kompilatorn finns i sökvägen. I följande exempel visas hur det används:
midl MyApp.idl
Observera att du inte behöver inkludera tillägget om filnamnet har filnamnstillägget .idl. Du kan också använda MIDL-kompilatorns kommandoradsalternativ genom att infoga dem mellan kommandot midl och filnamnet. Detta visas i följande exempel:
midl /acf MyApp.acf MyApp.idl
I det här exemplet körs MIDL-kompilatorn med filen MyApp.idl som indatafil. Kommandoradsväxeln /acf instruerar kompilatorn att även använda en programkonfigurationsfil (ACF) för indata. Programkonfigurationsfiler beskrivs mer ingående i IDL- och ACF-filer.
Mer detaljerad information om hur du använder MIDL-kompilatorn finns i Microsoft Interface Definition Language (MIDL), som innehåller information om följande ämnen:
- C-preprocessorkrav för MIDL-
- C/C++-Kompilatoröverväganden
- filer som genererats för ett RPC-gränssnitt
- Referens för MIDL-kommandorad
- MIDL-språkreferens
- MIDL-kompilatorfel och varningar