[問題] API怎看T_T
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
求救一下小公司頂天沒人可以問...@Q@
要取得 PciVidDid 但是不知道API看不是很懂程式為何這樣寫
老人用的Function:
Status = PciIo->Pci.Read(PciIo, EfiPciIoWidthUint32, 0, 1, &ROMVidDid);
必須要知道 5個參數要輸入啥
PciIo->Pci.Read(PciIo, EfiPciIoWidthUint32, 0, 1, &ROMVidDid);
==>追蹤到
IN EFI_PCI_IO_PROTOCOL *PciIo
(1. IN 是啥呢...C語言好像沒這東西..這是啥呢?)
==>追蹤到
typedef struct _EFI_PCI_IO_PROTOCOL {
EFI_PCI_IO_PROTOCOL_CONFIG_ACCESS Pci;
} EFI_PCI_IO_PROTOCOL;
==>追蹤到
typedef struct {
EFI_PCI_IO_PROTOCOL_CONFIG Read;
EFI_PCI_IO_PROTOCOL_CONFIG Write;
} EFI_PCI_IO_PROTOCOL_CONFIG_ACCESS;
==>追蹤到
typedef
EFI_STATUS
(EFIAPI *EFI_PCI_IO_PROTOCOL_CONFIG) (
IN struct _EFI_PCI_IO_PROTOCOL *This,
IN EFI_PCI_IO_PROTOCOL_WIDTH Width,
IN UINT32 Offset,
IN UINTN Count,
IN OUT VOID *Buffer
);
得知: *This,Width,Offset.*Buffer
未知: Count功能
2. typedef structA (structB *ptr)(.....); 這啥怪獸? 傻眼...@_@
3. IN OUT VOID *Buffer 這是啥鬼T_T? 哭哭...
延伸:想知道EFIAPI是啥
==>追蹤到
typedef unsigned int EFI_STATUS;
EFIAPI (4000多個...看不下去GG!!)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 222.251.9.95
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1402886208.A.302.html
※ 編輯: kingofsdtw (222.251.9.95), 06/16/2014 10:52:26
推
06/16 11:31, , 1F
06/16 11:31, 1F
→
06/16 11:31, , 2F
06/16 11:31, 2F
→
06/16 11:31, , 3F
06/16 11:31, 3F
→
06/16 11:32, , 4F
06/16 11:32, 4F
→
06/16 11:32, , 5F
06/16 11:32, 5F
→
06/16 12:45, , 6F
06/16 12:45, 6F
推
06/16 18:50, , 7F
06/16 18:50, 7F
→
06/16 21:49, , 8F
06/16 21:49, 8F
http://en.wikipedia.org/wiki/Typedef
只找到typedef type_A (*func)(); // ex:typedef int (*func)(void);
找不到typedef type_A (type2 *func)();
※ 編輯: kingofsdtw (222.251.21.82), 06/16/2014 22:44:00
推
06/16 23:13, , 9F
06/16 23:13, 9F
→
06/16 23:14, , 10F
06/16 23:14, 10F
→
06/16 23:20, , 11F
06/16 23:20, 11F
→
06/16 23:20, , 12F
06/16 23:20, 12F
→
06/16 23:21, , 13F
06/16 23:21, 13F
→
06/16 23:22, , 14F
06/16 23:22, 14F
→
06/16 23:23, , 15F
06/16 23:23, 15F
推
06/17 01:13, , 16F
06/17 01:13, 16F
→
06/17 17:25, , 17F
06/17 17:25, 17F
推
06/18 09:44, , 18F
06/18 09:44, 18F
→
06/18 09:45, , 19F
06/18 09:45, 19F
→
06/18 09:46, , 20F
06/18 09:46, 20F
→
06/18 09:47, , 21F
06/18 09:47, 21F
推
06/18 09:50, , 22F
06/18 09:50, 22F
→
06/18 09:52, , 23F
06/18 09:52, 23F
的確我在研究整個流程.API從無到有怎寫 而不是單純改改...
※ 編輯: kingofsdtw (59.126.81.119), 06/18/2014 14:17:46