[in, string] och [out, string] Prototype

Följande funktionsprototyp använder två parametrar: parametern [i, string] och parametern [out, string] .

void Analyze(
    [in, string]                       *pszInput,
    [out, string, size_is(STRSIZE)]    *pszOutput);

Den första parametern är endast [i] . Den här indatasträngen överförs endast från klienten till servern. Servern använder den som grund för vidare bearbetning. Strängen ändras inte och krävs inte igen av klienten, så den behöver inte returneras till klienten.

Den andra parametern, som representerar läkarens svar, är endast [ut] . Den här svarssträngen överförs endast från servern till klienten. Allokeringsstorleken tillhandahålls så att serverstubbarna kan allokera minne för den. Eftersom pszOutput är en [referens] pekaren måste klienten ha tillräckligt med minne allokerat för strängen före anropet. Svarssträngen skrivs till det här minnesområdet när fjärrproceduren returneras.