Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Microsoft-tilläggen till IDL-språket stöder flera referensparametrar som visas i andra positioner än den första, längst till vänster, parametern. Följande steg beskriver sekvensen som MIDL-kompilatorn går igenom för att matcha bindningshandtagsparametern i DCE-kompatibilitetsläge (/osf), och i standardläge (Microsoft-extended).
DCE-kompatibilitetsläge
- Bindningshandtag som visas i första positionen.
- Längst till vänster [i parametern, context_handle] .
- Implicit bindningsreferens som anges av [implicit_handle] eller [auto_handle].
- Om det inte finns någon ACF använder du standardvärdet [auto_handle].
Standardläge
- Explicit bindningshandtag till vänster.
- Implicit bindningsreferens som anges av [implicit_handle] eller [auto_handle].
- Om det inte finns någon ACF används som standard [auto_handle].
DCE IDL-kompilatorer letar efter en explicit bindningsreferens som den första parametern. När den första parametern inte är ett bindningshandtag och en eller flera kontextreferenser har angetts används kontexthandtaget längst till vänster som bindningshandtag. När den första parametern inte är ett handtag och det inte finns några kontextreferenser använder proceduren implicit bindning med hjälp av ACF-attributet [implicit_handle] eller [auto_handle].
Med Microsoft-tilläggen till IDL kan bindningshandtaget vara i en annan position än den första parametern. Den vänstra [i] explicit handtagsparameter – oavsett om det är ett primitivt, programmerarde eller kontexthandtag – är bindningshandtaget. När det inte finns några referensparametrar använder proceduren implicit bindning med hjälp av ACF-attributet [implicit_handle] eller [auto_handle].
Följande regler gäller för både DCE-kompatibilitetsläge (/osf) och standardläge:
- Bindning för automatisk handtag används när det inte finns någon ACF.
- Explicit [i] eller [i, ut] referenser för en enskild funktion före alla implicita bindningar som anges för gränssnittet.
- Flera [i] eller [i, out] primitiva referenser stöds inte.
- Flera [i] eller [i, out] explicita kontextreferenser tillåts.
- Alla programmerdefinierade referensparametrar utom parametern binding-handle behandlas som överförbara data.
Följande tabell innehåller exempel och beskriver hur bindningshandtag tilldelas i varje kompilatorläge.
| Exempel | Beskrivning |
|---|---|
|
Inget explicit handtag har angetts. Det implicita bindningshandtaget som anges av [ implicit_handle] eller [ auto_handle], används. När det inte finns någon ACF används ett automatiskt handtag. |
|
Ett explicit handtag av typen handle_t anges. Parametern H är bindningshandtaget för proceduren. |
|
Den första parametern är inte ett handtag. I standardläge är den vänstra referensparametern, H, bindningshandtaget. I /osf-läge används implicit bindning. Ett fel rapporteras eftersom den andra parametern förväntas vara överförbar och handle_t inte kan överföras. |
|
Den första parametern är inte ett handtag. I standardläge är den vänstra referensparametern, H, bindningshandtaget. Stubs anropar de användardefinierade rutinerna MY_HDL_bind och MY_HDL_unbind. I/osf-läge används implicit bindning. Den programmerdefinierade referensparametern H behandlas som överförbara data. |
|
Den första parametern är ett bindningshandtag. Parametern H är parametern binding-handle. Den andra programmerdefinierade referensparametern behandlas som överförbara data. |
|
Bindningshandtaget är en kontextreferens. Parametern H är bindningshandtaget. |