分类: 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 ? |
保留