A communication apparatus, comprising: a first detection means for detecting based on a communication in a wireless LAN communication layer one or more external communication apparatuses which are capable of providing a predetermined service, after the communication apparatus has constructed a wireless network with a first external communication apparatus according to Wi-Fi Direct specifications; a second detection means for detecting based on a communication via the wireless network in a network communication layer that is different from the wireless LAN communication layer whether the first external communication apparatus is capable of providing the predetermined service, if no response informing the capability of providing the predetermined service has been received at the wireless LAN communication layer from the first external communication apparatus; a service usage means for starting the predetermined service based on detection of an external communication apparatus by the first detection means or based on detection by the second detection means that the first external communication apparatus is capable of providing the predetermined service; the second detection means being further configured to detect whether a second external communication apparatus already detected by the first detection means is capable of providing the predetermined service based on a communication via the wireless network in the said network communication layer, after the communication apparatus has terminated the wireless network constructed with the first external communication apparatus and constructed a wireless network with the second external communication apparatus according to Wi-Fi Direct specifications; the service usage means being further configured to start the predetermined service based on detection by the second detection means that the second external communication apparatus is capable of providing the predetermined service; and error processing means for causing display means of the communication apparatus to display a message indicating that the predetermined service cannot be provided when the first and second detection means have not detected an external communication apparatus capable of providing the predetermined service. a first detection means for detecting based on a communication in a wireless LAN communication layer one or more external communication apparatuses which are capable of providing a predetermined service, after the communication apparatus has constructed a wireless network with a first external communication apparatus according to Wi-Fi Direct specifications; a second detection means for detecting based on a communication via the wireless network in a network communication layer that is different from the wireless LAN communication layer whether the first external communication apparatus is capable of providing the predetermined service, if no response informing the capability of providing the predetermined service has been received at the wireless LAN communication layer from the first external communication apparatus; a service usage means for starting the predetermined service based on detection of an external communication apparatus by the first detection means or based on detection by the second detection means that the first external communication apparatus is capable of providing the predetermined service; the second detection means being further configured to detect whether a second external communication apparatus already detected by the first detection means is capable of providing the predetermined service based on a communication via the wireless network in the said network communication layer, after the communication apparatus has terminated the wireless network constructed with the first external communication apparatus and constructed a wireless network with the second external communication apparatus according to Wi-Fi Direct specifications; the service usage means being further configured to start the predetermined service based on detection by the second detection means that the second external communication apparatus is capable of providing the predetermined service; and error processing means for causing display means of the communication apparatus to display a message indicating that the predetermined service cannot be provided when the first and second detection means have not detected an external communication apparatus capable of providing the predetermined service.