ebook12-1

Similar documents
3 N D I S N D I S N D I S N D I D D K C p a c k e t. c o p e n c l o s. c r e a d. c w r i t e. c p a c k e t. r c p a c k e t. s y s p a c k e t. i n

ebook12-11

ebook140-11

ebook140-9

epub 61-2

ebook140-3

ebook140-8

ebook177-1

ebook 178-3

工程师培训

经华名家讲堂

epub 34-1

ebook67-1

ebook106-17

epub 76-1

ebook66-24

9 Internet 10 Internet

ebook66-15

ebook37-11

ebook 102-3

UDP 8.2 TCP/IP OSI OSI 3 OSI TCP/IP IP TCP/IP TCP/IP Transport Control Protocol TCP User Datagram Protocol UDP TCP TCP/IP IP TCP TCP/IP TC

ebook2-1

ebook10-5

ebook

ebook

TCP/IP TCP/IP OSI IP TCP IP IP TCP/IP TCP/IP

ebook48-8

ebook 185-6

穨IC-1000

epub29-1

untitled

ebook 132-2

Chap6.ppt

ebook215-5

ebook62-8

(Methods) Client Server Microsoft Winsock Control VB 1 VB Microsoft Winsock Control 6.0 Microsoft Winsock Control 6.0 1(a). 2

Microsoft PowerPoint - 数据通信-ch1.ppt

csa-faq.pdf

ebook

ebook

第 1 章 概 述 1.1 计 算 机 网 络 在 信 息 时 代 中 的 作 用 1.2 计 算 机 网 络 的 发 展 过 程 *1.2.1 分 组 交 换 的 产 生 *1.2.2 因 特 网 时 代 *1.2.3 关 于 因 特 网 的 标 准 化 工 作 计 算 机 网 络 在

叮当旺业通

epub 75-1

第3章 计算机网络体系结构

/ / (FC 3)...

ch09.PDF

HP StorageWorks Automated Storage Manager 用户指南

ebook65-20

ebook45-5

epub 79-1

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南


ebook67-D

ebook37-4

Chapter 2

基于泛在网的智能交通应用系统总体框架

投影片 1

handsome-招股书-新规则-final-version-0422.PDF

ebook129-9

ebook64-1

ebook37-3

Data Server_new_.doc

针对多协议环境管理 EMC Celerra

概述

《计算机网络》实验指导书

epub 30-5

ebook 145-6

计 算 机 网 络 基 础 任 务 教 程 () 组 成 计 算 机 网 络 的 每 台 计 算 机 都 是 独 立 的 即 计 算 机 之 间 没 有 明 显 的 主 从 关 系, 每 台 计 算 机 可 以 连 网 工 作, 也 可 以 不 连 网 工 作 (2) 建 立 计 算 机 网 络 的

黑 龙 江 省 哈 尔 滨 市 规 划 局 与 黑 龙 江 汇 丰 实 业 发 展 有 限 公 司 行 政 处 罚 纠 纷 上 诉 案 中 华 人 民 共 和 国 最 高 人 民 法 院 行 政 判 决 书 (1999) 行 终 字 第 20 号 上 诉 人 ( 原 审 被 告 ) 黑 龙 江 省

ebook46-23

epub83-1

ebook204-2

ebook

年 中 央 国 家 机 关 政 府 采 购 中 心 网 上 竞 价 品 目 表 中 央 国 家 机 关 政 府 采 购 中 心 2016 年 7 月 21 日 - 2 -


財金資訊-80期.indd

.. 3 N

<4D F736F F F696E74202D20A1B6CFEEC4BFD2BB20B3F5CAB6BCC6CBE3BBFACDF8C2E7A1B7C8CECEF1C8FD20CAECCFA A1A24950D0ADD2E9BACD4950B5D8D6B72E707074>

4

Microsoft Word - YDB Vehicle Telematics Service Requirement and General Framework

1 6. ( 3 ) 軟 體 測 試 用 以 評 估 系 統 在 短 時 間 內 可 承 受 的 限 度, 此 種 測 試 常 被 稱 為 下 列 何 者? 1 黑 箱 測 試 ( B l a c k B o x T e s t i n g ) 2 迴 歸 測 試 ( R e g r e s s i

筆 已 知 的 資 料? ( 1 ) T C P ( T r a n s m i s s i o n C o n t r o l P r o t o c o l ) 不 提 供 下 列 那 一 項 服 務? 1 最 小 頻 寬 保 證 ( M

untitled

NNM_Advance_DS_FNL.qxd

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

<4D F736F F D20312D3120B9ABBFAAD7AAC8C3CBB5C3F7CAE9A3A8C9EAB1A8B8E5A3A92E646F63>

ebook70-19

<4D F736F F D20C9CFBAA3CAD0BCC6CBE3BBFAB5C8BCB6BFBCCAD4C8FDBCB6BFBCCAD4B4F3B8D95FBDA8D2E9B8E55F5F E646F63>

概述

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I

Simulator By SunLingxi 2003

ClientHelpSymantec™ Endpoint Protection 及 Symantec Network Access Control 客户端指南

User Group SMTP

%12.8% %5.4% () ( ) () 2

A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内


untitled

BizSpark 初 创 公 司 计 划 指 南 目 录 什 么 是 BizSpark?... 1 计 划 概 述... 1 计 划 结 构 和 角 色... 1 初 创 公 司 资 格... 3 使 用 BizSpark 的 产 品 和 联 机 服 务 的 示 例 :... 3 职 责... 5

weblogic

ebook20-8

Transcription:

API N e t B I O S Wi n s o c k A P I Wi n s o c k 1 N e t B I O S Wi n s o c k A P I N e t B I O S O S / 2 D O S 2 3 4 Wi n d o w s Wi n d o w s 1 NetBIOS Network Basic Input/Output System, NetBIOS A P I1 983 S y t e k I B M N e t B I O S 1985 I B M N e t B I O S NetBIOS Extended User Interface, NetBEUI N e t B I O S N e t B I O S T C P / I P I P X / S P X N e t B I O S N e t B I O S Windows NT Windows 2000 Windows 95 Windows 98 Windows CE NetBIOS API TCP/IP NetBIOS Win32 NetBIOS N e t B I O N e t B I O S N e t B I O L A N A N e t B I O S A N e t B I O S OSI O S I O S 1-1 O S I

2 API 1-1 OSI O S I N e t B I O S 1.1 Microsoft NetBIOS NetBIOS API N e t B I O S T C P / I P N e t B I O I P X / S P X N e t B I O S N e t B I O S T C P / I P N e t B E U I N e t B I O S N e t B I O S Microsoft TCP/IP N e t B E U I N e t B I O S I P X / S P X I P X / S P X N e t B I O S I P X / S P X Windows 2000 NWLink IPX/SPX/NetBIOS Windows 95 Windows 98 I P X / S P X I P X / S P X N e t B I O S N e t B E U I T C P / I P I P X / S P X N e t B I O S 6 1.1.1 LANA N e t B I O S L A N LAN adapter, LANA N e t B I O S N e t B I O S L A N A Wi n 3 2

1 NetBIOS 3 L A N A N e t B I O S T C P / I P N e t B E U I L A N A 0. T C P / I P 1 1. N e t B E U I 1 2. T C P / I P 2 3. N e t B E U I 2 L A N A 0 9 LANA 0 LANA 0 LANA 0 L A N A N e t B I O S LANA 0 L A N A LANA 0 Windows 95 Windows 98 N e t B I O S LANA 0 Windows 95 Windows 98 Windows NT 4 N e t B I O S N e t B I O S N e t B I O S L A N A 1-2 N e t B I O S E d i t L A N A Windows 2000 L A N A L A N A 1-2 NetBIOS TCP/IP NetBTNetBEUI Nbf IPX/SPX NwlnkNb

4 API N e t B I O S L A N A N e t B I O S LANA 2 LANA 2 T C P / I P LANA 2 LANA 2 N e t B E U I T C P / I P N e t B E U I L A N A L A N A L A N A 1.1.2 NetBIOS L A N A N e t B I O S L A N A N e t B I O S 16 16 Wi n 32 L A N A N e t B I O S LANA 0 LANA 0 L A N A 254 1 2 54 0 2 55 254 L A N A N e t B I O S N e t B I O S Wi n d o w s W I N S W I N W I N S N e t B I O S T C P / I P W I N S N e t B I O S I P W I N S N e t B I O S 16 W I N S W I N S W I N S N b t s t a t N e t B I O S 1-1 N b t s t a t - n D a v e m a c N e t B I O S D a v e m a c

1 NetBIOS 5 Windows NT Server I n t e r n e t I I S 1-1 NetBIOS 1 6 D AV E M A C 1 < 0 0 > D AV E M A C 1 < 2 0 > D AV E M A C D < 0 0 > D AV E M A C D < 1 C > D AV E M A C D < 1 B > D AV E M A C 1 < 0 3 > I n e t ~ S e r v i c e s < 1 C > I n t e r n e t I S ~ D AV E M A C 1 < 0 0 > I n t e r n e t D AV E M A C 1 + + + + + + + < B F > T C P / I P N b t s t a t - a I P - A 1-2 M i c r o s o f t N e t B I O S 16 1-2 1 6 < 00 > N e t B I O S < 03 > W I N S W I N < 1 B > < 06 > R A S < 1 F > N e t D D E < 2 0 > < 2 1 > R A S < B E > < B F > 1-3 N e t B I O S 16 N e t B I O S N e t B I O S 1-3 1 6 < 1 C > W I N S 25 1 C W I N S 1 C I P

6 API 1 6 < 1 D > W I N S W I N S W I N S h m b N e t B I O S p W I N S m b p b p h p b Wi n d o w s h < 1 E > < 20 > I n t e r n e t W I N S _ M S B R O W S E _ p r i n t e r s g 16 _ M S B R O W S E _ 1.1.3 NetBIOS N e t B I O S N e t B I O S L A N A N e t B I O S

1 NetBIOS 7 1.2 NetBIOS N e t B I O S NetBIOS API UCHAR Netbios(PNCB pncb); N e t B I O S N b 30. h N e t B I O S N e t a p i 32. l i b p N C B N C B N C B N e t B I O S N e t b i o s N e t B I O S N e t b i o s N e t b i o s N C B 1-4 A N e t B I O S NCB 1-4 NCB n c b _ c o m m a n d n c b _ r e t c o d e f n c b _ l s n n c b _ n u m n c b _ b u ff e r N e t B I O S A S Y N C H ( 0 X 80 ) O R N R C _ P E N D I N G N C B C A L L N C B L I S T E N N C B A D D N A M E N C B A D D G R N A M E N e t b i o s

8 API ( ) n c b _ l e n g t h n c b _ c a l l n a m e n c b _ n a m e n c b _ r t o n c b _ s t o n c b _ p o s t n c b _ l a n a _ n u m n c b _ c m d _ c p l n c b _ r e s e r v e n c b _ e v e n t N C B E N U M L A N A _ E N U M N e t b i o s N e t b i o s N R C _ B U F L E N 500 1 N C B C A L L N C B L I S T E N N C B R E C V 500 1 N C B C A L L N C B L I S T E N N C B S E N D N C B C H A I N S E N D void CALLBACK PostRoutine(PNCB pncb); p n c b L A N A Netbios NRC_PENDING 0 N o n s i g n a l e d Wi n d o w s S i g n a l e d n c b _ c o m m a n d A S Y N C H n c b _ p o s t 0 0 N e t b i o s N R C _ I L L C M D N e t b i o s N e t B I O S N e t b i o s N C B L I S T E N N e t b i o s N e t B I O S A S Y N C H O R A S Y N C H n c b _ p o s t Post Routine n c b _ e v e n t N e t b i o s N R C _ G O O D R E T ( 0 x 00 ) n c b _ c m d _ c p l t N R C _ P E N D I N G ( 0 x F F ) N e t b i o s N C B n c b _ c m d _ c p l t N R C _ P E N D I N G n c b _ c m d _ c p l t N e t b i o s n c b _ r e t c o d e 1.3 NetBIOS N e t B I O S N e t B I O S C a l l B a c k N e t B I O S 1-1 N b c o m m o n. c

1 NetBIOS 9 \ E x a m p l e s \ C h a p t e r 0 1 \ C o m m o n 1-1 N e t B I O S ( N b c o m m o n. c )

10 API

1 NetBIOS 11

12 API

1 NetBIOS 13 N b c o m m o n. c L a n a E n u m N e t B I O S L A N A N C B 0 n c b _ c o m m a n d N C B E N U M n c b _ b u ff e r L A N A _ E N U M n c b _ l e n g t h L A N A _ E N U M N C B N C B E N U M L a n a E n u m N e t b i o s N e t B I O S N e t b i o s N R C _ G O O D R E T L A N A L A N A N e t B I O S L A N A _ E N U M L A N A _ E N U M l e n g t h L A N A l a n a L A N A l e n g t h l a n a L A N A R e s e t A l l N e t B I O S N e t B I O S L A N A L A N A _ E N U M L a n a E n u m L A N A L A N N C B R E S E T R e s e t A l l L A N A _ E N U M n c b _ c o m m a n d N C B R E S E T n c b _ l a n a _ n u m L A N A Windows 95 L A N A Windows NT L A N A N e t b i o s 52 N R C _ E N V N O T D E F L A N A n c b _ c a l l n a m e N e t B I O S R e s e t A l l u c M a x S e s s i o n n c b _ c a l l n a m e 0

14 API Windows NT 4 6 R e s e t A l l n c b _ c a l l n a m e 2 L A N A N e t B I O S u c M a x N a m e R e s e t A l l 3 N e t B I O S b F i r s t N a m e T R U E N e t B I O S N e t B I O S A d d N a m e L A N A L A N A L A N A L A N A N C B A D D N A M E L A N A n c b _ n a m e A d d N a m e n c b _ n a m e n a m e N e t b i o s n c b _ n u m N e t B I O S N e t B I O S N R C _ D U P N A M E A d d G r o u p N a m e A d d N a m e N C B A D D G R N A M E N R C _ D U P N A M E D e l N a m e N e t B I O S L A N A 1-1 S e n d R e c v n c b _ c o m m a n d N C B S E N D N C B R E C V L A N A N C B C A L L N C B L I S T E N N C B C A L L N C B L I S T E N N e t B I O S S e n d R e c v n c b _ b u ff e r n c b _ l e n g t h n c b _ b u ff e r l e n g t h b u ff e r N e t b i o s S e n d R e c v S e n d N C B S E N D N C B C H A I N S E N D N e t b i o s N C B S E N D N A N C B C H A I N S E N D N A 1-1 H a n g u p C a n c e l

1 NetBIOS 15 N e t B I O S N C B H A N G U P N R C _ S C L O S E D ( 0 x 0 A ) H a n g u p 1.3.1 N e t B I O S 1-2 C b n b s v r. c / E x a m p l e s / C h a p t e r 01 / S e r v e r m a i n L a n a E n u m L A N A R e s e t A l l L A N A N e t B I O S 1-2 C b n b s v r. c

16 API

1 NetBIOS 17

18 API m a i n L A N A T E S T- S E RV E R - 1 L A N A N e t B I O S N e t B I O S N C B L I S T E N L i s t e n N C B N e t B I O S N C B N C B N C B N C B L I S T E N L A N A 1-1

1 NetBIOS 19 N C B L I S T E N A S Y N C H O R A S Y N C H n c b _ p o s t n c b _ e v e n t N e t b i o s N R C _ I L L C M D 1-2 L i s t e n n c b _ p o s t L i s t e n C a l l b a c k L i s t e n n c b _ n a m e n c b _ c a l l n a m e n c b _ c a l l n a m e L i s t e n N e t b i o s N e t b i o N C B n c b _ c m d _ c p l t N R C _ P E N D I N G ( 0 x F F ) m a i n L A N A N C B L I S T E N N e t B I O S LANA NCBLISTEN L A N A N C B L I S T E N n c b _ p o s t N C B n c b _ r e t c o d e n c b _ r e t c o d e N R C _ G O O D R E T ( 0 x 00 ) L A N A N C B L I S T E N L A N A N C B L I S T E N L A N A N C B L I S T E N N C B R E C V N C B S E N D N C B H A N G U P N C B N e t b i o s A S Y N C H n c b _ s t o n c b _ r t o n c b _ s t o 500

20 API n c b _ r t o 1.3.2 1-3 1-2 Wi n 3 Wi n 3 2 Wa i t F o r S i n g l e E v e n t Wa i t F o r M u l t i p l e E v e n t s 1) L A N A 2) L A N A 3) L A N A 4) L A N A N C B 1-3 N C B N C B L A N A N C B L I S T E N N C B L i s t e n N C B 1-3 E v n b s v r. c

1 NetBIOS 21

22 API

1 NetBIOS 23

24 API m a i n L A N A N C B L I S T E N Wa i t F o r M u l t i p l e O b j e c t s Wa i t F o r M u l t i p l e O b j e c t s N C B N C B N C B L I S T E N L i s t e n n c b _ l s n L A N A n c b _ l a n a _ n u m N C B G l o b a l F r e e N C B L I S T E N N C B L I S T E N L A N A 2 L A N A N C B L I S T E N N R C _ N O C A L L ( 0 x 14 ) N C B L I S T E N L A N A N C B L I S T E N A S Y N C H N e t B I O S N e t b i o s N C B 1.3.3 NetBIOS N e t B I O S 1-4

1 NetBIOS 25 L A N A N C B L A N A n c b _ c m d _ c p l t N R C _ P E N D I N G N C B N C Wa i t F o r M u l t i p l e O b j e c t s L A N A L A N N C B H A N G U P 1-4 N b c l i e n t. c

26 API

1 NetBIOS 27

28 API 1.4 D a t a g r a m N e t B I O S N C B D G S E N D N C B D G S E N D B C n c b _ n u m N C B A D D N A M E N C B A D D G R N A M E n c b _ b u ff e r n c b _ l a n a _ n u m L A N A L A N A n c b _ c a l l n a m e N e t B I O S n c b _ c a l l n a m e N C B D G R E C V N e t B I O S N C B D G R E C V B C

1 NetBIOS 29 n c b _ n u m N C B A D D N A M E N C B A D D G R N A M E 0 x F F N e t B I O S n c b _ b u ff e r n c b _ l e n g t h n c b _ l a n a _ n u m L A N A N C B D G R E C V N C B D G R E C V B C N e t b i o s n c b _ l e n g t h n c b _ c a l l n a m e N e t B I O S 1-5 L A N A L A N A N C B D G R E C V N C B D G R E C V B C 1-5 NetBIOS N b d g r a m. c

30 API

1 NetBIOS 31

32 API

1 NetBIOS 33

34 API

1 NetBIOS 35

36 API

1 NetBIOS 37

38 API

1 NetBIOS 39 L A N A 1-5 1-6

40 API Nbdgram /n:client01 1-5 Nbdgram.c Nbdgram /s /n:server01 /r:client01 Nbdgram /n:client01 /b Nbdgram /s /n:server01 /b Nbdgram /g:clientgroup / n : m y - n a m e m y - n a m e / g : g r o u p - n a m e g r o u p - n a m e Nbdgram /s /r:clientgroup 1-6 Nbdgram.c / s / c : n n / r : r e c e i v e r N e t B I O S / b / a N e t B I O S n c b _ n u m 0 x F F / l : n LANA n L A N A / d : n n / l : x x L A N A L A N A L A N A Nbdgram /n:client01 /l:0 LANA 0 L A N A / a N e t B I O S / n : N C B D G R E C V 1.5 NetBIOS N C B A S TAT N C B F I N D N A M E L A N A N e t B I O S N e t B I O S 1.5.1 N C B A S TAT L A N A Windows 95 Windows NT 4 M A C Windows 2000 Windows 98 IP Helper I P

1 NetBIOS 41 M A C Wi n 32 A D A P T E R _ S TAT U S N A M E _ B U F F E R M A C a d a p t e r _ a d d r e s s m a x _ d g r a m _ s i z e m a x _ s e s s n a m e _ c o u n t N A M E _ B U F F E R L A N A N e t B I O S 254 n c b _ l e n g t h 0 N e t b i o s N C B A S TAT n c b _ c o m m a n d n c b _ b u ff e r n c b _ l e n g t h n c b _ l a n a _ n u m n c b _ c a l l n a m e n c b _ c a l l n a m e * N e t B I O S N e t b i o s n c b _ c a l l n a m e N e t B I O S

42 API n c b _ c a l l n a m e Microsoft 16 0 A s t a t. c L A N A / l : L O C A L N A M E / r : R E M O T E N A M E M A C N e t B I O S L A N A R A S L A N A R A L A N A M A C R A S M A C R A S M A C N b t s t a t N C B A S TAT T C P / I P T C P / I P 1.5.2 N C B F I N D N A M E Windows NT Windows 2000 N e t B I O S L A N A F I N D _ N A M E _ H E A D E R F I N D _ N A M E _ B U F F E R N C B F I N D N A M E 0 N e t b i o s N R C _ B U F L E N F I N D _ N A M E _ H E A D E R u n i q u e _ g r o u p 0 1 n o d e _ c o u n t F I N D _ N A M E _ B U F F E R

1 NetBIOS 43 F I N D _ N A M E _ B U F F E R d e s t i n a t i o n _ a d d r s o u r c e _ a d d r s o u r c e _ a d d r M A C d e s t i n a t i o n _ a d d r M A C L A N A L A N A R A S Windows NT 4.0 T C P / I P N e t b i o s Windows NT 4.0 L A N A T C P / I P 1.5.3 LANA T C P / I P N e t B E U I L A N A N e t B I O S Windows NT 4 Windows 2000 Winsock 2 W S A E n u m P r o t o c o l s Winsock 2 5 6 W S A E n u m P r o t o c o l s Winsock 2 Windows 95 Windows 98 N e t B I O S Winsock 2 W S A S t a r t u p Winsock 2 W S A E n u m P r o t o c o l s W S A P R O TO C O L _ I N F O C D N b p r o t o. c W S A E n u m P r o t o c o l s 0 W S A E n u m P r o t o c o l s W S A P R O TO C O L _ I N F O s z P r o t o c o l i A d d r e s s F a m i l y i P r o t o c o l i A d d r e s s F a m i l y A F _ N E T B I O S i P r o t o c o l s z P r o t o c o l ProvidedId GUID G U I D Windows NT Windows 2000 LANA 0 i P r o t o c o l 0 x 80000000 LANA 0 0 x 80000000 1.6 N e t B I O S

44 API 1.6.1 Windows CE N e t B I O S Windows CE N e t B I O S 1.6.2 Windows 9x Windows 95 Windows 98 L A N A N e t B I O S L A N A L A N A L A N Windows 95 T C P / I P L A N A N C B R E S E T L A N A N C B R E S E T NetBIOS TCP/IP V X D 1.6.3 N C B S E N D N A N C B C H A I N S E N D N A N e t B I O S T C P / I P 1.7 N e t B I O S T C P / I P N e t B E U I S P X / I P X N e t B I O S Wi n s o c k N e t B I O S N e t B I O S N e t B I O S Wi n s o c k 2 3 4

2 Wi n d o w s N O S Windows 95 Windows 98 Wi n d o w s N T Windows 2000 Windows CE Wi n d o w s 3 4 I / O I / O I / O I / O I / O I/O Redirection Wi n d o w s E : E : I / O R e d i r e c t o r A P I R e a d F i l e Wr i t e F i l e I / O U N C Multiple UNC Provider, MUP Universal Naming Convention, UNC M U P Server Message Block, SMB I / O 2.1 U N C U N C U N C \\[ ]\[ ]\[ ] \\[ ]

46 API U N C \[ ] \[ ] M y s e r v e r D :\ D M y f i l e s \ C o o l M u s i c M y s h a r e S a m p l e. m p 3 M P 3 U N C \ \ M y s e r v e r \ M y s h a r e \ S a m p l e. m p 3 M y s h a r e U N C U N C U N C U N C 3 4 U N C 2-1 Wi n d o w s U N C N O S U N C \\ M y s e r v e r \ M y s h a r e \ S a m p l e. m p 3 MUP I/O 2-1

2 47 2.2 UNC M U P 2-1 U N C Network Provider M U P U N C I / O Windows NT Windows 2000 Windows 95 Windows 98 Wi n d o w s M i c r o s o f t Client for Microsoft N e t w o r k N o v e l l Novell Client v3.01 for Windows 95/98 U N C Windows CE M i c r o s o f t M U P U N C M U P U N C U N C M U P U N C M U P Windows NT Windows 2000 Windows 95 Windows 98 R e g i s t r y P r o v i d e r O r d e r \ H K E Y _ L O C A L _ M A C H I N E \ S Y E T E M \ C u r r e n t C o n t r o l S e t \ C o n t r o l \ N e t w o r k P r o v i d e r \ O r d e r Windows CE M U P U N C U N C 2.3 E : U N C Wi n d o w s Wi n d o w s M i c r o s o f t M i c r o s o f t M S N P M S N P 32 M S N P Windows NT 4 Windows 2000 Windows 95 Windows 98 Windows CE Windows CE M S N P

48 API 2.4 I / O I / O M U P I / O M S N P N e t B I O S 1 NetBIOS API M S N P L A N LAN Manager Redirector Microsoft LAN Manager M S - D O S N e t B I O S 1 N e t B I O S M S N P M S N P T C P / I P N e t B E U I I P X / S P X A T C P / I P B I P X M S N P M S N P S M B Server Message Block File Sharing S M B 2.5 S M B I n t e l 8 0 M S - D O S S M B Windows MSNP M S N S M B S M B M S N P S M B S M B S M T C P / I P S M B

2 49 M S N P \\ M y s e r v e r \ M y s h a r e \ S a m p l e. m p 3 1) C r e a t e F i l e A P I \ \ M y s e r v e r \ M y s h a r e \ S a m p l e. m p 3 2) U N C I / O \\ M y s e r v e r M U P 3) MUP I / O M S N P \\ M y s e r v e r N e t B I O S 4) I/O M S N P 5) S M B \ M y s h a r e S a m p l e. m p 3 6) S M B 7) \\ M y s e r v e r S M B M S N P 8) I / O \ M y s h a r e S a m p l e. m p 3 9) S M B I / O 10) S M B 11) MSNP S M P 12) CreateFile API M S N P M S N P 2.6 Windows NT Windows 2000 Windows NT Windows 2000 2.6.1 Security Descriptor S E C U R I T Y _ D E S C R I P TO R

50 API Security Identifier S I D S I D Discretionary Access Control List D A C L System Access Control List S A C L Wi n 32 A P I A P 1. D A C L S A C L access control list, ACL access control entities, ACE A C E A C S I D A C E A C E A C E S A C L A C E D A C 2-2 D A C L SID SID DACL SACL ACE ACE ACE 2-2 DACL D A C L D A C L A P I S e t S e c u r i t y D e s c r i p t o r D a c l D A C L D A C L A C E D A C L A C E D A C L A C E A C E

2 51 A C E A C E A C E A C E A C A C E A C E A C E A C E 2-2 D A C L 2 - A C E A C L A P I 2. A C E S I D S I D Windows NT S I D S I Windows NT S I D 2.6.2 Windows NT S I D S I D D A C L S I D 2.7 M S N P M S N P U N C

52 API Windows NT Windows 2000 M S N P B \ H a c k \ S l a s h A \ H a c k G \ S l a s h H M S N P M S N 2-3 M S N P Windows NT 1. Windows NT A 5. 2. Windows NT 2.8 2-3 M S N P Wi n 32 C r e a t e F i l e R e a d F i l e Wr i t e F i l e A P I Windows NT Windows 2000 Wi n 32 2-1 U N C \ E x a m p l e s \ C h a p t e r 02 A 3. U N C B B 4 M S N P 1 6. U N C Windows NT Wi n d o w s 2 0 0 0 2-1

2 53 2.9 Wi n d o w s Wi n d o w s Windows NT Windows 2000

3 Microsoft Windows NT Windows 2000 Windows 95 Windows 98 Windows CE interprocess communication, I P C M a i l s l o t T C P / I P I P X 3.1 Wi n d o w s Wi n 32 I / O R e a d F i l e Wr i t e F i l e Wi n 32 Wi n d o w s Mailslot File System, MSFS 2 Wi n d o w s 3.1.1

3 55 \ \ s e r v e r \ M a i l s l o t \ [ p a t h ] n a m e \\ s e r v e r \ M a i l s l o t \ [ p a t h ] n a m e \\ s e r v e r \ M a i l s l o t M S F S \[ p a t h ] n a m e p a t h M a i l s l o t \ \ O r e o \ M a i l s l o t \ M y m a i l s l o t \ \ Te s t s e r v e r \ M a i l s l o t \ C o o l d i r e c t o r y \ F u n t e s t \ A n o t h e r m a i l s l o t \ \. \ M a i l s l o t \ E a s y m a i l s l o t \ \ * \ M a i l s l o t \ M y s l o t. * Wi n d o w s Wi n d o w s Wi n d o w s S M B Wi n d o w s Windows NT Windows 2000 3.1.2 D a t a g r a m Windows NT Windows 2000 424 Windows NT Windows 2000 426 S M B Windows NT Windows 2000 Windows NT Windows 2000 Windows NT Windows 2000 Windows 95

56 API Windows 98 Windows 95 Windows 98 Windows 95 Windows 98 424 Windows NT Windows 2000 Windows NT Windows 2000 424 Windows NT Windows 2000 S M B Windows NT Windows 2000 Windows 95 Windows 98 Windows 95 Windows 98 426 Windows NT Windows 2000 Windows 95 Windows 98 3-1 Windows CE 3-1 Windows NT Windows 2000 425 4 26 Windows 95 Windows 98 - > Windows 95 Windows 98 Windows NT Windows 2000 - > Windows NT Windows 2000 Windows NT Windows 2000 - > Windows 95 Windows 98 Windows 95 Windows 98 3-1 64 K B 424 426 424 424 - > Windows NT Windows 2000 Windows NT Windows 2000 Windows NT Windows 2000 425 4 26 Windows NT Windows 2000 Windows 95 Windows 98 Windows NT Windows 2000 Windows NT 4 2 4 Wi n d o w s 424 4 3.1.3 Microsoft Visual C++ Wi n b a s e. h Wi n d o w s. Wi n b a s e. h K e r n e l 32. l i b Visual C++

3 57 3.1.4 Win32 API C r e a t e F i l e C r e a t e M a i l s l o t 0 C r e a t e F i l e C r e a t e M a i l s l o t A P I I N VA L I D _ H A N D L E _ VA L U E A P I G e t L a s t E r r o r C Wi n d o w s Wi n e r r o r. h 3.2 3.2.1 1) CreateMailslot API 2) ReadFile API 3) C l o s e H a n d l e A P I A P I C r e a t e M a i l s l o t A P I l p N a m e \ \. \ M a i l s l o t \ [ p a t h ] n a m e l p N a m e n M a x M e s s a g e S i z e n M a x M e s s a g e S i z e 0 l R e a d Ti m e o u t M A I L S L O T _ WA I T _ F O R E V E R 0

58 API l p S e c u r i t y A t t r i b u t e s Windows NT Windows 2000 n u l l I / O.. I / O Windows NT Windows 2000 I / O l p S e c u r i t y A t t r i b u t e s Windows NT Windows 2000 R e a d F i l e Wi n 32 R e a d F i l e C r e a t e M a i l s l o t h F i l e l p B u ff e r n N u m b e r O f B y t e s To R e a d CreateMailslot API n M a x M e s s a g e S i z e R e a d F i l e E R R O R _ I N S U F F I C I E N T _ B U F F E R l p N u m b e r O f B y t e s R e a d R e a d F i l e l p O v e r l a p p e d Wi n 32 I / O 4 R e a d F i l e I / O Windows NT Windows 2000 Windows 95 Windows 98 N U L L 3-1 3-1

3 59 3.2.2 1) C r e a t e F i l e A P I 2) Wr i t e F i l e A P I 3) C l o s e H a n d l e A P I C r e a t e F i l e A P I l p F i l e N a m e 3-2 d w D e s i r e d A c c e s s G E N E R I C _ W R I T E d w S h a r e M o d e F I L E _ S H A R E _ R E A D l p S e c u r i t y A t t r i b u t e s N U L L d w C r e a t i o n D i s p o s i t i o n O P E N _ E X I S T I N G A P I C r e a t e F i l e d w C r e a t i o n D i s p o s i t i o n 3-2 \ \. \ m a i l s l o t \ n a m e \\ s e r v e r n a m e \ m a i l s l o t \ n a m e s e r v e r n a m e \\ d o m a i n n a m e \ m a i l s l o t \ n a m e d o m a i n n a m e \\*\ m a i l s l o t \ n a m e n a m e

60 API d w F l a g s A n d A t t r i b u t e s F I L E _ AT T R I B U T E _ N O R M A L h Te m p l a t e F i l e N U L L Wi n 32 Wr i t e F i l e h F i l e C r e a t e F i l e l p B u ff e r n N u m b e r O f B y t e s To Wr i t e 64 K B * Windows NT Windows 2000 424 Windows 95 Windows 98 64 K B Wr i t e F i l e G e t L a s t E r r o r E R R O R _ B A D _ N E T PAT H l p N u m b e r O f B y t e s Wr i t t e n Wr i t e F i l e l p O v e r l a p p e d Wr i t e F i l e I / O N U L L 3-2 3-2

3 61 3.3 API A P I G e t M a i l s l o t I n f o S e t M a i l s l o t I n f o G e t M a i l s l o t I n f o G e t M a i l s l o t I n f o G e t M a i l s l o t I n f o h M a i l s l o t CreateMailslot API l p M a x M e s s a g e S i z e l p N e x t S i z e G e t M a i l s l o t I n f o M A I L S L O T _ N O _ M E S S A G E R e a d F i l e C P U R e a d F i l e Wi n 32 I / O l p M e s s a g e C o u n t l p R e a d Ti m e o u t S e t M a i l s l o t I n f o S e t M a i l s l o t I n f o

62 API b M a i l s l o t CreateMailslot API l R e a d Ti m e o u t 0 M A I L S L O T _ WA I T _ F O R E V E R 3.4 Windows 95 O S R 2 Windows 98 8. 3 I / O 3.4.1 8.3 Windows 95 Windows 98 8. 3 Windows 95/98 Windows NT/2000 \\.\ M a i l s l o t \ M y m a i l s l o t Windows 95 \\.\ M a i l s l o t \ M y m a i l s l C r e a t e M a i l s l o t C r e a t e F i l e Windows 2000 Windows 95 Windows 95 8 3.4.2 I/O Windows 95 Windows 98 I / O R e a d F i l e M A I L S L O T _ WA I T _ P O R E V E R R e a d F i l e Wi n d o w s 3-3 3-3

3 63

64 API 3.4.3 Windows 95 Windows 98 C r e a t e M a i l s l o t 0 R e a d F i l e FA L S E R e a d F i l e R e a d F i l T R U E M S - D O S 0 M A I L S L O T _ WA I T _ F O R E V E R h t t p : // s u p p o r t. m i c r o s o f t. c o m / s u p p o r t / s e a r c h Q 1 3 9 7 1 5 R e a d F i l e

3 65 C r e a t e M a i l s l o t R e a d F i l e R e a d F i l e G e t L a s t E r r o r 5 Q 192276 G e t M a i l s l o t I n f o l p N e x t S i z e Windows 95 OEM Service Release 2 O S R 2 Windows 98 A P I G e t M a i l s l o t I n f o l p N e x t S i z e Q 170581 Wi n 95 4093 Wr i t e F i l e A P I 4093 Windows 95 Q 1 3 1 4 9 3 C r e a t e F i l e A P I C r e a t e F i l e C r e a t e F i l e 3.5 M a i l s l o t Wi n d o w s Wi n d o w s

4 Named Pipes I P C Microsoft Windows NT Windows 2000 Windows 95 Windows 98 Windows CE T C P / I P I P X M S N P Windows NT Windows 2000 Windows NT Windows 2000 4.1 Wi n d o w s N a m e d Pipe File System, NPFS Wi n 32 A P I R e a d F i l e Wr i t e F i l e A P I Wi n 32 Windows NT/Windows 2000 N P F S M S N P T C P I P X N P F S U N C 2 U N C Wi n d o w s

4 67 4.1.1 U N C \ \ s e r v e r \ P i p e \ [ p a t h ] n a m e \\ s e r v e r \ P i p e \ [ p a t h ] n a m e \\ s e r v e r \ P i p e N P F S \[ p a t h ] n a m e \ \ m y s e r v e r \ P I P E \ m y p i p e \ \ Te s t s e r v e r \ p i p e \ c o o l d i r e c t o r y \ f u n t e s t \ j i m \ \. \ P i p e \ E a s y n a m e d p i p e. 4.1.2 4-1 2 3 4-1 4.1.3 Microsoft Visual C++ Wi n b a s e. h Wi n d o w s.

68 API Wi n b a s e. h K e r n e l 32. l i b Visual C++ 4.1.4 Win32 API C r e a t e F i l e C r e a t e N a m e d P i p e 0 C r e a t e F i l e C r e a t e N a m e d P i p e I N VA L I D _ H A N D L E _ VA L U E G e t L a s t E r r o r Wi n e r r o r. h C 4.2 Wi n 32 R e a d F i l e Wr i t e F i l e Windows NT Windows 2000 Windows 95 Windows 98 Windows 95 Windows 98 Windows 95 Windows Windows NT Windows 2000 4.2.1 1) A P I C r e a t e N a m e d P i p e 2) A P I C o n n e c t N a m e d P i p e 3) R e a d F i l e Wr i t e F i l e A P I 4) A P I D i s c o n n e c t N a m e d P i p e 5) A P I C l o s e H a n d l e C r e a t e N a m e d P i p e A P I

4 69 l p N a m e U N C [ p a t h ] n a m e d w O p e n M o d e I / O 4-1 O R P I P E _ A C C E S S _ P I P E _ A C C E S S _ D U P L E X P I P E _ A C C E S S _ I N B O U N D P I P E _ A C C E S S _ O U T B O U N D 4-2 4-1 P I P E _ A C C E S S _ D U P L E X P I P E _ A C C E S S _ O U T B O U N D P I P E _ A C C E S S _ I N B O U N D I / O F I L E _ F L A G _ W R I T E _ T H R O U G H W R I T E _ D A C F I L E _ F L A G _ O V E R L A P P E D A C C E S S _ S Y S T E M _ S E C U R I T Y W R I T E _ O W N E R I / O D A C L S A C L S I D d w O p e n M o d e I / O F I L E _ F L A G _ W R I T E _ T H R O U G H F I L E _ F L A G _ O V E R L A P P E D I / O

70 API P I P E _ A C C E S S _ D U P L E X G E N E R I C _ R E A D I G E N E R I C _ W R I T E P I P E _ A C C E S S _ O U T B O U N D G E N E R I C _ R E A D P I P E _ A C C E S S _ I N B O U N D G E N E R I C _ W R I T E 4-2 4-1 d w O p e n M o d e W R I T E _ D A C D A C L A C C E S S _ S Y S T E M _ S E C U R I T Y S A C L W R I T E _ O W N E R I D S I D A P I D A C L 2 D A C L S A C L S I D C r e a t e N a m e d P i p e A P I d w P i p e M o d e 4-2 O R P I P E _ R E A D M O D E _ BYTE PIPE_TYPE_BYTE 500 10 PIPE_READMODE_MESSAGE PIPE_TYPE_MESSAGE 500 R e a d F i l e 500 R e a d F i l e E R R O R _ M O R E _ D ATA P I P E _ T Y P E _ M E S S A G E P I P E _ R E A D M O R E _ B Y T E P I P E _ T Y P E _ B Y T E P I P E _ R E A D M O R E _ M E S S A G E C r e a t e N a m e d P i p e E R R O R _ I N VA L I D _ PA R A M E T E R I / O P I P E _ WA I T P I P E _ N O WA I T P I P E _ WA I T P I P E _ N O WA I R e a d F i l e I / O

4 71 I / O P I P E _ N O WA I TI / O Wi n 32 I / O Microsoft LAN Manager 2.0 R e a d F i l e Wr i t e F i l e Wi n 32 I / O I / O 4-2 P I P E _ T Y P E _ B Y T E P I P E _ T Y P E _ M E S S A G E P I P E _ R E A D M O D E _ B Y T E P I P E _ R E A D M O D E _ M E S S A G E P I P E _ WA I T P I P E _ N O WA I T PIPE_NOWAIT Win32 I/O Microsoft LAN Manager 2.0 n M a x I n s t a n c e s 1 P I P E _ U N L I M I T E D _ I N S TA N C E S 5 P I P E _ U N L I M I T E D _ I N S TA N C E S C r e a t e N a m e d P i p e n O u t B u ff e r S i z e n I n B u ff e r S i z e I / O R e a d F i l e Wr i t e F i l e n D e f a u l t Ti m e O u t Wa i t N a m e P i p e l p S e c u r i t y A t t r i b u t e s N U L L 2 Windows NT Windows 2000 A P I S E C U R I T Y _ D E S C R I P TO R

72 API S E C U R I T Y _ D E S C R I P TO R D A C L C r e a t e N a m e d P i p e C o n n e c t N a m e d P i p e A P I h N a m e d P i p e C r e a t e N a m e d P i p e l p O v e r l a p p e d A P I F I L E _ F L A G _ O V E R L A P P E D Wi n 32 I / O N U L L C o n n e c t N a m e d P i p e I / O C o n n e c t N a m e d P i p e A P I Wr i t e F i l e R e a d F i l D i s c o n n c t N a m e d P i p e 4-1 4-1

4 73 NULL DACL Windows NT Windows 2000 Win32 API SECURITY_ATTRIBUTES l p S e c u r i t y D e s c r i p t o r S E C U R I T Y _ D E S C R I P TO R S E C U R I T Y _ D E S C R I P TO R D A C L N U L S E C U R I T Y _ D E S C R I P TO R Wi n 32 A P I S E C U R I T Y _ D E S C R I P TO R D A C L 1) S E C U R I T Y _ D E S C R I P TO R A P I I n i t i a l i z e S e c u r i t y D e s c r i p t o r 2) S E C U R I T Y _ D E S C R I P TO R D A C L A P I S e t S e c u r i t y D e s c r i p t o r D a c l S E C U R I T Y _ D E S C R I P TO R S E C U R I T Y _ AT T R I B U T E S C r e a t e N a m e d P i p e Wi n 32 S E C U R I T Y _ AT T R I B U T E S D A C L A P I

74 API 4.2.2 4-1 A P I I / O C r e a t e N a m e d P i p e A P I n M a x I n s t a n c e s Win32 I/O I / O I / O I / O Wi n d o w s 8 1. 4-2 E c h o 4-2 Wi n 32

4 75

76 API A P I C r e a t e T h r e a d C r e a t e T h r e a d P i p e I n s t a n c e P r o c P i p e I n s t a n c e P r o c 4-1 D i s c o n n e c t N a m e d P i p e A P I D i s c o n n e c t N a m e d P i p e C o n n e c t N a m e P i p e 2. I / O I / O Win32 API R e a d F i l e Wr i t e F i l e I / O A P I O V E R L A P P E D A P I G e t O v e r l a p p e d R e s u l t O V E R L A P P E D I / O Win32 API I / O C r e a t e N a m e d P i p e n M a x I n s t a n c e s 1 d w O p e n M o d e F I L E _ F L A G _ O V E R L A P P E D 4-3

4 77 4-3 Wi n 32 I / O

78 API

4 79

80 API C r e a t e N a m e d P i p e I / O C o n n e c t N a m e d P i p e I / O D i s c o n n e c t N a m e d P i p e C o n n e c t N a m e d P i p e 3. Windows NT Windows 2000 Windows NT Windows 2000 Windows NT Windows 2000 C r e a t e N a m e d P i p e S E C U R I T Y _ D E S C R I P TO R C o n n e c t N a m e d P i p e A P I I m p e r s o n a t e N a m e d P i p e C l i e n t h N a m e d P i p e C r e a t e N a m e d P i p e A n o n y m o u s I d e n t i f i c a t i o n I m p e r s o n a t i o n D e l e g a t i o n

4 81 R e v e r t To S e l f R e v e r t To S e l A P I 4.2.3 1) A P I Wa i t N a m e d P i p e 2) A P I C r e a t e F i l e 3) A P I Wr i t e F i l e R e a d F i l e 4) A P I C l o s e H a n d l e Wa i t N a m e d P i p e l p N a m e d P i p e N a m e n Ti m e O u t C o n n e c t N a m e d P i p e Wa i t N a m e d P i p e C r e a t e F i l A P I C r e a t e F i l e l p F i l e N a m e 4 d w D e s i r e d A c c e s s G E N E R I C _ R E A D G E N E R I C _ W R I T E O R C r e a t e N a m e d P i p e d w O p e n M o d e P I P E _ A C C E S S _ I N B O U N D G E N E R I C _ W R I T E d w S h a r e M o d e 0

82 API l p S e c u r i t y A t t r i b u t e s N U L L C r e a t e F i l e d w C r e a t i o n D i s p o s i t i o n O P E N _ E X I S T I N G C r e a t e F i l e d w F l a g s A n d A t t r i b u t e s F I L E _ AT T R I B U T E _ N O R M A L F I L E _ F L A G _ W R I T E _ T H R O U G H F I L E _ F L A G _ O V E R L A P P E D S E C U R I T Y _ S Q O S _ P R E S E N T F I L E _ AT T R I B U T E _ N O R M A L O R F I L E _ F L A G _ W R I T E _ T H R O U G H F I L E _ F L A G _ O V E R L A P P E D 4-1 S E C U R I T Y _ S Q O S _ P R E S E N T S E C U R I T Y _ S Q O S _ P R E S E N T S E C U R I T Y _ A N O N Y M O U S A n o n y m o u s S E C U R I T Y _ I D E N T I F I C AT I O N I d e n t i f i c a t i o n S E C U R I T Y _ I M P E R S O N AT I O N I m p e r s o n a t i o n S E C U R I T Y _ D E L E G AT I O N D e l e g a t i o n Windows 2000 SECURITY_DELEGATION Windows NT 4 SP6 S E C U R I T Y _ C O N T E X T _ T R A C K I N G S E C U R I T Y _ E F F E C T I V E _ O N LY 4. 2. 1 C r e a t e F i l e h Te m p l a t e F i l e N U L L C r e a t e F i l e R e a d F i l e Wr i t e F i l

4 83 C l o s e H a n d l e 4-4 A P I This is a test 4-4 4.3 API C a l l N a m e d P i p e

84 API Tr a n s a c t N a m e d P i p e A P I C a l l N a m e d P i p e C a l l N a m e d P i p e l p N a m e d P i p e N a m e U N C l p I n B u ff e r n I n B u ff e r S i z e l p O u t B u ff e r n O u t B u ff e r S i z e l p B y t e s R e a d n Ti m e O u t Tr a n s a c t N a m e d P i p e A P I M S N P I / O Tr a n s a c t N a m e d P i p e h N a m e d P i p e C r e a t e N a m e d P i p e C r e a t e F i l e A P I l p I n B u ff e r n I n B u ff e r S i z e l p O u t B u ff e r n O u t B u ff e r S i z e l p B y t e s R e a d l p O v e r l a p p e d Tr a n s a c t N a m e d P i p e I / O G e t N a m e d P i p e H a n d l e S t a t e S e t N a m e d P i p e H a n d l e S t a t e G e t N a m e d P i p e I n f o G e t N a m e d P i p e H a n d l e S t a t e

4 85 G e t N a m e d P i p e H a n d l e S t a t e G e t N a m e d P i p e H a n d l e S t a t e h N a m e d P i p e C r e a t e N a m e d P i p e C r e a t e F i l e A P I l p S t a t e l p S t a t P I P E _ N O WA I T P I P E _ R E A D M O D E _ M E S S A G E l p C u r I n s t a n c e s l p M a x C o l l e c t i o n C o u n t l p C o l l e c t D a t a Ti m e o u t l p U s e r N a m e n M a x U e r N a m e S i z e S e t N a m e d P i p e H a n d l e S t a t e G e t N a m e d P i p e H a n d l e S t a t e S e t N a m e d P i p e H a n d l e S t a t e h N a m e d P i p e C r e a t e N a m e d P i p e C r e a t e F i l e A P I l p M o d e l p M a x C o l l e c t i o n C o u n t l p C o l l e c t D a t a Ti m e o u t G e t N a m e d P i p e I n f o A P I h N a m e d P i p e C r e a t e N a m e d P i p e C r e a t e F i l e A P I l p F l a g s l p O u t B u ff e r S i z e

86 API l p I n B u ff e r S i z e l p M a x I n s t a n c e A P I P e e k N a m e d P i p e R e a d F i l e A P I P e e k N a m e d P i p e h N a m e d P i p e C r e a t e N a m e d P i p e C r e a t e F i l e A P I l p B u ff e r n B u ff e r S i z e l p B y t e s R e a d l p To t a l B y t e s Av a i l l p B y t e s L e f t T h i s M e s s a g e l p B u ff e r 0 4.4 h t t p : / / s u p p o r t. m i c r o s o f t. c o m / s u p p o r t Q 1 0 0 2 9 1 \\.\ P i p e \ M y p i p e s \\. P i p e \ M y p i p e s \ P i p e 1 \\.\ P i p e \ M y p i p e s Q 119218 64 K A P I Wr i t e F i l e 64 K B FA L S E G e t L a s t E r r o r E R R O R _ M O R E _ D ATA Q 110148 Wr i t e F i l e R e a d F i l e E R R O R _ I N VA L I D _ PA R A M E T E R I / O Wr i t e F i l e R e a d F i l e E R R O R _ I N VA L I D _ PA R A M E T E R O V E R L A P P E D O ff s e t O ff s e t H i g h 0 Q 1 8 0 2 2 2 Windows 95 Wa i t N a m e d P i p e 2 5 3 Windows 95 Wa i t N a m e d P i p e G e t L a s t E r r o r 253 Windows NT 4

4 87 1 61 E R R O R _ B A D _ PAT H N A M E 253 161 E R R O R _ B A D _ PAT H N A M E Q 141709 4 49 49 Q 1 2 6 6 4 5 Windows NT 5 4.5 Wi n d o w s Windows NT Wi n d o w s 2 0 0 0 Wi n s o c k

Winsock API Wi n 32 Wi n s o c k Wi n s o c k Wi n 32 Wi n s o c k Wi n s o c k U n i x B e r k e l e y B S D Wi n 32 Wi n s o c k Winsock 2 Wi n s o c k Wi n s o c k Winsock 2 Q o S Winsock 2 Winsock 2 Wi n 32 Windows CE Wi n s o c k B S D Wi n s o c k 5 Winsock 2 Wi n s o c k 5.1 5.1.1 5-1 128 6 4 3 2 256 128 6 4 3 2

90 Winsock API preserving message boundaries 32 128 Win32 64 64 Win32 128 32 5-1 5-2 128 6 4 3 2 2 N a g l e T C P / I P N a g l e N a g l e 5-2 256 224 20 2 p s e u d o - s t r e a m 5-1 5-2

5 91 32 Win32 64 ------------ 128 224 Win32 5-2 5.1.2 5.1.3

92 Winsock API 5.1.4 T C P F I N A C K F I N F I F I N A C K 5.1.5 L A N L A N L A N 5.1.6 I P I P 11 Wi n s o c k 5.1.7 Q o S Q o S Q o S 12 Q o S

5 93 5.1.8 5.1.9 A B A B B N e t B E U I Wi n 3 2 5.1.10 Wi n 3 2 Wi n s o c k Winsock 2 5. 3 5.2 Wi n 3 2 2 Wi n d o w s Wi n s o c k 6 Wi n s o c k 5.2.1 Win32 Wi n 3 2

94 Winsock API I P 5-1 5-1 ( ) I P MSAFD TCP MSAFD UDP 65467 RSVP TCP RSVP UDP 65467 I P X / S P X MSAFD 576 nwlnkipx[ipx] M S A F D n w l n k s p x [ S P X ] M S A F D n w l n k s p x [ S P X ][ ] M S A F D n w l n k s p x [ S P X I I ] M S A F D n w l n k s p x [ S P X I I ][ ] N e t B I O S 64 K B ( 65535 ) 64 K B ( S P 25 ) ( 65535 ) A p p l e Ta l k M S A F D 64 K B A p p l e Ta l k [ A D S P ] ( 65535 ) M S A F D A p p l e Ta l k [ A D S P ][ ] M S A F D 4096 A p p l e Ta l k [ PA P ] M S A F D A p p l e Ta l k [ RT M P ] M S A F D A p p l e Ta l k [ Z I P ] AT M MSAFD ATM AAL5 AT M ( A A L 5 ) MSAFD lrda[lrda] NetBIOS NetBIOS 5.2.2 Windows CE Windows CE Wi n 32 T C P / I P Windows CE Winsock 1.1 Winsock 2 Windows CE T C P / I P N e t B I O S NetBIOS API Wi n s o c k N e t B I O S 5.3 Winsock 2 Winsock 2

5 95 T C P / I P I P T C P I P W S A E n u m P r o t o c o l s Winsock 1.1 E n u m P r o t o c o l s E n u m P r o t o c o l s Windows CE W S A E n u m P r o t o c o l s W S A P R O TO C O L S _ I N F O E n u m P r o t o c o l s P R O TO C O L _ I N F O W S A P R O TO C O L S _ I N F O W S A P R O TO C O L _ I N F O Winsock Wi n s o c k Wi n s o c Wi n s o c k W S A S t a r t u p int WSAStartup(WORD wve r s i o n R e q u e s t e d, L P W S A D ATA lpwsadata) Wi n s o c k Wi n 32 Winsock 2 2. 2 Windows CE Winsock 1.1 Winsock 2.2 0 x 0202 M A K E W O R D ( 2, 2 ) W S A D ATA W S A D

96 Winsock API W S A S t a r t u p Wi n s o c k 5-2 W S A D ATA W S A D ATA W S A D ATA w Ve r s i o n w H i g h Ve r s i o n U D P 5-2 WSADATA w Ve r s i o n w H i g h Ve r s i o n s z D e s c r i p t i o n s z S y s t e m S t a t u s i M a x S o c k e t s i M a x U d p D g l p Ve n d o r I n f o Wi n s o c k Wi n s o c k Wi n s o c k w Ve r s i o n Wi n s o c k Winsock 2 U D P Winsock 2 Winsock 2 Wi n s o c k Wi n s o c k int WSACleanup (void); W S A S t a r t u p W S A C l e a n u p Winsock DLL W S A C l e a n u p Winsock 2 Winsock 1.1 Wi n s o c k 1. 1 Winsock 2 Winsock 1.1 Winsock 2 W S A E n u m P r o t o c o l s N U L L l p d w B u ff e r L e n g t h l p P r o t o c o l B u ff e r 0 W S A E N O B U F S l p d w B u ff e r L e n g t h W S A P R O TO C O L _ I N F O C D - R O M E n u m. c W S A P R O TO C O L _ I N F O d w S e r v i c e F l a g s 1 5 3 d w S e r v i c e F l a g s 1

5 97 5-3 X P l _ C O N N E C T I O N L E S S X P l _ G U A R A N T E E D _ D E L I V E RY X P l _ G U A R A N T E E D _ O R D E R X P l _ M E S S A G E _ O R I E N T E D X P l _ P S E U D O _ S T R E A M X P l _ G R A C E F U L _ C L O S E X P l _ E X P E D I T E D _ D ATA X P l _ C O N N E C T _ D ATA X P l _ D I S C O N N E C T _ D ATA X P l _ S U P P O RT _ B R O A D C A S T X P l _ S U P P O RT _ M U LT I P O I N T X P l _ M U LT I P O I N T _ C O N T R O L _ P L A N E X P l _ M U LT I P O I N T _ D ATA _ P L A N E X P l _ Q O S _ S U P P O RT E D X P l _ U N I _ S E N D X P l _ U N I _ R E C V X P l _ I F S _ H A N D L E S X P l _ PA RT I A L _ M E S S A G E Q o S Installable File System ReadFile Wr i t e F i l e A P I W S A S e n d W S A S e n d To M S G _ PA RT I A L i P r o t o c o l i S o c k e t Ty p e i A d d r e s s F a m i l y i P r o t o c o l i S o c k e t Ty p e i A d d r e s s F a m i l y 5.4 Windows Wi n s o c k Wi n s o c k A P I Wi n 32 S O C K E T

98 Winsock API a f U D P T C P A F _ I N E T I P t y p e S O C K _ S T R E A M S O C K _ D G R A M S O C K _ S E Q PA C K E T S O C K _ R AW S O C K _ R D M p r o t o c o l 5-4 5-4 I n t e r n e t A F _ I N E T T C P S O C K _ S T R E A M I P P R O TO _ I P P r o t o c o l ( I P ) U D P S O C K _ D G R A M I P P R O TO _ U D P Raw sockets S O C K _ R AW I P P R O TO _ R AW I P P R O TO _ I C M P I P X / S P X A F / N S M S A F D S O C K _ D G R A M N S P R O TO _ I P X n w l n k i p x [ I P X ] A F _ I P X M S A F D S O C K _ S E Q PA C K E T N S P R O TO _ S P X n w l n k s p x [ S P X ] M S A F D S O C K _ S T R E A M N S P R O TO _ S P X n w l n k s p x [ S P X ] [ P s e u d o - s t r e a m ] M S A F D S O C K _ S T R E A M N S P R O TO _ S P X I I n w l n k s p x [ S P X I I ] M S A F D S O C K _ S T R E A M N S P R O TO _ S P X I I n w l n k s p x [ S P X I I ] [ P s e u d o - s t r e a m ] N e t B I O S A F _ N E T B I O S S e q u e n t i a l S O C K _ S E Q PA C K E T LANA n u m b e r P a c k e t s D a t a g r a m s S O C K _ D G R A M LANA n u m b e r A p p l e Ta l k A F _ A P P L E TA L K M S A F D S O C K _ R D M AT P R O TO _ A D S P A p p l e Ta l k [ A D S P ] M S A F D S O C K _ S T R E A M AT P R O TO _ A D S P A p p l e Ta l k [ A D S P ] [ P s e u d o - s t r e a m ] M S A F D S O C K _ R D M AT P R O TO _ PA P A p p l e Ta l k [ PA P ] M S A F D S O C K _ D G R A M D D P P R O TO _ RT M P A p p l e Ta l k [ RT M P ] M S A F D S O C K _ D G R A M D D P P R O TO _ Z I P A p p l e Ta l k [ Z I P ] AT M A F _ AT M MSAFD ATM AAL5 S O C K _ R AW AT M P R O TO _ A A L 5 Native AT M ( A A L 5 ) S O C K _ R AW AT M P R O TO _ A A L 5 I n f r a r e d A F _ I R D A MSAFD Irda[IrDA] S O C K _ S T R E A M I R D A _ P R O TO S o c k e t s _ S O C K _ S T R E A M

5 99 AT M A F _ AT M S O C K _ R AW 0 a f t y p e W S A P R O TO C O L _ I N F O d w P r o v i d e r F l a g s s o c k e t W S A S o c k e t 0 W S A S o c k e t W S A E n u m P r o t o c o l s W S A P R O TO C O L _ I N F O l p P r o t o c o l I n f o W S A S o c k e t a f t y p e p r o t o c o l F R O M _ P R O TO C O L _ I N F O W S A P R O TO C O L _ I N F O W S A S o c k e t 0 Wi n s o c k d w F l a g s W S A _ F L A G _ O V E R L A P P E D W S A _ F L A G _ M U LT I P O I N T _ C _ R O O T W S A _ F L A G _ M U LT I P O I N T _ C _ L E A F W S A _ F L A G _ M U LT I P O I N T _ D _ R O O F W S A _ F L A G _ M U LT I P O I N T _ D _ L E A F W S A _ F L A G _ O V E R L A P P E D I / O Wi n s o c k 8 s o c k e t W S A _ F L A G _ O V E R L A P P E D W S A S o c k e t W S A S o c k e t W S A P R O TO C O L _ I N F O I P U D P I C M PI C M I C M P U D P T C P I P 13 5.5 Windows 95 Winsock 1.1 Wi n s o c k We b h t t p :// w w w. m i c r o s o f t. c o m / Windows 95/downloads/ Wi n s o c k 2 SDK Winsock 2 Windows 98 Windows NT 4 Windows 2000 Wi n s o c k 2 Windows CE Winsock 1.1

100 Winsock API Windows CE T C P / I P Windows 95 Windows 98 Winsock API N e t B I O S A F _ N E T B I O S W S A E n u m P r o t o c o l s N e t B I O S N e t B I O S N e t B I O S N e t B I O 1 R S V P Q o S AT M Windows 98 Windows 2000 Winsock API OSI O S I 4 1-1 Wi n s o c k W S A E n u m P r o t o c o l s O S I U D P T C P I Winsock API Wi n s o c k Wi n d o w s Wi n s o c k Wi n s o c k 5.6 T C P / I P A p p l e Ta l k N e t B I O S I P X / S P X Windows 95 N e t B E U I I P X / S P X T C P / I P Windows 2000 T C P / I P N e t B I O S T C P / I P T C P / I P AT M AT Wi n s o c k AT M T C P / I P AT M T C P / I P T C P / I 5.7

5 101 W S A S o c k e t s o c k e t W S A E n u m P r o t o c o l s W S A P R O TO C O L _ I N F O W S A S o c k e t

6 Wi n s o c k Wi n s o c k Winsock 2 g e t s o c k o p t 10 10 6.1 IP Internet Protocol, IP L A N WA N I P T C P U D P I P 6.1.1 TCP Transmission Control Protocol, TCP T C P T C 6.1.2 UDP User Datagram Protocol, UDP U D P T C P U D P I P T C P / I P U D P / I P Wi n s o c k A F _ I N E T I P Winsock 1.h Winsock 2.h 6.1.3 I P I 32 I P v 4 T C P U D P I

6 103 I P Wi n s o c k S O C K A D D R _ I N I P s i n _ f a m i l y A F _ I N E T Wi n s o c k I P IP 6 I P 6 I P I 16 I P v 4 I P v 6 Wi n s o c k I P v 6 Wi n 32 I P v 6 Wi n d o w s 2000 I P v 6 h t t p :// r e s e a r c h. m i c r o s o f t. c o m / m s t r i p v 6 / 6 T C P U D P s i n _ p o r t F T P H T T P I A N A RFC 1700 0 ~ 1 0 2 3 I A N A 1 0 2 4 ~ 4 9 1 5 1 I A N A 4 9 1 5 2 ~ 6 5 5 3 5 1024 ~ 49151 49152 ~ 65535 I A N A bind API Wi n s o c k W S A E A D D R I N U S E 7 Wi n s o c k S O C K A D D R _ I N s i n _ a d d r I P 4 I P I P a. b. c. d 4 sin_ zero S O C K A D D R _ I N S O C K A D D R i n e t _ a d d r I P 32 unsigned long inet_addr( const char FAR *cp );

104 Winsock API c p I P I 32 1. I P I N A D D R _ A N Y I N A D D R _ B R O A D C A S T I P U D P S O _ B R O A D C A S T 9 2. b i g - e n d i a n l i t t l e - e n d i a n Intel 86 I P h o s t - b y t e I P n e t w o r k - b y t e A P I h t o n l W S A H t o n l h o s t l o n g 4 h t o n l W S A H t o n l l p n e t l o n g h t o n s W S A H t o n s h o s t s h o r t 2 h t o n s 2 W S A H t o n s l p n e t s h o r t

6 105 i n e t _ a d d r h t o n s S O C K A D D R _ I N 6.1.4 I P T C P U D P I P T C P I P A F _ I N E T S O C K _ S T R E A M s o c k e t W S A S o c k e t 0 U D P I P s o c k e t S O C K _ S T R E A M W S A S o c k e t I P S O C K _ R AW 13 S O C K _ R AW 6.1.5 Wi n s o c k I P I I I P Wi n s o c k I P Wi n d o w s g e t h o s t b y n a m e WSAAsynGetHostByName API H O S T E N T

106 Winsock API h _ n a m e D N S F Q D N I P h _ a l i a s e s h _ a d d r t y p e h _ l e n g t h h _ a d d r _ l i s t h _ a d d r _ l i s t I P I P gethostbyname API n a m e H O S T E N T H O S T E N T WSAAsyncGetHostByName API g e t h o s t b y n a m e Wi n d o w s W S A A s y n G e t H o s t B y N a m e b W n d w M s g n a m e b u f H O S T E N T H O S T E N M A X G E T H O S T S T R U C T g e t h o s t b y a d d r WSAAsynGetHostByName API I P I g e t h o s t b y a d d r a d d r I P l e n a d d r t y p e A F _ I N E T I P WSAAsyncGetHostByAddr API g e t h o s t b y a d d r

6 107 I P T C P U D P T C P T C P S P X 21 F T P 80 F T T P 1 ~ 1023 T C P 1023 g e t s e r v b y n a m e W S A A s y n c G e t S e r v B y N a m e s e r v i c e s Windows 95 Windows 98 W I N D O W S Windows NT Windows 2000 W I N D O W S \ S y s t e m 32 \ D r i v e r s \ E t c g e t s e r v b y n a m e n a m e F T P n a m e f t pp r o t o n a m e W S A A s y n c G e t S e r v B y N a m e g e t s e r v b y n a m e Windows 2000 T C P U D P W S A S e t S e r v i c e I P A P I W S A L o o k u p S e r v i c e B e g i n W S A L o o k u p S e r v i c e N e x t W S A L o o k u p S e r v i c e E n d 10 6.2 I r S o c k Wi n d o w s Windows 98 Windows 2000 6.2.1 Infrared Data Association, IrDA I r D A I r D A Wi n s o c k I P I r S o c k T C P / I P I P I r S o c k

108 Winsock API i r d a A d d r e s s F a m i l y A F _ I R D A i r d a D e v i c e I D 4 I r S o c k I r D A i r d a S e r v i c e N a m e 6.2.2 I r D A L S A P - S E L I A S I A S L S A P - S E L I P L S A P - S E L L S A P - S E L I r D A Wi n 32 L S A P - S E L 1 1 27 I A S W I N S L S A P - S E L I A S M y S e r v e r S O C K A D D R _ I R D A I A S M y S e r v e r I r D A : Ti n y T P : L s a p - S E L 3 L S A P - S E L L S A P - S E L S O C K A D D R _ I R D A I A S M y S e r v e r I r D A : Ti n y T P : L s a p - S E L I A S 3 g e t s o c k e t o p t I R L M P _ I A S _ Q U E RY I A S I A S L A S P - S E L I A S I A I r D A S O C K A D D R _ I R D A L S A P - S E L - x x x I A S x x x 1 1 27 L S A P - S E L L S A P - S E L I A S L S A P - S E L 6.2.3 Windows CE Windows 98 Wi n d o w s 2000 Windows CE I r S o c k Windows 98 Windows 2000 I r S o c k

6 109 Windows CE A F _ i r d a. h I r S o c k A f _ i r d a. h g e t s o c k o p t I R L M P _ E N U M _ D E V I C E D E V I C E L I S T o p t v a l Windows 98 Wi n d o w s 2000 Windows CE Windows 98 Windows 2000 Windows CE Windows 98 Windows 2000 W I N D O W S _ I R D A _ D E V I C E _ I N F O W C E _ I R D A _ D E V I C E _ I N F O # d e f i n e D E V I C E L I S T I R D A _ D E V I C E _ I N F O # d e f i n e I R D A _ D E V I C E _ I N F O I R L M P _ E N U M _ D E V I C E S g e t s o c k o p t I D

110 Winsock API g e t s o c k o p t D E V I C E L I S T n u m D e v i c e 0 n u m D e v i c e 0 D e v i c e I R D A _ D E V I C E _ I N F O g e t s o c k o p t S l e e p I r S o c k 1) A F _ I R D A S O C K _ S T R E A M 2) S O C K A D D R _ I R D A 3) S O C K A D D R _ I R D A b i n d 4) b a c k l o g l i s t e n 5) a c c e p t I r S o c k 1) A F _ I R D A S O C K - S T R E A M 2) I R L M P _ E N U M _ D E V I C E S g e t s o c k o p t 3) I D SOCKADDR_ IRDA 4) S O C K A D D R _ I R D A c o n n e c t 3 4 6.2.4 IAS I A S I R L M P _ I A S _ Q U E RY g e t s o c k o p t I A S _ Q U E RY Windows 98 Windows 2000 Windows CE

6 111 L S A P - S E L i r d a C l a s s N a m e L S A P - S E L I r D A : I r L M P : L s a p S e l i r d a A t t r i b u t e N a m e i r d a D e v i c e I D 6.2.5 I r S o c k s o c k e t W S A S o c k e t Winsock 1.1 Windows CE s o c k e t I R D A _ P R O TO _ S I C K _ S T R E A M A F _ I R D A

112 Winsock API A F _ I R D A 6.2.6 I r D A S O _ s o c k e t S O _ L I N G E R I r S o c k A F _ I R D A 9 9 6.3 IPX/SPX I P X Novell NetWa r e I P X I P X I P X S P X SPX II S P X I P X Wi n s o c k Wi n d o w s I P X Windows 95 Windows 98 Windows NT Windows 2000 Windows CE I P X 6.3.1 I P X I P X 4 I P X 6 I P X I P X I P X Wi n s o c k S O C K A D D R _ I P X W s i p x. h Winsock 2.h S O C K A D D R _ I P X s a _ f a m i l y A F _ I P X s a _ n e t n u m 4 I P X s a _ n o d e n u m 6 s a _ s o c k e t I P X 6.3.2 I P X I P A F _ I P X N S P R O TO _ I P X s o c k e t W S A S o c k e t

6 113 0 I P X I P X I P X S P X SPX II s o c k e t W S A S o c k e t S O C K _ S E Q PA C K E T S O C K _ S T R E A M N S P R O TO _ S P X N S P R O TO_SPX II S O C K _ S T R E A M T C P / I P 2000 2000 S P X SPX II S P X SOCK_ STREAM Winsock recv W S A R e c v S O C K _ S T R E A M r e c v S O C K _ S E Q PA C K E T 1. I P X b i n d S O C K A D D R _ I P X b i n d I P X Windows 95 Windows 98 Windows NT Windows 2000 g e t s o c k n a m e

114 Winsock API 2. I P X I P X Windows 95 Windows 98 Windows NT Windows 2000 Windows 95 Windows 98 Windows NT Windows 2000 N e t Wa r e I P X S O C K A D D R _ I P X s a _ n e t n u m s a _ n o d e n u m 0 I P X A B 3. Wi n s o c k I P X N S P R O TO _ I P X Wi n s o c k I P X I P I P X N o v e l l I P X 0 1 h R I P 0 4 h S A P 0 5 h S P X 11 h N e t Ware Core N C P 1 4 h Novell NetBIOS I P X N S P R O TO_IPX + N socket API n 04 h S A P I P X s o c k e t 4. Wi n s o c k I P X I P X S A P I P X 10 Winsock 2 WSASetService API S A P I P X W S A A e t S e r v i c e

6 115 Winsock 2 A P I W S A L o o k u p S e r v i c e B e g i n W S A l o o k u p S e r v i c e N e x t W S A l o o k u p S e r v i c e E n d I P X S A P I P X S A P S A P IPX SAP 6.4 NetBIOS N e t B I O S Wi n s o c k 1 N e t B I O S Wi n s o c k N e t B I O S N e t B I O S L A N A 1 Wi n s o c k N e t B I O S NetBIOS Winsock Windows NT Windows 2000 Windows 95 Windows 98 Windows CE 6.4.1 N e t B I O S N e t B I O S 1 N e t B I O S 16 N e t B I O S F O O F O Wi n s o c k N e t B I O S W s a n e t b s. h s n b _ f a m i l y A F _ N E T B I O S s n b _ t y p e s n b _ t y p e s n b _ n a m e N e t B I O S

116 Winsock API _ s n b S O C K A D D R _ N B s n b _ f a m i l y A F _ N E T B I O S _ t y p e N E T B I O S _ U N I Q U E _ N A M E N E T B I O S _ G R O U P _ N A M E _ n a m e N e t B I O S N E T B I O S _ N A M E _ L E N G T H 1 s n b _ n a m e s n b _ n a m 16 _ p o r t Wi n s o c k N e t B I O S T C P I r D A N e t B I O S Wi n s o c k N e t B I O S 6.4.2 L A N A NetBIOS API L A N A N e t B I O S N e t B I O S s o c k e t W S A S o c k e t W S A S o c k e t t y p e S O C K _ D G R A M S O C K _ S E Q PA C K E T p r o t o c o l L A N A W S A P R O TO C O L _ I N F O d w F l a g s W S A _ F L A G _ O V E R L A P P E D W S A S o c k e t W S A _ F L A G _ O V E R L A P P E D L A N A Wi n s o c k L A N A Wi n s o c k W S A E n u m P r o t o c o l s N C B E N U M N e t b i o s L A N A 5 W S A E n u m P r o t o c o l s N e t B I O S

6 117 A F _ N E T B I O S S O C K _ S E Q PA C K E T S O C K _ D G R A M N e t B I O S L A N A W S A P R O TO C O L S _I N F O i P r o t o c o l L A N A i P r o t o c o l 0 x 80000000 0 Wi n s o c k j 6.5 AppleTalk Wi n s o c k A p p l e Ta l k M A C A p p l e Ta l k A p p l e Ta l k N e t B I O S A p p l e Ta l k N e t B I O S A p p l e Ta l k 6.5.1 A p p l e Ta l k 3 2 A p p l e Ta l k A p p l e Ta l k Wi n d o w s A p p l e Ta l k N B P A p p l e Ta l k RT M P A p p l e Ta l k Wi n s o c k A p p l e Ta l k

118 Winsock API S O C K A D D R _ AT b i n d c o n n e c t W S A c o n n e c t Wi n s o c k g e t s o c k o p t s e t s o c k o p t 6.5.2 AppleTalk S O _ R E G I S T E R _ N A M E s e t s o c k o p t A p l p l e Ta l k W S H _ N B P _ N A M E W S H _ R E G I S T E R _ N A M E W S H _ D E R E G I S T E R _ N A M E W S H _ R E M O V E _ N A M E W S H _ N B P _ N A M E A p p l e Ta l k