分类: WINDOWS
2005-10-17 15:27:19
第三章 LLC_CCB结构参数说明及调用规则
该结构共有11个成员,下面就分别以C语言和32位汇编语言作为结构分析说明:
UCHAR uchAdapterNumber(C language) 或 uchAdapterNumber DWORD ? (MASM6.14) |
适配器号0或1
UCHAR uchDlcCommand 或 uchDlcCommand DWORD ? |
命令代码,见第一章说明
UCHAR uchDlcStatus 或 uchDlcStatus DWORD ? |
命令完成代码
代码 | 名称(常量) | 解释 |
---|---|---|
1 | LLC_STATUS_INVALID_COMMAND | 非法命令 |
2 | LLC_STATUS_DUPLICATE_COMMAND | 重复命令 |
3 | LLC_STATUS_ADAPTER_OPEN | 适配器已经打开 |
4 | LLC_STATUS_ADAPTER_CLOSED | 适配器已经关闭 |
5 | LLC_STATUS_PARAMETER_MISSING | 参数丢失 |
6 | LLC_STATUS_INVALID_OPTION | 非法指令 |
7 | LLC_STATUS_COMMAND_CANCELLED_FAILURE | 命令取消失败 |
10 | LLC_STATUS_CANCELLED_BY_USER | 被用户取消命令 |
12 | LLC_STATUS_SUCCESS_NOT_OPEN | |
17 | LLC_STATUS_TIMER_ERROR | 计时器错 |
18 | LLC_STATUS_NO_MEMORY | 内存不够 |
21 | LLC_STATUS_LOST_LOG_DATA | 丢失日志文件 |
22 | LLC_STATUS_BUFFER_SIZE_EXCEEDED | 缓冲大小必须增加 |
24 | LLC_STATUS_INVALID_BUFFER_LENGTH | 非法的缓冲长度 |
25 | LLC_STATUS_INADEQUATE_BUFFERS | |
26 | LLC_STATUS_USER_LENGTH_TOO_LARGE | |
27 | LLC_STATUS_INVALID_PARAMETER_TABLE | 非法参数表 |
28 | LLC_STATUS_INVALID_POINTER_IN_CCB | CCB非法进入点 |
29 | LLC_STATUS_INVALID_ADAPTER | 适配器不可用 |
32 | LLC_STATUS_LOST_DATA_NO_BUFFERS | |
33 | LLC_STATUS_LOST_DATA_INADEQUATE_SPACE | |
34 | LLC_STATUS_TRANSMIT_ERROR_FS | |
35 | LLC_STATUS_TRANSMIT_ERROR | |
39 | LLC_STATUS_LINK_NOT_TRANSMITTING | |
40 | LLC_STATUS_INVALID_FRAME_LENGTH | |
50 | LLC_STATUS_INVALID_NODE_ADDRESS | |
51 | LLC_STATUS_INVALID_RCV_BUFFER_LENGTH | |
52 | LLC_STATUS_INVALID_XMIT_BUFFER_LENGTH | |
64 | LLC_STATUS_INVALID_STATION_ID | |
65 | LLC_STATUS_LINK_PROTOCOL_ERROR | |
66 | LLC_STATUS_PARMETERS_EXCEEDED_MAX | |
67 | LLC_STATUS_INVALID_SAP_VALUE | |
68 | LLC_STATUS_INVALID_ROUTING_INFO | |
71 | LLC_STATUS_LINK_STATIONS_OPEN | |
74 | LLC_STATUS_INCOMPATIBLE_COMMANDS | |
77 | LLC_STATUS_CONNECT_FAILED | |
79 | LLC_STATUS_INVALID_REMOTE_ADDRESS | |
80 | LLC_STATUS_CCB_POINTER_FIELD | |
87 | LLC_STATUS_INADEQUATE_LINKS | |
88 | LLC_STATUS_INVALID_PARAMETER_1 | |
92 | LLC_STATUS_DIRECT_STATIONS_NOT_ASSIGNED | |
93 | LLC_STATUS_DEVICE_DRIVER_NOT_INSTALLED | |
94 | LLC_STATUS_ADAPTER_NOT_INSTALLED | |
95 | LLC_STATUS_CHAINED_DIFFERENT_ADAPTERS | |
96 | LLC_STATUS_INIT_COMMAND_STARTED | |
98 | LLC_STATUS_CANCELLED_BY_SYSTEM_ACTION | |
101 | LLC_STATUS_NO_GDT_SELECTORS | |
105 | LLC_STATUS_MEMORY_LOCK_FAILED | |
128 | LLC_STATUS_INVALID_BUFFER_ADDRESS | |
129 | LLC_STATUS_BUFFER_ALREADY_RELEASED | |
161 | LLC_STATUS_INVALID_VERSION | |
162 | LLC_STATUS_NT_ERROR_STATUS | |
255 | LLC_STATUS_PENDING | 未决状态 |
UCHAR uchReserved1 或 uchReserved1 DWORD ? |
保留
STRUCT _LLC_CCB *pNext 或 pNext LLC_CCB > |
下一个LLC_CCB块地址,用于链接多条命令,在一节有说明
ULONG ulCompletionFlag 或 ulCompletionFlag DWORD ? |
当LLC_READ命令完成时,设置一随意值
CCB_PARMS u 或 u CCB_PARMS > |
命令的参数表,随各命令的不同参数表也不相同
HANDLE hCompletionEvent 或 hCompletionEvent DWORD ? |
命令完成时通知hCompletionEvent事件
UCHAR uchReserved2 或 uchReserved2 DWORD ? |
WIN2000无用,95/98是发出命令的应用程序的ID号,此ID号由LLC_DIR_OPEN_ADAPTER命令
返回,并且用于以后的所有命令
UCHAR uchReadFlag 或 uchReadFlag DWORD ? |
指一个LLC_READ命令控制块被链接,否则必须置0
USHORT usReserved3 或 usReserved3 WORD ? |
保留