2.2.30 FAX_DEVICE_PROVIDER_INFO

An array of the FAX_DEVICE_PROVIDER_INFO data type can be passed as an out parameter (as a byte array) in a FAX_EnumerateProviders (section 3.1.4.1.19) call.

This data structure is custom marshaled as follows and uses the custom-marshaling rules defined in section 2.2.1.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Fixed_Portion (52 bytes)

...

...

...

Variable_Data (variable)

...

Fixed_Portion (52 bytes):


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

dwSizeOfStruct

lpcwstrFriendlyNameOffset

lpcwstrImageNameOffset

lpcwstrProviderNameOffset

lpcwstrGUIDOffset

dwCapabilities

Version_Fixed_Portion (20 bytes)

...

...

...

Status

dwLastError

dwSizeOfStruct (4 bytes): A DWORD ([MS-DTYP] section 2.2.9) that holds the size, in bytes, of the structure. MUST be set to 52 bytes.

lpcwstrFriendlyNameOffset (4 bytes): Offset to the lpcwstrFriendlyName field in the Variable_Data portion of the structure.

lpcwstrImageNameOffset (4 bytes): Offset to the lpcwstrImageName field in the Variable_Data portion of the structure.

lpcwstrProviderNameOffset (4 bytes): Offset to the lpcwstrProviderName field in the Variable_Data portion of the structure.

lpcwstrGUIDOffset (4 bytes): Offset to the lpcwstrGUID field in the Variable_Data portion of the structure.

dwCapabilities (4 bytes): A DWORD variable that holds the bitwise combination of capabilities of the FSP. This value MUST be set to zero.

Version_Fixed_Portion (20 bytes): A FAX_VERSION (section 2.2.22) structure that holds the version of the fax service execution components.

Status (4 bytes): A FAX_ENUM_PROVIDER_STATUS (section 2.2.57) enumeration which holds the status of the FSP.

dwLastError (4 bytes): A DWORD that holds the error code that was encountered while the provider was loaded and initialized.

Variable_Data (variable):


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

lpcwstrFriendlyName (variable)

...

lpcwstrImageName (variable)

...

lpcwstrProviderName (variable)

...

lpcwstrGUID (variable)

...

lpcwstrFriendlyName (variable): A null-terminated string, which holds the FSP's user-friendly name suitable for display.

lpcwstrImageName (variable): A null-terminated string which holds the full path and file name for the FSP execution components.<9>

lpcwstrProviderName (variable): A null-terminated string which holds the name of the telephony service provider associated with the devices for the FSP.

lpcwstrGUID (variable): A null-terminated string which holds the GUID for the FSP.