管理者特権を持つユーザー モード クライアントまたは User-Mode Driver Framework (UMDF) ドライバーを使用して、関心のあるデバイス サービスに対応する未承諾の通知を登録できるようにします。
構文
DWORD WlanRegisterDeviceServiceNotification(
HANDLE hClientHandle,
const PWLAN_DEVICE_SERVICE_GUID_LIST pDevSvcGuidList
);
パラメーター
hClientHandle
型: HANDLE
WlanOpenHandle 関数の前回の呼び出しによって取得されたクライアントのセッション ハンドル。
pDevSvcGuidList
型: CONST PWLAN_DEVICE_SERVICE_GUID_LIST
通知の受信に関心があるデバイス サービス GUID を表す定数WLAN_DEVICE_SERVICE_GUID_LIST構造体への省略可能なポインター。 構造体の dwIndex メンバーには、その dwNumberOfItems メンバーの値より小さい値が必要です。そうしないと、アクセス違反が発生する可能性があります。 この API を呼び出すたびに、前のデバイス サービスの一覧が新しいものに置き換えられます。
登録を解除するには、pDevSvcGuidList をnullptrに設定するか、dwNumberOfItems メンバーが 0 に設定されているWLAN_DEVICE_SERVICE_GUID_LIST構造体へのポインターを渡します。
戻り値
型: HRESULT
関数が成功した場合、戻り値は ERROR_SUCCESS。 関数が ERROR_ACCESS_DENIED で失敗した場合、呼び出し元には、この操作を実行するための十分なアクセス許可がありません。 呼び出し元は管理者特権を持っているか、UMDF ドライバーである必要があります。
注釈
WlanRegisterDeviceServiceNotification 関数は、WLAN デバイス サービス用の既存のネイティブ Wi-Fi API の拡張機能です。
クライアント アプリケーションは、この関数を呼び出して、関心のあるデバイス サービスの通知を登録および登録解除します。
この関数によって発生するデバイス サービスの通知を受信するための登録は、呼び出し元のアプリケーションが呼び出しハンドルを閉じた場合 (hClientHandle パラメーターを使用して WlanCloseHandle を呼び出すことによって)、またはプロセスが終了した場合に自動的に元に戻されます。
これらの通知を受信するには、クライアントで有効な pDevSvcGuidList パラメーターを使用してこの関数を呼び出す必要があります。また、dwNotifSource 引数が WLAN_NOTIFICATION_SOURCE_DEVICE_SERVICE (wlanapi.h で定義) の WlanRegisterNotification 関数も呼び出す必要があります。 デバイス サービスの通知を受信するための登録は、アプリケーションがクライアント ハンドルを閉じるか (hClientHandle パラメーターで WlanCloseHandle を呼び出すことによって)、プロセスが終了するか、または wlanRegisterDeviceServiceNotification が nullptr の pDevSvcGuidList 引数で呼び出されるか、dwNumberOfItems が 0 に設定されるまで有効です。
オペレーティング システム (OS) が独立系ハードウェア ベンダー (IHV) ドライバーからデバイス サービス通知を受信し、クライアントが WlanRegisterDeviceServiceNotification を使用してこれらの通知に登録すると、クライアントは WlanRegisterNotification の呼び出しによって登録したWLAN_NOTIFICATION_CALLBACKを介して通知を受信します。 このコールバックは、クライアントが受信したすべての通知に対して呼び出されます (通知ごとに個別のバッファーを使用)。
コールバック関数 (つまり、データ メンバー) によって受信されたWLAN_NOTIFICATION_DATA構造体の NotificationSource メンバーは、WLAN_NOTIFICATION_SOURCE_DEVICE_SERVICEに設定されます。 この通知に関連付けられているデータ BLOB、デバイス サービス GUID、およびオペコードは、WLAN_NOTIFICATION_DATAの pData メンバーに存在し、WLAN_DEVICE_SERVICE_NOTIFICATION_DATA型の構造を指します。
注
WLAN サービスまたは OS は、クライアントが登録するデバイス サービス GUIDが IHV ドライバーで実際にサポートされているかどうかを確認しません。 必要に応じて 、WlanGetSupportedDeviceServices API を使用してサポートされているデバイス サービスを照会するのはクライアントの責任です。
Requirements
| Requirement | 価値 |
|---|---|
| サポートされる最小クライアント | Windows 10 ビルド 20348 |
| サポートされている最小のサーバー | Windows 10 ビルド 20348 |
| Header | wlanapi.h |
| Library | OneCoreUAP.Lib |