ÿþ 
 / / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
 / /  
 / /     h b a a p i . m o f  
 / /  
 / /     M o d u l e :   W D M   c l a s s e s   t o   e x p o s e   H B A   a p i   d a t a   f r o m   d r i v e r s  
 / /  
 / /     P u r p o s e :   C o n t a i n s   W D M   c l a s s e s   t h a t   s p e c i f y   t h e   H B A   d a t a   t o   b e   e x p o s e d  
 / /                       v i a   t h e   H B A   a p i   s e t .  
 / /  
 / /     N O T E :   T h i s   f i l e   c o n t a i n s   i n f o r m a t i o n   t h a t   i s   b a s e d   u p o n   a n   e a r l i e r  
 / /                 r e v i s i o n   o f   t h e   H B A A P I   2 . 1 8   s p e c i f i c a t i o n .  
 / /  
 / /     N O T E :   T h i s   i s   c u r r e n t l y   u n d e r   r e v i s i o n   t o   S M - H B A   D e c   2 0 0 5  
 / /  
 / /     C o p y r i g h t   ( c )   2 0 0 1   M i c r o s o f t   C o r p o r a t i o n  
 / /  
 / / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  
  
 # p r a g m a   a u t o r e c o v e r  
 # p r a g m a   c l a s s f l a g s ( 6 4 )  
 # p r a g m a   n a m e s p a c e ( " \ \ \ \ . \ \ R o o t \ \ w m i " )  
 i n s t a n c e   o f   _ _ n a m e s p a c e {   n a m e = " m s _ 4 0 9 " ; } ;  
 # p r a g m a   n a m e s p a c e ( " \ \ \ \ . \ \ R o o t \ \ w m i \ \ m s _ 4 0 9 " )  
  
 [ D e s c r i p t i o n ( " N P I V   o p e r a t i o n s   t h a t   c a n   b e   p e r f o r m e d   o n   a   p h y s i c a l   a d a p t e r " )   :   A m e n d e d , A M E N D M E N T ,   L O C A L E ( 0 x 0 4 0 9 ) ]    
 c l a s s   M S F C _ F i b r e P o r t N P I V M e t h o d s  
 {  
     [ D e s c r i p t i o n ( " C r e a t e   a   v i r t u a l   p o r t   w i t h   a   s p e c i f i c   W W P N . " )   :   A m e n d e d ]   v o i d   C r e a t e V i r t u a l P o r t ( [ O U T , D e s c r i p t i o n ( " R e t u r n   c o d e " )   :   A m e n d e d ]   u i n t 3 2   S t a t u s , [ I N , D e s c r i p t i o n ( " T h e   w o r l d   w i d e   p o r t   n a m e   o f   t h e   v i r t u a l   p o r t   t o   c r e a t e " )   :   A m e n d e d ]   u i n t 8   W W P N [ ] , [ I N , D e s c r i p t i o n ( " T h e   w o r l d   w i d e   n o d e   n a m e   t o   a s s o c i a t e   w i t h   t h e   c r e a t e d   v i r t u a l   p o r t " )   :   A m e n d e d ]   u i n t 8   W W N N [ ] , [ I N , D e s c r i p t i o n ( " A n   o p a q u e   t a g   p a s s e d   i n   b y   t h e   a p p .   1 2 8   b i t   s o   t h a t   a   g u i d   c a n   b e   s t o r e d   i n   i t . " )   :   A m e n d e d ]   u i n t 8   T a g [ ] , [ I N , D e s c r i p t i o n ( " P o r t   s y m b o l i c   n a m e " )   :   A m e n d e d ]   u i n t 1 6   V i r t u a l N a m e [ ] ) ;  
     [ D e s c r i p t i o n ( " R e m o v e   a   v i r t u a l   p o r t   " )   :   A m e n d e d ]   v o i d   R e m o v e V i r t u a l P o r t ( [ o u t , D e s c r i p t i o n ( " R e t u r n   c o d e " )   :   A m e n d e d ]   u i n t 3 2   S t a t u s , [ i n , D e s c r i p t i o n ( " T h e   w o r l d   w i d e   p o r t   n a m e   o f   t h e   v i r t u a l   p o r t " )   :   A m e n d e d ]   u i n t 8   W W P N [ ] ) ;  
 } ;  
  
 [ D e s c r i p t i o n ( " E m b e d d e d   c l a s s   t h a t   d e s c r i b e s   D H - C H A P   p a r a m e t e r s . " )   :   A m e n d e d , A M E N D M E N T ,   L O C A L E ( 0 x 0 4 0 9 ) ]    
 c l a s s   M S F C _ D H _ C h a p _ P a r a m e t e r s  
 {  
     [ D e s c r i p t i o n ( " L e n g t h   i n   b y t e s   o f   t h e   s h a r e d   s e c r e t . " )   :   A m e n d e d ]   u i n t 3 2   S h a r e d S e c r e t L e n g t h ;  
     [ D e s c r i p t i o n ( " S h a r e d   S e c r e t   E n c o d i n g " )   :   A m e n d e d ]   u i n t 8   S e c r e t E n c o d i n g ;  
     [ D e s c r i p t i o n ( " S h a r e d   s e c r e t   t o   b e   u s e d   a t   t h e   b a s i s   o f   a   D H - C H A P   c h a l l e n g e . " )   :   A m e n d e d ]   u i n t 8   S h a r e d S e c r e t [ ] ;  
 } ;  
  
 [ D e s c r i p t i o n ( " N P I V   c a p a b i l i t i e s " )   :   A m e n d e d , A M E N D M E N T ,   L O C A L E ( 0 x 0 4 0 9 ) ]    
 c l a s s   M S F C _ N P I V C a p a b i l i t i e s  
 {  
     [ D e s c r i p t i o n ( " D H - C H A P   a v a i l a b l e   f o r   p h y s i c a l   p o r t " )   :   A m e n d e d ]   b o o l e a n   D h C h a p A v a i l a b l e O n P h y s i c a l P o r t ;  
     [ D e s c r i p t i o n ( " D H - C H A P   a v a i l a b l e   f o r   v i r t u a l   p o r t s " )   :   A m e n d e d ]   b o o l e a n   D h C h a p A v a i l a b l e O n V i r t u a l P o r t s ;  
     [ D e s c r i p t i o n ( " N u m b e r   o f   v i r t u a l   p o r t s   t h a t   c a n   b e   c r e a t e d   o n   t h i s   p h y s i c a l   F C   p o r t " )   :   A m e n d e d ]   u i n t 1 6   M a x V i r t u a l P o r t C o u n t ;  
 } ;  
  
 [ D e s c r i p t i o n ( " N P I V   o p e r a t i o n s   t h a t   c a n   b e   p e r f o r m e d   o n   a   p h y s i c a l   a d a p t e r   w h i c h   e n a b l e   F i b r e   C h a n n e l   i n   a   G u e s t   V i r t u a l   M a c h i n e " )   :   A m e n d e d , A M E N D M E N T ,   L O C A L E ( 0 x 0 4 0 9 ) ]    
 c l a s s   M S F C _ F i b r e P o r t N P I V M e t h o d s E x  
 {  
     [ D e s c r i p t i o n ( " E n a b l e   D H - C H A P   f o r   t h e   P h y s i c a l   P o r t   o f   a   F i b r e   C h a n n e l   H B A ,   a l l o w i n g   f o r   u n i d i r e c t i o n a l   a u t h e n t i c a t i o n   o f   t h e   p h y s i c a l   p o r t   b y   t h e   F i b r e   C h a n n e l   f a b r i c . " )   :   A m e n d e d ]   v o i d   S e t C h a p F o r P h y s i c a l P o r t ( [ O U T , D e s c r i p t i o n ( " R e t u r n   c o d e " )   :   A m e n d e d ]   u i n t 3 2   S t a t u s , [ I N , D e s c r i p t i o n ( " P a r a m e t e r s   n e c e s s a r y   t o   r e s p o n d   t o   a   D H - C H A P   c h a l l e n g e . " )   :   A m e n d e d ]   M S F C _ D H _ C h a p _ P a r a m e t e r s   C H A P ) ;  
     [ D e s c r i p t i o n ( " D i s a b l e   D H - C H A P   f o r   t h e   P h y s i c a l   P o r t   o f   a   F i b r e   C h a n n e l   H B A . " )   :   A m e n d e d ]   v o i d   R e m o v e C h a p F o r P h y s i c a l P o r t ( [ O U T , D e s c r i p t i o n ( " R e t u r n   c o d e " )   :   A m e n d e d ]   u i n t 3 2   S t a t u s ) ;  
     [ D e s c r i p t i o n ( " C r e a t e   a   v i r t u a l   p o r t   o n   b e h a l f   o f   a   G u e s t   V i r t u a l   M a c h i n e   w i t h   a   s p e c i f i c   W W P N   w i t h   n o   a u t h e n t i c a t i o n   m e c h a n i s m . " )   :   A m e n d e d ]   v o i d   C r e a t e V i r t u a l P o r t E x ( [ O U T , D e s c r i p t i o n ( " R e t u r n   c o d e " )   :   A m e n d e d ]   u i n t 3 2   S t a t u s , [ I N , D e s c r i p t i o n ( " T h e   w o r l d   w i d e   p o r t   n a m e   o f   t h e   v i r t u a l   p o r t   t o   c r e a t e " )   :   A m e n d e d ]   u i n t 8   W W P N [ ] , [ I N , D e s c r i p t i o n ( " T h e   w o r l d   w i d e   n o d e   n a m e   t o   a s s o c i a t e   w i t h   t h e   c r e a t e d   v i r t u a l   p o r t " )   :   A m e n d e d ]   u i n t 8   W W N N [ ] , [ I N , D e s c r i p t i o n ( " A n   o p a q u e   t a g   p a s s e d   i n   b y   t h e   a p p .   1 2 8   b i t   s o   t h a t   a   g u i d   c a n   b e   s t o r e d   i n   i t . " )   :   A m e n d e d ]   u i n t 8   T a g [ ] , [ I N , D e s c r i p t i o n ( " P o r t   s y m b o l i c   n a m e " )   :   A m e n d e d ]   u i n t 1 6   V i r t u a l N a m e [ ] ) ;  
     [ D e s c r i p t i o n ( " C r e a t e   a   v i r t u a l   p o r t   o n   b e h a l f   o f   a   G u e s t   V i r t u a l   M a c h i n e   w i t h   a   s p e c i f i c   W W P N   u s i n g   D H - C H A P   f o r   u n i d i r e c t i o n a l   a u t h e n t i c a t i o n   o f   t h e   N _ P o r t   b y   t h e   F i b r e C h a n n e l   f a b r i c . " )   :   A m e n d e d ]   v o i d   C r e a t e V i r t u a l P o r t E x U s i n g D H C H A P ( [ O U T , D e s c r i p t i o n ( " R e t u r n   c o d e " )   :   A m e n d e d ]   u i n t 3 2   S t a t u s , [ I N , D e s c r i p t i o n ( " T h e   w o r l d   w i d e   p o r t   n a m e   o f   t h e   v i r t u a l   p o r t   t o   c r e a t e " )   :   A m e n d e d ]   u i n t 8   W W P N [ ] , [ I N , D e s c r i p t i o n ( " T h e   w o r l d   w i d e   n o d e   n a m e   t o   a s s o c i a t e   w i t h   t h e   c r e a t e d   v i r t u a l   p o r t " )   :   A m e n d e d ]   u i n t 8   W W N N [ ] , [ I N , D e s c r i p t i o n ( " A n   o p a q u e   t a g   p a s s e d   i n   b y   t h e   a p p .   1 2 8   b i t   s o   t h a t   a   g u i d   c a n   b e   s t o r e d   i n   i t . " )   :   A m e n d e d ]   u i n t 8   T a g [ ] , [ I N , D e s c r i p t i o n ( " P o r t   s y m b o l i c   n a m e " )   :   A m e n d e d ]   u i n t 1 6   V i r t u a l N a m e [ ] , [ I N , D e s c r i p t i o n ( " P a r a m e t e r s   n e c e s s a r y   t o   r e s p o n d   t o   a   D H - C H A P   c h a l l e n g e . " )   :   A m e n d e d ]   M S F C _ D H _ C h a p _ P a r a m e t e r s   C H A P ) ;  
     [ D e s c r i p t i o n ( " R e m o v e   a   v i r t u a l   p o r t   " )   :   A m e n d e d ]   v o i d   R e m o v e V i r t u a l P o r t E x ( [ O U T , D e s c r i p t i o n ( " R e t u r n   c o d e " )   :   A m e n d e d ]   u i n t 3 2   S t a t u s , [ I N , D e s c r i p t i o n ( " T h e   w o r l d   w i d e   p o r t   n a m e   o f   t h e   v i r t u a l   p o r t " )   :   A m e n d e d ]   u i n t 8   W W P N [ ] ) ;  
     [ D e s c r i p t i o n ( " R e s c a n   v i r t u a l   p o r t ,   i n c l u d i n g   a l l   l o g i c a l   b u s e s   a s s o c i a t e d   w i t h   t h a t   p o r t .   M i n i p o r t   i s   e x p e c t e d   t o   n o t i f y   S t o r p o r t   f o r   t a r g e t e d   b u s   r e s c a n " )   :   A m e n d e d ]   v o i d   R e s c a n V i r t u a l P o r t ( [ O U T , D e s c r i p t i o n ( " R e t u r n   C o d e " )   :   A m e n d e d ]   u i n t 3 2   S t a t u s , [ I N , D e s c r i p t i o n ( " T h e   w o r l d   w i d e   p o r t   n a m e   o f   t h e   v i r t u a l   p o r t " )   :   A m e n d e d ]   u i n t 8   W W P N [ ] ) ;  
 } ;  
  
 [ D e s c r i p t i o n ( " E m b e d d e d   c l a s s   t h a t   d e s c r i b e s   t h e     p r o p e r t i e s   o f   a   v i r t u a l   p o r t . " )   :   A m e n d e d , A M E N D M E N T ,   L O C A L E ( 0 x 0 4 0 9 ) ]    
 c l a s s   M S F C _ V i r t u a l F i b r e P o r t A t t r i b u t e s  
 {  
     [ D e s c r i p t i o n ( " S t a t u s   o f   t h e   v i r t u a l   p o r t " )   :   A m e n d e d ]   u i n t 3 2   S t a t u s ;  
     [ D e s c r i p t i o n ( " F C   I d " )   :   A m e n d e d ]   u i n t 3 2   F C I d ;  
     [ D e s c r i p t i o n ( " P o r t   s y m b o l i c   n a m e " )   :   A m e n d e d ]   u i n t 1 6   V i r t u a l N a m e [ ] ;  
     [ D e s c r i p t i o n ( " A n   o p a q u e   t a g   p a s s e d   i n   b y   t h e   a p p .   1 2 8   b i t   s o   t h a t   a   g u i d   c a n   b e   s t o r e d   i n   i t . " )   :   A m e n d e d ]   u i n t 8   T a g [ ] ;  
     [ D e s c r i p t i o n ( " T h e   w o r l d   w i d e   p o r t   n a m e   o f   t h e   v i r t u a l   p o r t " )   :   A m e n d e d ]   u i n t 8   W W P N [ ] ;  
     [ D e s c r i p t i o n ( " T h e   w o r l d   w i d e   n o d e   n a m e   o f   t h e   v i r t u a l   p o r t " )   :   A m e n d e d ]   u i n t 8   W W N N [ ] ;  
     [ D e s c r i p t i o n ( " T h e   w o r l d   w i d e   n o d e   n a m e   o f   f a b r i c " )   :   A m e n d e d ]   u i n t 8   F a b r i c W W N [ ] ;  
 } ;  
  
 [ D e s c r i p t i o n ( " R e t r i e v e   t h e   v i r t u a l   p o r t s   c r e a t e d   o n   a   p h y s i c a l   p o r t . " )   :   A m e n d e d , A M E N D M E N T ,   L O C A L E ( 0 x 0 4 0 9 ) ]    
 c l a s s   M S F C _ F i b r e P o r t N P I V A t t r i b u t e s  
 {  
     [ D e s c r i p t i o n ( " T h e   w o r l d   w i d e   p o r t   n a m e   o f   t h e   p h y s i c a l   p o r t " )   :   A m e n d e d ]   u i n t 8   W W P N [ ] ;  
     [ D e s c r i p t i o n ( " T h e   w o r l d   w i d e   n o d e   n a m e   o f   t h e   p h y s i c a l   p o r t " )   :   A m e n d e d ]   u i n t 8   W W N N [ ] ;  
     [ D e s c r i p t i o n ( " N u m b e r   o f   v i r t u a l   p o r t s   o n   t h i s   a d a p t e r . " )   :   A m e n d e d ]   u i n t 3 2   N u m b e r V i r t u a l P o r t s ;  
     [ D e s c r i p t i o n ( " A r r a y   o f   v i r t u a l   p o r t s . " )   :   A m e n d e d ]   M S F C _ V i r t u a l F i b r e P o r t A t t r i b u t e s   V i r t u a l P o r t s [ ] ;  
 } ;  
  
 [ D e s c r i p t i o n ( " L U N   t o   v i r t u a l   p o r t   m a p p i n g . " )   :   A m e n d e d , A M E N D M E N T ,   L O C A L E ( 0 x 0 4 0 9 ) ]    
 c l a s s   M S F C _ N P I V L U N M a p p i n g I n f o r m a t i o n  
 {  
     [ D e s c r i p t i o n ( " T h e   w o r l d   w i d e   p o r t   n a m e   o f   t h e   v i r t u a l   p o r t " )   :   A m e n d e d ]   u i n t 8   W W P N V i r t u a l P o r t [ ] ;  
     [ D e s c r i p t i o n ( " T h e   w o r l d   w i d e   p o r t   n a m e   o f   t h e   p h y s i c a l   p o r t " )   :   A m e n d e d ]   u i n t 8   W W P N P h y s i c a l P o r t [ ] ;  
 } ;  
  
 [ D e s c r i p t i o n ( " E x t e n d e d   L U N   t o   v i r t u a l   p o r t   m a p p i n g . " )   :   A m e n d e d , A M E N D M E N T ,   L O C A L E ( 0 x 0 4 0 9 ) ]    
 c l a s s   M S F C _ N P I V L U N M a p p i n g I n f o r m a t i o n E x  
 {  
     [ D e s c r i p t i o n ( " T h e   w o r l d   w i d e   p o r t   n a m e   o f   t h e   v i r t u a l   p o r t " )   :   A m e n d e d ]   u i n t 8   W W P N V i r t u a l P o r t [ ] ;  
     [ D e s c r i p t i o n ( " T h e   w o r l d   w i d e   p o r t   n a m e   o f   t h e   p h y s i c a l   p o r t " )   :   A m e n d e d ]   u i n t 8   W W P N P h y s i c a l P o r t [ ] ;  
     [ D e s c r i p t i o n ( " T h e   S C S I   P o r t   I D   a s s o c i a t e d   w i t h   t h i s   L U N ,   m a t c h i n g   t h e   S C S I _ A D D R E S S " )   :   A m e n d e d ]   u i n t 8   P o r t N u m b e r ;  
     [ D e s c r i p t i o n ( " T h e   S C S I   P a t h   I D   a s s o c i a t e d   w i t h   t h i s   L U N ,   m a t c h i n g   t h e   S C S I _ A D D R E S S " )   :   A m e n d e d ]   u i n t 8   O S B u s ;  
     [ D e s c r i p t i o n ( " T h e   S C S I   T a r g e t   I D   a s s o c i a t e d   w i t h   t h i s   L U N ,   m a t c h i n g   t h e   S C S I _ A D D R E S S " )   :   A m e n d e d ]   u i n t 8   O S T a r g e t ;  
     [ D e s c r i p t i o n ( " T h e   S C S I   L U N ,   m a t c h i n g   t h e   S C S I _ A D D R E S S " )   :   A m e n d e d ]   u i n t 8   O S L U N ;  
 } ;  
 Error downloading file: Thread was being aborted.