注æ
ãã®ãã¼ã¸ã«ã¢ã¯ã»ã¹ããã«ã¯ãæ¿èªãå¿ è¦ã§ãã ãµã¤ã³ã¤ã³ã¾ãã¯ãã£ã¬ã¯ããªã®å¤æ´ã試ããã¨ãã§ãã¾ãã
ãã®ãã¼ã¸ã«ã¢ã¯ã»ã¹ããã«ã¯ãæ¿èªãå¿ è¦ã§ãã ãã£ã¬ã¯ããªã®å¤æ´ã試ããã¨ãã§ãã¾ãã
ã»ã¨ãã©ã®ãã¼ã¿åã®è¡¨ç¾ã¯ããã¼ã¸ãã¨ã¢ã³ããã¼ã¸ãã®ä¸¡æ¹ã®ã¡ã¢ãªã§å ±éãã¦ãããããç¸äºéç¨ãã¼ã·ã£ã©ã¼ã«ããç¹å¥ãªå¦çã¯å¿ è¦ããã¾ããã ãããã®åã¯ãããã¼ã¸ã ã³ã¼ãã¨ã¢ã³ããã¼ã¸ã ã³ã¼ãéã§ã®åãæ¸¡ãã®éã«å¤æãå¿ è¦ã§ãªããããblittable åã¨å¼ã°ãã¾ãã
ãã©ãããã©ã¼ã å¼ã³åºãããè¿ãããæ§é ä½ã¯ blittable åã§ããå¿ è¦ãããã¾ãã ãã©ãããã©ã¼ã å¼ã³åºãã§ã¯ãæ»ãå¤ã®åã¨ãã¦é blittable åã®æ§é ä½ã¯ãµãã¼ãããã¾ããã
System åå空éã«å±ããæ¬¡ã®å㯠blittable åã§ãã
次ã®è¤ååã blittable åã§ãã
æ´æ°ã®é åãªã©ãblittable ããªããã£ãåã® 1 次å é åã ãã ããblittable åã®å¯å¤é åãå«ãåèªä½ã¯ blittable ã§ã¯ããã¾ããã
blittable åã ããå«ããæ¸å¼è¨å®ãããå¤å (ããã³ãããããæ¸å¼è¨å®ãããåã¨ãã¦ãã¼ã·ã£ãªã³ã°ãããå ´åã¯ã¯ã©ã¹)ã æ¸å¼è¨å®ãããå¤åã®è©³ç´°ã«ã¤ãã¦ã¯ããå¤åã«å¯¾ããæ¢å®ã®ãã¼ã·ã£ãªã³ã°ããåç §ãã¦ãã ããã
ãªãã¸ã§ã¯ãåç §ã¯ blittable ã§ã¯ããã¾ããã ããã«ã¯ãåç¬ã§ã¯ blittable ãªãªãã¸ã§ã¯ãã¸ã®åç §ã®é åãå«ã¾ãã¾ãã ãã¨ãã°ãblittable ãªæ§é ä½ã¯å®ç¾©ã§ãã¾ããããããã®æ§é ä½ã¸ã®åç §ã®é åãå«ã blittable åã¯å®ç¾©ã§ãã¾ããã
blittable åã®é åã¨ãblittable ããªããã£ãåã®ã¡ã³ãã¼ã ããå«ãã¯ã©ã¹ã¯ãæé©åã®ããã«ããã¼ã·ã£ãªã³ã°æã«ã³ãã¼ãããã®ã§ã¯ãªãåºå®ããã¾ãã ãããã®åã¯ãå¼ã³åºãå ã¨å¼ã³åºãå ãåãã¢ãã¼ãã¡ã³ãã«å±ããå ´åã«ã¯ãIn/Out ãã©ã¡ã¼ã¿ã¼ã¨ãã¦ãã¼ã·ã£ãªã³ã°ãããããã«è¦ãããã¨ãããã¾ãã ãã ãããã®ãããªåã¯å®éã«ã¯ In ãã©ã¡ã¼ã¿ã¼ã¨ãã¦ãã¼ã·ã£ãªã³ã°ãããããã弿°ã In/Out ãã©ã¡ã¼ã¿ã¼ã¨ãã¦ãã¼ã·ã£ãªã³ã°ããå¿ è¦ãããå ´åã«ã¯ãInAttribute 屿§ã¨ OutAttribute 屿§ãé©ç¨ããå¿ è¦ãããã¾ãã
ä¸é¨ã®ããã¼ã¸ã ãã¼ã¿åã¯ãã¢ã³ããã¼ã¸ãç°å¢ã§ã¯ç°ãªã表ç¾ãå¿ è¦ã§ãã ãããã®é blittable ãã¼ã¿åã¯ããã¼ã·ã£ãªã³ã°ã§ããå½¢å¼ã«å¤æããå¿ è¦ãããã¾ãã ãã¨ãã°ãããã¼ã¸ãæååã¯ãæååãªãã¸ã§ã¯ãã«å¤æããªãã¨ãã¼ã·ã£ãªã³ã°ã§ããªãã®ã§ãé blittable åã§ãã
System åå空éã«å±ããé blittable åãæ¬¡ã®è¡¨ã«ç¤ºãã¾ãã ããªã²ã¼ãã¯éçã¡ã½ããã¾ãã¯ã¯ã©ã¹ ã¤ã³ã¹ã¿ã³ã¹ãåç §ãããã¼ã¿æ§é ä½ã§ããããããé blittable åã§ãã
é blittable å | 説æ |
---|---|
System.Array | C ã¹ã¿ã¤ã«ã®é
åã¾ã㯠SAFEARRAY ã«å¤æããã¾ãã |
System.Boolean | 1ã2ãã¾ã㯠4 ãã¤ãã®å¤ã«å¤æããã¾ããtrue ã®å ´å㯠1 ã¾ã㯠-1 ã«ãªãã¾ãã |
System.Char | Unicode æåã¾ã㯠ANSI æåã«å¤æããã¾ãã |
System.Class | ã¯ã©ã¹ ã¤ã³ã¿ã¼ãã§ã¤ã¹ã«å¤æããã¾ãã |
System.Object | ããªã¢ã³ãã¾ãã¯ã¤ã³ã¿ã¼ãã§ã¤ã¹ã«å¤æããã¾ãã |
System.String | null åç §ã§çµããæååã¾ã㯠BSTR ã«å¤æããã¾ãã |
System.ValueType | åºå®ã¡ã¢ãª ã¬ã¤ã¢ã¦ããæã¤æ§é ä½ã«å¤æããã¾ãã |
T[] | C ã¹ã¿ã¤ã«ã®é
åã¾ã㯠SAFEARRAY ã«å¤æããã¾ãã |
ã¯ã©ã¹åã¨ãªãã¸ã§ã¯ãå㯠COM ç¸äºéç¨ã§ã®ã¿ãµãã¼ãããã¾ãã Visual BasicãC#ãããã³ C++ ã®å¯¾å¿ããåã«ã¤ãã¦ã¯ãã¯ã©ã¹ ã©ã¤ãã©ãªã®æ¦è¦ã«é¢ããè¨äºãåç §ãã¦ãã ããã