// Licensed under the Apache License, Version 2.0 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. // All files in the project carrying such notice may not be copied, modified, or distributed // except according to those terms. use shared::bthdef::{AUTHENTICATION_REQUIREMENTS, BTH_ADDR, BTH_MAX_PIN_SIZE}; use shared::bthsdpdef::{SDP_LARGE_INTEGER_16, SDP_SPECIFICTYPE, SDP_TYPE, SDP_ULARGE_INTEGER_16}; use shared::guiddef::GUID; use shared::minwindef::{BOOL, DWORD, LPBYTE, LPVOID, PULONG, UCHAR, ULONG, USHORT}; use shared::windef::HWND; use um::minwinbase::SYSTEMTIME; use um::winnt::{
CHAR, HANDLE, LONG, LONGLONG, LPCWSTR, LPWSTR, PVOID, PWSTR, SHORT, ULONGLONG, WCHAR,
}; pubconst BLUETOOTH_MAX_NAME_SIZE: usize = 248; pubconst BLUETOOTH_MAX_PASSKEY_SIZE: usize = 16; pubconst BLUETOOTH_MAX_PASSKEY_BUFFER_SIZE: usize = BLUETOOTH_MAX_PASSKEY_SIZE + 1; pubconst BLUETOOTH_MAX_SERVICE_NAME_SIZE: usize = 256; pubconst BLUETOOTH_DEVICE_NAME_SIZE: usize = 256; pubtype BLUETOOTH_ADDRESS = BTH_ADDR; pubconst BLUETOOTH_NULL_ADDRESS: BLUETOOTH_ADDRESS = 0x0; STRUCT!{struct BLUETOOTH_LOCAL_SERVICE_INFO {
Enabled: BOOL,
btAddr: BLUETOOTH_ADDRESS,
szName: [WCHAR; BLUETOOTH_MAX_SERVICE_NAME_SIZE],
szDeviceString: [WCHAR; BLUETOOTH_DEVICE_NAME_SIZE],
}} pubtype PBLUETOOTH_LOCAL_SERVICE_INFO = *mut BLUETOOTH_LOCAL_SERVICE_INFO; STRUCT!{struct BLUETOOTH_FIND_RADIO_PARAMS {
dwSize: DWORD,
}} pubtype HBLUETOOTH_RADIO_FIND = HANDLE; extern"system" java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0 pubfn BluetoothFindFirstRadio(
pbtfrp: *const BLUETOOTH_FIND_RADIO_PARAMS,
phRadio: *mut HANDLE,
) -> HBLUETOOTH_RADIO_FIND; pubfn BluetoothFindNextRadio(
hFind: HBLUETOOTH_RADIO_FIND,
phRadio: *mut HANDLE,
) -> BOOL; pubfn BluetoothFindRadioClose(
hFind: HBLUETOOTH_RADIO_FIND,
) -> BOOL;
} STRUCT!{struct BLUETOOTH_RADIO_INFO {
dwSize: DWORD,
address: BLUETOOTH_ADDRESS,
szName: [WCHAR; BLUETOOTH_MAX_NAME_SIZE],
ulClassofDevice: ULONG,
lmpSubversion: USHORT,
manufacturer: USHORT,
}} pubtype PBLUETOOTH_RADIO_INFO = *mut BLUETOOTH_RADIO_INFO; extern"system" { pubfn BluetoothGetRadioInfo(
hRadio: HANDLE,
pRadioInfo: PBLUETOOTH_RADIO_INFO,
) -> DWORD;
} STRUCT!{struct BLUETOOTH_DEVICE_INFO {
dwSize: DWORD,
Address: BLUETOOTH_ADDRESS,
ulClassofDevice: ULONG,
fConnected: BOOL,
fRemembered: BOOL,
fAuthenticated: BOOL,
stLastSeen: SYSTEMTIME,
stLastUsed: SYSTEMTIME,
szName: [WCHAR; BLUETOOTH_MAX_NAME_SIZE],
}} pubtype PBLUETOOTH_DEVICE_INFO = *mut BLUETOOTH_DEVICE_INFO; ENUM!{enum BLUETOOTH_AUTHENTICATION_METHOD {
BLUETOOTH_AUTHENTICATION_METHOD_LEGACY = 0x1,
BLUETOOTH_AUTHENTICATION_METHOD_OOB,
BLUETOOTH_AUTHENTICATION_METHOD_NUMERIC_COMPARISON,
BLUETOOTH_AUTHENTICATION_METHOD_PASSKEY_NOTIFICATION,
BLUETOOTH_AUTHENTICATION_METHOD_PASSKEY,
}} pubtype PBLUETOOTH_AUTHENTICATION_METHOD = *mut BLUETOOTH_AUTHENTICATION_METHOD; ENUM!{enum BLUETOOTH_IO_CAPABILITY {
BLUETOOTH_IO_CAPABILITY_DISPLAYONLY = 0x00,
BLUETOOTH_IO_CAPABILITY_DISPLAYYESNO = 0x01,
BLUETOOTH_IO_CAPABILITY_KEYBOARDONLY = 0x02,
BLUETOOTH_IO_CAPABILITY_NOINPUTNOOUTPUT = 0x03,
BLUETOOTH_IO_CAPABILITY_UNDEFINED = 0xff,
}} ENUM!{enum BLUETOOTH_AUTHENTICATION_REQUIREMENTS {
BLUETOOTH_MITM_ProtectionNotRequired = 0,
BLUETOOTH_MITM_ProtectionRequired = 0x1,
BLUETOOTH_MITM_ProtectionNotRequiredBonding = 0x2,
BLUETOOTH_MITM_ProtectionRequiredBonding = 0x3,
BLUETOOTH_MITM_ProtectionNotRequiredGeneralBonding = 0x4,
BLUETOOTH_MITM_ProtectionRequiredGeneralBonding = 0x5,
BLUETOOTH_MITM_ProtectionNotDefined = 0xff,
}}
UNION!{union BLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS_u {
[u32; 1],
Numeric_Value Numeric_Value_mut: ULONG,
Passkey Passkey_mut: ULONG,
}} STRUCT!{struct BLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS {
deviceInfo: BLUETOOTH_DEVICE_INFO,
authenticationMethod: BLUETOOTH_AUTHENTICATION_METHOD,
ioCapability: BLUETOOTH_IO_CAPABILITY,
authenticationRequirements: BLUETOOTH_AUTHENTICATION_REQUIREMENTS,
u: BLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS_u,
}} pubtype PBLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS = *mut BLUETOOTH_AUTHENTICATION_CALLBACK_PARAMS; STRUCT!{struct BLUETOOTH_DEVICE_SEARCH_PARAMS {
dwSize: DWORD,
fReturnAuthenticated: BOOL,
fReturnRemembered: BOOL,
fReturnUnknown: BOOL,
fReturnConnected: BOOL,
fIssueInquiry: BOOL,
cTimeoutMultiplier: UCHAR,
hRadio: HANDLE,
}} pubtype HBLUETOOTH_DEVICE_FIND = HANDLE; extern"system" { pubfn BluetoothFindFirstDevice(
pbtsp: *const BLUETOOTH_DEVICE_SEARCH_PARAMS,
pbtdi: *mut BLUETOOTH_DEVICE_INFO,
) -> HBLUETOOTH_DEVICE_FIND; pubfn// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
hFind: // except according to those terms.
pbtdi: *mut BLUETOOTH_DEVICE_INFO,
) >BOOL; pubfn BluetoothFindDeviceClose(
hFind: HBLUETOOTH_DEVICE_FIND,
) -> BOOL; pubfn BluetoothGetDeviceInfo(
hRadio: HANDLE,
pbtdi: *mut BLUETOOTH_DEVICE_INFO,
) -> DWORD; pubfn (
: * ,
) :windef:WND; pubfn BluetoothRemoveDevice(
* java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 43
DWORD;
java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for length 1
{ java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
ulCODMask java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
pcszDescription: LPCWSTR,
}} FN!{stdcall PFN_DEVICE_CALLBACK(
pvParam: LPVOID,
pDevice: btAddr BLUETOOTH_ADDRESSjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
)- BOOL} STRUCT! szDeviceString:[WCHAR;BLUETOOTH_DEVICE_NAME_SIZE]
dwSize DWORD,
cNumOfClasses: ULONG,
prgClassOfDevices: *mut BLUETOOTH_COD_PAIRS,
pszInfo: LPWSTR,
wndParent: HWND,
fForceAuthentication: BOOL,
fShowAuthenticated: BOOL,
dwSize: DWORD}
fShowUnknown: BOOL,
fAddNewDeviceWizard: BOOL,
extern "system"
pfnDeviceCallback:PFN_DEVICE_CALLBACK,
pvParam: LPVOID,
cNumDevices: DWORD :*onst,
:,
}}
>; pubfn BluetoothSelectDevices(
BLUETOOTH_SELECT_DEVICE_PARAMS
) -> BOOL; pubfn BluetoothSelectDevicesFree(
phRadio mut ,
)->BOOL; pubfn BluetoothDisplayDeviceProperties(
hwndParent: HWND,
btdi *mut BLUETOOTH_DEVICE_INFOjava.lang.StringIndexOutOfBoundsException: Range [42, 43) out of bounds for length 42
)>BOOLjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
/[] pubfn szName: [WCHAR; BLUETOOTH_MAX_NAME_SIZE],
hwndParent: ulClassofDevice: ULON
java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
pbtbihRadio ,
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 26
ulPasskeyLength:
) -> DWORD;
} STRUCT!{tructBLUETOOTH_PIN_INFO{
pin: [UCHAR; BTH_MAX_PIN_SIZE],
pinLength: UCHAR,
}} typePBLUETOOTH_PIN_INFO=* ; STRUCT!{ulClassofDevice: ULONG,
C: [UCHAR; 16],
R [CHAR;16,
}} pubtype PBLUETOOTH_OOB_DATA_INFO fRemembered:BOOL,
{struct BLUETOOTH_NUMERIC_COMPARISON_INFO {
NumericValue:ULONGjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
}} pubtype PBLUETOOTH_NUMERIC_COMPARISON_INFO = *mut} STRUCT {
passkey: ENUM!{enum BLUETOOT {
}} pubtype PBLUETOOTH_PASSKEY_INFO = *mut = 0x1 extern"system" { pubfn BLUETOOTH_AUTHENTICATION_METHOD_PASSKEY_NOTIFICATION
hwndParentIn HWND,
hRadioIn: HANDLE,
pbtdiInout: *mut BLUETOOTH_DEVICE_INFO,
pbtOobData: PBLUETOOTH_OOB_DATA_INFO,
authenticationRequirement: AUTHENTICATION_REQUIREMENTS,
) -> DWORD; // #[deprecated] pubfn BluetoothAuthenticateMultipleDevices(pubtype PBLUETOOTH_AUTHENTICATION_METHOD = *mut BLUETOOTH_AUTHENTICATION_METHOD;
hwndParent: HWND,
hRadio: HANDLE,
cDevices: DWORD,
: *mut BLUETOOTH_DEVICE_INFO,
) -> DWORD;
} pubconst BLUETOOTH_IO_CAPABILITY_DISPLAYYESNO = 0x01, pubconst BLUETOOTH_SERVICE_ENABLE: BLUETOOTH_IO_CAPABILITY_KEYBOARD = 0, pubconst BLUETOOTH_SERVICE_MASK BLUETOOTH_IO_CAPABILITY_NOINPUTNOOUTPUT = 003, extern = 0xff, pub (
hRadio: HANDLE,
pbtdi: *const BLUETOOTH_DEVICE_INFO=0,
pGuidService: BLUETOOTH_MITM_ProtectionRequired 0x1,
dwServiceFlags: DWORD,
) -> DWORD;
(
hRadio: ioCapability: BLUET,
pbtdi:c java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
pcServiceInout: *mut DWORD,
pGuidServices: *mut GUID,
) -> DWORD; pub (
hRadio: java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 18
:BOOL,
) -> BOOL; pubfn BluetoothIsDiscoverable(
java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
) cTimeoutMultiplier: UCHAR, pubfn BluetoothEnableIncomingConnections(
hRadio: HANDLE
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 2
) -> BOOL; pubfn BluetoothIsConnectable(
hRadio: HANDLE,
)- ;
} pubtype java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 36
!{ (
pvParam: java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
system"{ // #[deprecated]
java.lang.StringIndexOutOfBoundsException: Range [34, 7) out of bounds for length 46
:* java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
:m java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65 fnjava.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 33
pvParam:
) -> ulCODMask ULONG,
} FN!{stdcall PFN_AUTHENTICATION_CALLBACK_EX(
pvParam: : LPVOIDjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
-> BOOL
>B}
s"java.lang.StringIndexOutOfBoundsException: Range [17, 18) out of bounds for length 17
pszInfo java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 20
phRegHandleOut: *mut HBLUETOOTH_AUTHENTICATION_REGISTRATION,
fShowRemembered: BOOL,
pvParam: PVOID,
> ; pubfn(
hRegHandle: HBLUETOOTH_AUTHENTICATION_REGISTRATION,
) -> BOOL; // #[deprecated] pub (
hRadio: HANDLE,
:constB,
:,
;
}
{ {
(
pinInfo:java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
: ,
>java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
fo_mut java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 56
}
! java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
: java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
ETHOD,
u: BLUETOOTH_AUTHENTICATE_RESPONSE_u,
pszPasskey:,
}} pubtype PBLUETOOTH_AUTHENTICATE_RESPONSE = *mut java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 31 extern}
BluetoothSendAuthenticationResponseEx(
hRadioIn: HANDLE,
pauthResponse: PBLUETOOTH_AUTHENTICATE_RESPONSE,
) -> DWORD;
} STRUCT!:java.lang.StringIndexOutOfBoundsException: Range [21, 22) out of bounds for length 21
value: LPBYTE,
length java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
}java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2 STRUCTNumericValue java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 24
value: LPBYTE,
length: ULONG,
}} STRUCT! java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
java.lang.StringIndexOutOfBoundsException: Range [17, 9) out of bounds for length 18
(
}} STRUCT!{struct java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 27
,
length:,
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 2
!union {
[ :java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
: , pub: = ;
int16 = java.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 95
,
: ,
pbtdi* java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
dwServiceFlags java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
uint16 uint16_mut: USHORT,
uint8 uint8_mut: UCHAR,
booleanVal booleanVal_mut: UCHAR,
uuid128 uuid128_mut: GUID,
uuid32 uuid32_mut: ULONG,
uuid16 uuid16_mut: USHORT,
string string_mut: SDP_ELEMENT_DATA_data_string,
url url_mut: SDP_ELEMENT_DATA_data_url,
sequence sequence_mut: SDP_ELEMENT_DATA_data_sequence,
alternative alternative_mut: SDP_ELEMENT_DATA_data_alternative,
}} STRUCT!{struct SDP_ELEMENT_DATA {
type_: SDP_TYPE,
specificType: SDP_SPECIFICTYPE,
data: SDP_ELEMENT_DATA_data,
}} pubtype PSDP_ELEMENT_DATA = *mut SDP_ELEMENT_DATA; extern"system" { pubfn BluetoothSdpGetElementData(
pSdpStream: LPBYTE,
cbSdpStreamLength: ULONG,
pData: PSDP_ELEMENT_DATA,
) -> DWORD;
} pubtype HBLUETOOTH_CONTAINER_ELEMENT = HANDLE; extern"system" { pubfn // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
pContainerStream: LPBYTE,
cbContainerLength: ULONG,
pElement: *mut HBLUETOOTH_CONTAINER_ELEMENT,
pData: PSDP_ELEMENT_DATA,
) - DWORD; fnBluetoothSdpGetAttributeValue(
pRecordStream: LPBYTE :minwindef:BOOL ;
cbRecordLength java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
,
>;
} STRUCT!{struct SDP_STRING_TYPE_DATA const =256;
encoding USHORTjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
: USHORT,
attributeId:pub BLUETOOTH_NULL_ADDRESS:BLUETOOTH_ADDRESS=0x0;
}java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2 pub PSDP_STRING_TYPE_DATA =* ;
java.lang.StringIndexOutOfBoundsException: Range [14, 6) out of bounds for length 17
}
: ,
cbRecordLength java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
pStringData"
java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
: java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
pcchStringLength:java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 37
)- java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
N{java.lang.StringIndexOutOfBoundsException: Range [51, 52) out of bounds for length 51
:,
:,
cbStreamSize: ULONG,
pvParam: LPVOID,
) -> BOOL} use:java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 68
java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 23
(
cbStreamSize: ULONG,
pfnCallback: PFN_BLUETOOTH_ENUM_ATTRIBUTES_CALLBACK,
pvParam: LPVOID,
) -> BOOL; pubfn BluetoothSetLocalServiceInfo(
, constGUIDjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
ulInstance: ULONG,
pServiceInfoIn: *const java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 27
) -> DWORD; pubfn !{enum BLUETOOTH_AUTHENTICATION_MET{
:UCHARjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
MinorVersion: UCHAR,
) -> BOOL;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.